summaryrefslogtreecommitdiff
path: root/src/report.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/report.cc')
-rw-r--r--src/report.cc10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/report.cc b/src/report.cc
index 60f6955c..fe482a2e 100644
--- a/src/report.cc
+++ b/src/report.cc
@@ -413,6 +413,9 @@ namespace {
args.value().as_sequence().end();
std::pair<expr_t, query_parser_t> info = args_to_predicate(begin, end);
+ if (! info.first)
+ throw_(std::runtime_error,
+ _("Invalid query predicate: %1") << join_args(args));
string limit = info.first.text();
if (! limit.empty())
@@ -422,7 +425,12 @@ namespace {
"Predicate = " << report.HANDLER(limit_).str());
if (info.second.tokens_remaining()) {
- string display = args_to_predicate(info.second).first.text();
+ info = args_to_predicate(info.second);
+ if (! info.first)
+ throw_(std::runtime_error,
+ _("Invalid display predicate: %1") << join_args(args));
+
+ string display = info.first.text();
if (! display.empty())
report.HANDLER(display_).on(whence, display);