X-Git-Url: https://sigrok.org/gitweb/?p=sigrok-cli.git;a=blobdiff_plain;f=sigrok-cli.c;h=ac84e1d2144fb5e211f687629e336140b83250df;hp=ac860e4dae93922cdfa7713a8323a9b3a7003c04;hb=b4584f8dc3b0e7209b7ff819de2991cb09f5a4af;hpb=61d33a0f49b3c8bc6cc2dfafaaa7d2a1c9d8b1e0 diff --git a/sigrok-cli.c b/sigrok-cli.c index ac860e4..ac84e1d 100644 --- a/sigrok-cli.c +++ b/sigrok-cli.c @@ -2015,20 +2015,29 @@ int main(int argc, char **argv) } if (register_pds(NULL, opt_pds) != 0) goto done; - if (srd_pd_output_callback_add(srd_sess, SRD_OUTPUT_ANN, - show_pd_annotations, NULL) != SRD_OK) - goto done; if (setup_pd_stack() != 0) goto done; - if (opt_pd_annotations) - if (setup_pd_annotations() != 0) + + /* Only one output type is ever shown. */ + if (opt_pd_binary) { + if (setup_pd_binary() != 0) + goto done; + if (srd_pd_output_callback_add(srd_sess, SRD_OUTPUT_BINARY, + show_pd_binary, NULL) != SRD_OK) goto done; - if (opt_pd_meta) { + } else if (opt_pd_meta) { if (setup_pd_meta() != 0) goto done; if (srd_pd_output_callback_add(srd_sess, SRD_OUTPUT_META, show_pd_meta, NULL) != SRD_OK) goto done; + } else { + if (opt_pd_annotations) + if (setup_pd_annotations() != 0) + goto done; + if (srd_pd_output_callback_add(srd_sess, SRD_OUTPUT_ANN, + show_pd_annotations, NULL) != SRD_OK) + goto done; } } #endif