X-Git-Url: https://sigrok.org/gitweb/?p=sigrok-cli.git;a=blobdiff_plain;f=show.c;h=9ce35b4a61b4360e39dcc03cbc6c985371a580bb;hp=a6573e5a3acea9e241b81ad80964f18f9fbbc20a;hb=d4b0eec33f5f74723327305f5230ac258ba250b7;hpb=9a6e8ec4bc84d94e27c9a004a7b75caaa0ba7124 diff --git a/show.c b/show.c index a6573e5..9ce35b4 100644 --- a/show.c +++ b/show.c @@ -22,6 +22,10 @@ #include #include "sigrok-cli.h" +#define DECODERS_HAVE_TAGS \ + ((SRD_PACKAGE_VERSION_MAJOR > 0) || \ + (SRD_PACKAGE_VERSION_MAJOR == 0) && (SRD_PACKAGE_VERSION_MINOR > 5)) + static gint sort_inputs(gconstpointer a, gconstpointer b) { return strcmp(sr_input_id_get((struct sr_input_module *)a), @@ -235,11 +239,13 @@ void show_supported_wiki(void) for (l = sl; l; l = l->next) { dec = l->data; +#if DECODERS_HAVE_TAGS GString *tags = g_string_new(NULL); for (GSList *t = dec->tags; t; t = t->next) g_string_append_printf(tags, "%s, ", (char *)t->data); if (tags->len != 0) g_string_truncate(tags, tags->len - 2); +#endif GString *in = g_string_new(NULL); for (GSList *t = dec->inputs; t; t = t->next) @@ -257,11 +263,19 @@ void show_supported_wiki(void) else g_string_truncate(out, out->len - 2); +#if DECODERS_HAVE_TAGS printf("{{pd|%s|%s|%s|%s|%s|%s|%s|supported}}\n", dec->id, dec->name, dec->longname, dec->desc, tags->str, in->str, out->str); +#else + printf("{{pd|%s|%s|%s|%s|%s|%s|supported}}\n", + dec->id, dec->name, dec->longname, dec->desc, + in->str, out->str); +#endif +#if DECODERS_HAVE_TAGS g_string_free(tags, TRUE); +#endif g_string_free(in, TRUE); g_string_free(out, TRUE); } @@ -441,7 +455,7 @@ void show_dev_detail(void) * returned, or which values for them. */ select_channels(sdi); - channel_group = lookup_channel_group(sdi); + channel_group = lookup_channel_group(sdi, NULL); if (!(opts = sr_dev_options(driver, sdi, channel_group))) /* Driver supports no device instance options. */ @@ -880,6 +894,7 @@ static void show_pd_detail_single(const char *pd) printf("None.\n"); } printf("Decoder tags:\n"); +#if DECODERS_HAVE_TAGS if (dec->tags) { for (l = dec->tags; l; l = l->next) { str = l->data; @@ -888,6 +903,7 @@ static void show_pd_detail_single(const char *pd) } else { printf("None.\n"); } +#endif printf("Annotation classes:\n"); if (dec->annotations) { for (l = dec->annotations; l; l = l->next) {