X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=show.c;h=dbbc63288d7bf11cabea25f721c9032a93001633;hb=015d65892ec98a2969af4b81d1e5941e8fb7c7b6;hp=1c5aad09f47760e4d6752a5236311da58926b374;hpb=6293db8aea090170eced25d6f92c348b013ea475;p=sigrok-cli.git diff --git a/show.c b/show.c index 1c5aad0..dbbc632 100644 --- a/show.c +++ b/show.c @@ -58,13 +58,65 @@ static gint sort_pds(gconstpointer a, gconstpointer b) void show_version(void) { + GString *s; + GSList *l, *l_orig, *m; + char *str; + const char *lib, *version; + printf("sigrok-cli %s\n\n", SC_PACKAGE_VERSION_STRING); - printf("Using libsigrok %s (lib version %s).\n", - sr_package_version_string_get(), sr_lib_version_string_get()); + printf("Libraries and features:\n"); + + printf("- libsigrok %s/%s (rt: %s/%s).\n", + SR_PACKAGE_VERSION_STRING, SR_LIB_VERSION_STRING, + sr_package_version_string_get(), sr_lib_version_string_get()); + + s = g_string_sized_new(200); + g_string_append(s, " - Libs:\n"); + l_orig = sr_buildinfo_libs_get(); + for (l = l_orig; l; l = l->next) { + m = l->data; + lib = m->data; + version = m->next->data; + g_string_append_printf(s, " - %s %s\n", lib, version); + g_slist_free_full(m, g_free); + } + g_slist_free(l_orig); + s->str[s->len - 1] = '\0'; + printf("%s\n", s->str); + g_string_free(s, TRUE); + + str = sr_buildinfo_host_get(); + printf(" - Host: %s.\n", str); + g_free(str); + + str = sr_buildinfo_scpi_backends_get(); + printf(" - SCPI backends: %s.\n", str); + g_free(str); + #ifdef HAVE_SRD - printf("Using libsigrokdecode %s (lib version %s).\n\n", - srd_package_version_string_get(), srd_lib_version_string_get()); + printf("- libsigrokdecode %s/%s (rt: %s/%s).\n", + SRD_PACKAGE_VERSION_STRING, SRD_LIB_VERSION_STRING, + srd_package_version_string_get(), srd_lib_version_string_get()); + + s = g_string_sized_new(200); + g_string_append(s, " - Libs:\n"); + l_orig = srd_buildinfo_libs_get(); + for (l = l_orig; l; l = l->next) { + m = l->data; + lib = m->data; + version = m->next->data; + g_string_append_printf(s, " - %s %s\n", lib, version); + g_slist_free_full(m, g_free); + } + g_slist_free(l_orig); + s->str[s->len - 1] = '\0'; + printf("%s\n", s->str); + g_string_free(s, TRUE); + + str = srd_buildinfo_host_get(); + printf(" - Host: %s.\n", str); + g_free(str); #endif } @@ -269,7 +321,8 @@ void show_dev_detail(void) GVariant *gvar_dict, *gvar_list, *gvar; gsize num_elements; double dlow, dhigh, dcur_low, dcur_high; - const uint64_t *uint64, p, q, low, high; + const uint64_t *uint64; + uint64_t p = 0, q = 0, low = 0, high = 0; uint64_t tmp_uint64, mask, cur_low, cur_high, cur_p, cur_q; GArray *opts; const int32_t *int32; @@ -717,6 +770,15 @@ static void show_pd_detail_single(const char *pd) } else { printf("None.\n"); } + printf("Decoder tags:\n"); + if (dec->tags) { + for (l = dec->tags; l; l = l->next) { + str = l->data; + printf("- %s\n", str); + } + } else { + printf("None.\n"); + } printf("Annotation classes:\n"); if (dec->annotations) { for (l = dec->annotations; l; l = l->next) {