diff options
-rw-r--r-- | src/textual.cc | 2 | ||||
-rw-r--r-- | test/regress/553.test | 20 |
2 files changed, 22 insertions, 0 deletions
diff --git a/src/textual.cc b/src/textual.cc index 16054445..1c476532 100644 --- a/src/textual.cc +++ b/src/textual.cc @@ -810,6 +810,8 @@ void instance_t::apply_directive(char * line) { char * b = next_element(line); string keyword(line); + if (! b) + throw_(parse_error, _f("Directive 'apply %1%' requires an argument") % keyword); if (keyword == "account") apply_account_directive(b); else if (keyword == "tag") diff --git a/test/regress/553.test b/test/regress/553.test new file mode 100644 index 00000000..d7a833af --- /dev/null +++ b/test/regress/553.test @@ -0,0 +1,20 @@ +# Test for missing arguments +apply account +apply tag +apply fixed +apply rate +apply year + +test -f - bal -> 5 +__ERROR__ +While parsing file "", line 2: +Error: Directive 'apply account' requires an argument +While parsing file "", line 3: +Error: Directive 'apply tag' requires an argument +While parsing file "", line 4: +Error: Directive 'apply fixed' requires an argument +While parsing file "", line 5: +Error: Directive 'apply rate' requires an argument +While parsing file "", line 6: +Error: Directive 'apply year' requires an argument +end test |