struct sr_dev_inst *sdi;
GHashTable *mod_args, *mod_opts;
GString *buf;
- int fd;
+ int fd = 0;
ssize_t len;
char *mod_id;
* An actual filename: let the input modules try to
* identify the file.
*/
- in = sr_input_scan_file(opt_input_file);
- /* That worked, reopen the file for reading. */
- fd = open(opt_input_file, O_RDONLY);
+ if (sr_input_scan_file(opt_input_file, &in) == SR_OK) {
+ /* That worked, reopen the file for reading. */
+ fd = open(opt_input_file, O_RDONLY);
+ }
} else {
/*
* Taking input from a pipe: let the input modules try
g_critical("Failed to read %s: %s.", opt_input_file,
strerror(errno));
buf->len = len;
- in = sr_input_scan_buffer(buf);
+ sr_input_scan_buffer(buf, &in);
}
if (!in)
g_critical("Error: no input module found for this file.");
GSList *devices;
int ret;
- if (strcmp(opt_input_file, "-") || sr_session_load(opt_input_file, &session) == SR_OK) {
+ if (strcmp(opt_input_file, "-") && sr_session_load(opt_input_file, &session) == SR_OK) {
/* sigrok session file */
ret = sr_session_dev_list(session, &devices);
if (ret != SR_OK || !devices->data) {
sr_session_start(session);
sr_session_run(session);
sr_session_stop(session);
- }
- else {
+ } else {
/* fall back on input modules */
load_input_file_module();
}