X-Git-Url: https://sigrok.org/gitweb/?p=sigrok-cli.git;a=blobdiff_plain;f=session.c;h=152f9790b818bcffc94a1e81b1796852abbe8ce4;hp=5d92362e714bf87175b616495a3f3a3e5c844e78;hb=b7360ee68139ab6377876ba72e2a9fd56135db7f;hpb=f0de24ffe36fb3e983e347e607c522f32a963e25 diff --git a/session.c b/session.c index 5d92362..152f979 100644 --- a/session.c +++ b/session.c @@ -130,9 +130,6 @@ const struct sr_transform *setup_transform_module(const struct sr_dev_inst *sdi) GHashTable *fmtargs, *fmtopts; char *fmtspec; - if (!opt_transform_module) - opt_transform_module = "nop"; - fmtargs = parse_generic_arg(opt_transform_module, TRUE); fmtspec = g_hash_table_lookup(fmtargs, "sigrok_key"); if (!fmtspec) @@ -580,12 +577,18 @@ void run_session(void) } } + /* This is unlikely to happen but it makes static analyzers stop complaining. */ + if (!devices) { + g_critical("No real devices found."); + return; + } + sdi = devices->data; g_slist_free(devices); g_slist_free(real_devices); sr_session_new(sr_ctx, &session); - sr_session_datafeed_callback_add(session, datafeed_in, NULL); + sr_session_datafeed_callback_add(session, datafeed_in, session); if (sr_dev_open(sdi) != SR_OK) { g_critical("Failed to open device."); @@ -672,7 +675,7 @@ void run_session(void) if (opt_frames) { if ((sr_parse_sizestring(opt_frames, &limit_frames) != SR_OK)) { - g_critical("Invalid sample limit '%s'.", opt_samples); + g_critical("Invalid frame limit '%s'.", opt_frames); sr_session_destroy(session); return; } @@ -684,8 +687,10 @@ void run_session(void) } } - if (!(t = setup_transform_module(sdi))) - g_critical("Failed to initialize transform module."); + if (opt_transform_module) { + if (!(t = setup_transform_module(sdi))) + g_critical("Failed to initialize transform module."); + } main_loop = g_main_loop_new(NULL, FALSE);