]> sigrok.org Git - sigrok-cli.git/blobdiff - sigrok-cli.c
cli: when deciding which PD's output to show, use instance id
[sigrok-cli.git] / sigrok-cli.c
index 22b81178063929ce8043a3c8f1e33cdfa31966b2..0b5a01fbcb6464b013f9bcde9574d54aee01b49d 100644 (file)
@@ -494,7 +494,7 @@ static int register_pds(struct sr_device *device, const char *pdstring)
                        fprintf(stderr, "Failed to instantiate PD %s\n", pd_name);
                        goto err_out;
                }
-               g_datalist_set_data(&pd_ann_visible, pd_name, pd_name);
+               g_datalist_set_data(&pd_ann_visible, di->instance_id, pd_name);
        }
 
        /* Any keys left in the options hash are probes, where the key
@@ -525,7 +525,7 @@ void show_pd_annotation(struct srd_proto_data *pdata)
                return;
        }
 
-       if (!g_datalist_get_data(&pd_ann_visible, pdata->pdo->proto_id)) {
+       if (!g_datalist_get_data(&pd_ann_visible, pdata->pdo->di->instance_id)) {
                /* not in the list of PDs whose annotations we're showing */
                return;
        }
@@ -1021,7 +1021,7 @@ int main(int argc, char **argv)
        }
 
        if (opt_pd_stack) {
-               pds = g_strsplit(opt_pd_stack, ":", 0);
+               pds = g_strsplit(opt_pd_stack, ",", 0);
                if (g_strv_length(pds) < 2) {
                        printf("Specify at least two protocol decoders to stack.\n");
                        return 1;