X-Git-Url: https://sigrok.org/gitweb/?p=sigrok-cli.git;a=blobdiff_plain;f=show.c;h=5243e53cc07aad1817b37cbd2bb2132a57ce83ac;hp=9ce35b4a61b4360e39dcc03cbc6c985371a580bb;hb=HEAD;hpb=d4b0eec33f5f74723327305f5230ac258ba250b7 diff --git a/show.c b/show.c index 9ce35b4..85b4409 100644 --- a/show.c +++ b/show.c @@ -418,7 +418,7 @@ void show_dev_detail(void) char *tmp_str, *s, c; const char **stropts; double tmp_flt; - gboolean have_tmp_flt; + gboolean have_tmp_flt, have_curr; const double *fltopts; if (parse_driver(opt_drv, &driver_from_opt, NULL)) { @@ -465,8 +465,11 @@ void show_dev_detail(void) printf("Channel groups:\n"); for (cgl = channel_groups; cgl; cgl = cgl->next) { cg = cgl->data; - printf(" %s: channel%s", cg->name, - g_slist_length(cg->channels) > 1 ? "s" : ""); + printf(" %s: ", cg->name); + if (g_slist_length(cg->channels) == 0) + printf("No channels"); + else + printf("channel%s", g_slist_length(cg->channels) > 1 ? "s" : ""); for (chl = cg->channels; chl; chl = chl->next) { ch = chl->data; printf(" %s", ch->name); @@ -715,12 +718,11 @@ void show_dev_detail(void) continue; } + have_curr = FALSE; if (maybe_config_get(driver, sdi, channel_group, key, &gvar) == SR_OK) { g_variant_get(gvar, "(dd)", &dcur_low, &dcur_high); g_variant_unref(gvar); - } else { - dcur_low = 0; - dcur_high = 0; + have_curr = TRUE; } num_elements = g_variant_n_children(gvar_list); @@ -731,6 +733,8 @@ void show_dev_detail(void) if (i) printf(", "); printf("%.1f-%.1f", dlow, dhigh); + if (!have_curr) + continue; if (dlow == dcur_low && dhigh == dcur_high) printf(" (current)"); }