X-Git-Url: https://sigrok.org/gitweb/?p=sigrok-cli.git;a=blobdiff_plain;f=input.c;h=8cbfbc7edf17940e2093778a4def4d398fe62e59;hp=7ef694d4bad2e9a3a429d4debc68fe593d698cdc;hb=0b34fecd023e6b2d2fd70e67c6c4f59bb06e299b;hpb=2be182e6437fb082aedca653fdc106d702518db0
diff --git a/input.c b/input.c
index 7ef694d..8cbfbc7 100644
--- a/input.c
+++ b/input.c
@@ -17,10 +17,13 @@
* along with this program. If not, see .
*/
+#include "sigrok-cli.h"
#include "config.h"
+#include
+#include
+#include
+#include
#include
-#include
-#include "sigrok-cli.h"
extern gchar *opt_input_file;
extern gchar *opt_input_format;
@@ -128,7 +131,7 @@ static void load_input_file_format(void)
}
}
- if (select_probes(in->sdi) > 0)
+ if (select_channels(in->sdi) != SR_OK)
return;
sr_session_new();
@@ -149,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_channels(sdi) != SR_OK) {
+ sr_session_destroy();
+ return;
+ }
sr_session_datafeed_callback_add(datafeed_in, NULL);
sr_session_start();
sr_session_run();
@@ -162,4 +179,3 @@ void load_input_file(void)
load_input_file_format();
}
}
-