X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=input.c;h=c483546000897a1a1c823f9052543a6327ab0e01;hb=426d0cdaa91051c30d45055b3c10662fd392ea5a;hp=4d3f358ab1316abafee71587085de4a3e83615eb;hpb=8d52f788755a9666e7053c2d411fec069f5afc4c;p=sigrok-cli.git diff --git a/input.c b/input.c index 4d3f358..c483546 100644 --- a/input.c +++ b/input.c @@ -131,7 +131,7 @@ static void load_input_file_format(void) } } - if (select_probes(in->sdi) > 0) + if (select_probes(in->sdi) != SR_OK) return; sr_session_new(); @@ -152,9 +152,23 @@ static void load_input_file_format(void) void load_input_file(void) { + GSList *sessions; + struct sr_dev_inst *sdi; + int ret; if (sr_session_load(opt_input_file) == SR_OK) { /* sigrok session file */ + ret = sr_session_dev_list(&sessions); + if (ret != SR_OK || !sessions->data) { + g_critical("Failed to access session device."); + sr_session_destroy(); + return; + } + sdi = sessions->data; + if (select_probes(sdi) != SR_OK) { + sr_session_destroy(); + return; + } sr_session_datafeed_callback_add(datafeed_in, NULL); sr_session_start(); sr_session_run(); @@ -165,4 +179,3 @@ void load_input_file(void) load_input_file_format(); } } -