From: Bert Vermeulen Date: Sat, 2 Aug 2014 23:19:55 +0000 (+0200) Subject: Better output module checking. X-Git-Tag: sigrok-cli-0.6.0~81 X-Git-Url: https://sigrok.org/gitweb/?p=sigrok-cli.git;a=commitdiff_plain;h=e786e625d3e3b63ea5e85b98c9e1f0281abdc2d5 Better output module checking. --- diff --git a/session.c b/session.c index 46bb4d9..39eb164 100644 --- a/session.c +++ b/session.c @@ -174,7 +174,8 @@ void datafeed_in(const struct sr_dev_inst *sdi, switch (packet->type) { case SR_DF_HEADER: g_debug("cli: Received SR_DF_HEADER."); - o = setup_output_format(sdi); + if (!(o = setup_output_format(sdi))) + g_critical("Failed to initialize output module."); /* Set up backup analog output module. */ oa = sr_output_new(sr_output_find("analog"), NULL, sdi); diff --git a/show.c b/show.c index 817a65f..4c0cd8f 100644 --- a/show.c +++ b/show.c @@ -649,9 +649,10 @@ void show_output(void) const struct sr_output_module *omod; const struct sr_option *opt; GSList *l; - char *s; + char *s, **tok; - if (!(omod = sr_output_find(opt_output_format))) + tok = g_strsplit(opt_output_format, ":", 0); + if (!tok[0] || !(omod = sr_output_find(tok[0]))) g_critical("Output module '%s' not found.", opt_output_format); printf("ID: %s\nName: %s\n", sr_output_id_get(omod), @@ -680,5 +681,6 @@ void show_output(void) } sr_output_options_free(omod); } + g_strfreev(tok); }