From b0a82773163aa55b568c3309cba6e1f9e87daf5a Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Sat, 17 Feb 2024 11:04:42 +0100 Subject: [PATCH] fix scan second picture --- src/kds_s2000w_net.c | 4 +++- tests/kds_s2000w_net_read_tests.c | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/kds_s2000w_net.c b/src/kds_s2000w_net.c index 62b1c05..4604ce8 100644 --- a/src/kds_s2000w_net.c +++ b/src/kds_s2000w_net.c @@ -215,8 +215,10 @@ SANE_Status _sane_kds_s2000w_net_read(SANE_Handle handle, SANE_Byte* data, return SANE_STATUS_CANCELLED; } - if (read_info.second_metadata) + if (!read_info.second_metadata) { + *length = 0; return SANE_STATUS_EOF; + } int skip_header_bytes = _sane_kds_s2000w_net_find_first_data_byte(read_info.current_metadata.image); if (read_info.read_size <= 0) diff --git a/tests/kds_s2000w_net_read_tests.c b/tests/kds_s2000w_net_read_tests.c index e7065f2..d5a9715 100644 --- a/tests/kds_s2000w_net_read_tests.c +++ b/tests/kds_s2000w_net_read_tests.c @@ -36,6 +36,7 @@ END_TEST START_TEST(sane_kds_s2000w_net_read_all_lines_test) { readinfo* read_info = get_read_info(); + read_info->second_metadata = 1; read_info->cancel = 0; read_info->read_size = 0; char* image = malloc(sizeof(char) * 53); @@ -74,6 +75,7 @@ END_TEST START_TEST(sane_kds_s2000w_net_read_test) { readinfo* read_info = get_read_info(); + read_info->second_metadata = 1; read_info->read_size = 0; read_info->current_metadata.format = 0; read_info->current_metadata.lines = 1; @@ -109,6 +111,7 @@ START_TEST(sane_kds_s2000w_net_read_bytes_per_line_bigger_test) { readinfo* read_info = get_read_info(); read_info->read_size = 0; + read_info->second_metadata = 1; read_info->current_metadata.format = 0; read_info->current_metadata.lines = 1; read_info->current_metadata.bytes_per_line = 95000; -- 2.39.5