Bugfix: Also clear the command parser’s stack upon invalid commands (Thanks helgikrs)

Fixes: #652
This commit is contained in:
Michael Stapelberg
2012-03-21 17:20:07 +01:00
parent 607ba6fcde
commit 2abfb5a88b
2 changed files with 13 additions and 1 deletions

View File

@ -91,7 +91,9 @@ static void push_string(const char *identifier, char *str) {
/* When we arrive here, the stack is full. This should not happen and
* means theres either a bug in this parser or the specification
* contains a command with more than 10 identified tokens. */
printf("argh! stack full\n");
fprintf(stderr, "BUG: commands_parser stack full. This means either a bug "
"in the code, or a new command which contains more than "
"10 identified tokens.\n");
exit(1);
}
@ -392,6 +394,7 @@ struct CommandResult *parse_command(const char *input) {
free(position);
free(errormessage);
clear_stack();
break;
}
}