diff options
Diffstat (limited to 'src/report.cc')
-rw-r--r-- | src/report.cc | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/src/report.cc b/src/report.cc index 7755c911..281057d3 100644 --- a/src/report.cc +++ b/src/report.cc @@ -380,26 +380,24 @@ namespace { value_t::sequence_t::const_iterator end = args.value().as_sequence().end(); - std::pair<value_t::sequence_t::const_iterator, expr_t> - info = args_to_predicate(begin, end); - begin = info.first; + std::pair<expr_t, query_parser_t> info = args_to_predicate(begin, end); - string limit = info.second.text(); + string limit = info.first.text(); if (! limit.empty()) report.HANDLER(limit_).on(whence, limit); DEBUG("report.predicate", "Predicate = " << report.HANDLER(limit_).str()); - string display; - if (begin != end) - display = args_to_predicate(begin, end).second.text(); + if (info.second.tokens_remaining()) { + string display = args_to_predicate(info.second).first.text(); - if (! display.empty()) - report.HANDLER(display_).on(whence, display); + if (! display.empty()) + report.HANDLER(display_).on(whence, display); - DEBUG("report.predicate", - "Display predicate = " << report.HANDLER(display_).str()); + DEBUG("report.predicate", + "Display predicate = " << report.HANDLER(display_).str()); + } } (report.*report_method)(handler_ptr(handler)); |