]> sigrok.org Git - sigrok-cli.git/blobdiff - main.c
parsers: extend options parser, support optional ID in key-value lists
[sigrok-cli.git] / main.c
diff --git a/main.c b/main.c
index aa4f1229888fa91f961cce2d88dd32e1cd93c997..db2bdc016df58f86eef252345f02b667b6c3316d 100644 (file)
--- a/main.c
+++ b/main.c
@@ -136,11 +136,11 @@ static void get_option(void)
                return;
        }
 
-       cg = select_channel_group(sdi);
+       cg = lookup_channel_group(sdi);
        if (!(ci = sr_key_info_name_get(SR_KEY_CONFIG, opt_get)))
                g_critical("Unknown option '%s'", opt_get);
 
-       if ((devargs = parse_generic_arg(opt_config, FALSE)))
+       if ((devargs = parse_generic_arg(opt_config, FALSE, NULL)))
                set_dev_options(sdi, devargs);
        else
                devargs = NULL;
@@ -186,7 +186,7 @@ static void set_options(void)
                return;
        }
 
-       if (!(devargs = parse_generic_arg(opt_config, FALSE)))
+       if (!(devargs = parse_generic_arg(opt_config, FALSE, NULL)))
                return;
 
        if (!(devices = device_scan())) {
@@ -224,6 +224,11 @@ int main(int argc, char **argv)
                goto done;
 
 #ifdef HAVE_SRD
+       if (opt_pd_binary && !opt_pds) {
+               g_critical("Option -B will not take effect in the absence of -P.");
+               goto done;
+       }
+
        /* Set the loglevel (amount of messages to output) for libsigrokdecode. */
        if (srd_log_loglevel_set(opt_loglevel) != SRD_OK)
                goto done;