]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
app.c: Throw warnings for nonexistent options
authorNaveen Albert <asterisk@phreaknet.org>
Mon, 13 Dec 2021 00:08:26 +0000 (00:08 +0000)
committerFriendly Automation <jenkins2@gerrit.asterisk.org>
Wed, 15 Dec 2021 00:09:00 +0000 (18:09 -0600)
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

main/app.c

index c20e3705d9df6ae38db4560ecea2051352e24200..5be8457ec3b385867918cfea6796358d502a30a4 100644 (file)
@@ -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 {