From: Bastian Dehn Date: Sun, 11 Feb 2024 16:10:38 +0000 (+0100) Subject: assertion for read size with header X-Git-Tag: v1.0.0^2~297 X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=b2307beebf7e9e5fe2069da3606f0ec4f97fc581;p=sane-kds-s2000w-net.git assertion for read size with header --- diff --git a/src/kds_s2000w_net.c b/src/kds_s2000w_net.c index a981172..4b8b60d 100644 --- a/src/kds_s2000w_net.c +++ b/src/kds_s2000w_net.c @@ -269,12 +269,10 @@ SANE_Status _sane_kds_s2000w_net_read(SANE_Handle handle, SANE_Byte* data, } int skip_header_bytes = _sane_kds_s2000w_net_find_first_data_byte(current_metadata.image); - - if (read_size <= 0) { + if (read_size <= 0) read_size += skip_header_bytes; - } - if (readed_lines >= current_metadata.lines ) { + if (readed_lines >= current_metadata.lines) { read_size = 0; *length = 0; readed_lines = 0; diff --git a/tests/kds_s2000w_net_tests.c b/tests/kds_s2000w_net_tests.c index 22ee514..305fa87 100644 --- a/tests/kds_s2000w_net_tests.c +++ b/tests/kds_s2000w_net_tests.c @@ -14,6 +14,7 @@ void void_mock() {} START_TEST(sane_kds_s2000w_net_find_first_data_byte_test) { + char data[] = { 0x50, 0x36, 0x0a, 0x31, 0x31, 0x35, 0x39, 0x20, @@ -29,6 +30,8 @@ END_TEST START_TEST(sane_kds_s2000w_net_read_test) { + int* read_size_ptr = get_read_size(); + *read_size_ptr = 0; metadata* current_metadata_ptr = get_current_metadata(); int* read_size = get_read_size(); *read_size = 0; @@ -50,6 +53,7 @@ START_TEST(sane_kds_s2000w_net_read_test) ck_assert_int_eq(*length, 65536); ck_assert_mem_eq(dataptr, image + 3, 65536); + ck_assert_int_eq(*read_size_ptr, 65539); free(dataptr); dataptr = NULL;