app.c: Throw warnings for nonexistent options

Currently, Asterisk doesn't throw warnings if options
are passed into applications that don't accept them.
This can confuse users if they're unaware that they
are doing something wrong.

This adds an additional check to parse_options so that
a warning is thrown anytime an option is parsed that
doesn't exist in the parsing application, so that users
are notified of the invalid usage.

ASTERISK-29801 #close

Change-Id: Id029274a57135caca193c913307a63fd75e24679
pull/24/head
Naveen Albert 3 years ago committed by Friendly Automation
parent 4f06de7cf8
commit b951821eb7

@ -2937,6 +2937,9 @@ static int parse_options(const struct ast_app_option *options, void *_flags, cha
} else if (argloc) {
args[argloc - 1] = "";
}
if (!options[curarg].flag) {
ast_log(LOG_WARNING, "Unrecognized option: '%c'\n", curarg);
}
if (flaglen == 32) {
ast_set_flag(flags, options[curarg].flag);
} else {

Loading…
Cancel
Save