X-Git-Url: https://sigrok.org/gitweb/?p=sigrok-cli.git;a=blobdiff_plain;f=input.c;fp=input.c;h=eafbd6fdb8b0ee286f3db7c299f4445e78b79287;hp=eb496ee7a54d4c2a806c248f282bbf05efb94178;hb=f3e44829a2de542c5da923db51d4f4377e401369;hpb=2b29fb3954da8ede79ade2e4940f95b3ef836d8f diff --git a/input.c b/input.c index eb496ee..eafbd6f 100644 --- a/input.c +++ b/input.c @@ -68,7 +68,7 @@ static void load_input_file_module(struct df_arg_desc *df_arg) if ((options = sr_input_options_get(imod))) { mod_opts = generic_arg_to_opt(options, mod_args); (void)warn_unknown_keys(options, mod_args, NULL); - sr_output_options_free(options); + sr_input_options_free(options); } else { mod_opts = NULL; } @@ -105,7 +105,7 @@ static void load_input_file_module(struct df_arg_desc *df_arg) g_critical("Failed to load %s: %s.", opt_input_file, g_strerror(errno)); } - if ((len = read(fd, buf->str, CHUNK_SIZE)) < 1) + if ((len = read(fd, buf->str, buf->allocated_len)) < 1) g_critical("Failed to read %s: %s.", opt_input_file, g_strerror(errno)); buf->len = len; @@ -139,7 +139,7 @@ static void load_input_file_module(struct df_arg_desc *df_arg) if (push_scan_data) len = 0; else - len = read(fd, buf->str, CHUNK_SIZE); + len = read(fd, buf->str, buf->allocated_len); if (len < 0) g_critical("Read failed: %s", g_strerror(errno)); if (len == 0 && !push_scan_data) @@ -166,6 +166,7 @@ static void load_input_file_module(struct df_arg_desc *df_arg) sr_input_end(in); sr_input_free(in); g_string_free(buf, TRUE); + close(fd); df_arg->session = NULL; sr_session_destroy(session);