cmdline: Check options array for not working flag combinations
authorMichael Niedermayer <michaelni@gmx.at>
Sat, 9 May 2015 11:07:21 +0000 (13:07 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Sat, 9 May 2015 11:07:21 +0000 (13:07 +0200)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
cmdutils.c

index ed6951f..db89256 100644 (file)
@@ -482,10 +482,22 @@ static void dump_argument(const char *a)
     fputc('"', report_file);
 }
 
+static void check_options(const OptionDef *po)
+{
+    while (po->name) {
+        if (po->flags & OPT_PERFILE)
+            av_assert0(po->flags & (OPT_INPUT | OPT_OUTPUT));
+        po++;
+    }
+}
+
 void parse_loglevel(int argc, char **argv, const OptionDef *options)
 {
     int idx = locate_option(argc, argv, options, "loglevel");
     const char *env;
+
+    check_options(options);
+
     if (!idx)
         idx = locate_option(argc, argv, options, "v");
     if (idx && argv[idx + 1])