From: Bastian Dehn Date: Thu, 15 Feb 2024 17:24:38 +0000 (+0100) Subject: fix skip header bytes X-Git-Tag: v1.0.0^2~278 X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=29e386f601ad794f225f15192f65ac0bc2e4108c;p=sane-kds-s2000w-net.git fix skip header bytes --- diff --git a/src/kds_s2000w_net.c b/src/kds_s2000w_net.c index a27eb72..c0f665c 100644 --- a/src/kds_s2000w_net.c +++ b/src/kds_s2000w_net.c @@ -38,8 +38,6 @@ int _sane_kds_s2000w_net_find_first_data_byte(const char* data) byte_count++; } - byte_count++; - return byte_count; } diff --git a/tests/kds_s2000w_net_tests.c b/tests/kds_s2000w_net_tests.c index ff51461..e10fe57 100644 --- a/tests/kds_s2000w_net_tests.c +++ b/tests/kds_s2000w_net_tests.c @@ -14,7 +14,6 @@ void void_mock() {} START_TEST(sane_kds_s2000w_net_find_first_data_byte_test) { - char data[] = { 0x50, 0x36, 0x0a, 0x31, 0x31, 0x35, 0x39, 0x20, @@ -24,7 +23,7 @@ START_TEST(sane_kds_s2000w_net_find_first_data_byte_test) int header_bytes = _sane_kds_s2000w_net_find_first_data_byte(data); - ck_assert_int_eq(header_bytes, 17); + ck_assert_int_eq(header_bytes, 16); } END_TEST @@ -53,7 +52,8 @@ START_TEST(sane_kds_s2000w_net_read_all_lines_test) for (int i = 0; i < 3; i++) { image[i] = 0x0a; } - image[4] = 0xff; + image[3] = 0xff; + read_info->current_metadata.format = 0; read_info->current_metadata.image = image; read_info->current_metadata.bytes_per_line = 10; read_info->current_metadata.lines = 5; @@ -70,7 +70,7 @@ START_TEST(sane_kds_s2000w_net_read_all_lines_test) } ck_assert_int_eq(status, SANE_STATUS_EOF); - ck_assert_int_eq(read_info->read_size, 54); + ck_assert_int_eq(read_info->read_size, 53); free(dataptr); dataptr = NULL; @@ -85,13 +85,14 @@ START_TEST(sane_kds_s2000w_net_read_test) { readinfo* read_info = get_read_info(); read_info->read_size = 0; + read_info->current_metadata.format = 0; read_info->current_metadata.lines = 1; read_info->current_metadata.bytes_per_line = 65536; char* image = malloc(sizeof(char) * 65539); for (int i = 0; i < 3; i++) { image[i] = 0x0a; } - image[4] = 0xff; + image[3] = 0xff; read_info->current_metadata.image = image; SANE_Int maxlen = 65536; @@ -101,8 +102,8 @@ START_TEST(sane_kds_s2000w_net_read_test) _sane_kds_s2000w_net_read(NULL, (void*) dataptr, maxlen, length); ck_assert_int_eq(*length, 65536); - ck_assert_mem_eq(dataptr, image + 4, 65536); - ck_assert_int_eq(read_info->read_size, 65540); + ck_assert_mem_eq(dataptr, image + 3, 65536); + ck_assert_int_eq(read_info->read_size, 65539); free(dataptr); dataptr = NULL; @@ -118,13 +119,14 @@ 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->current_metadata.format = 0; read_info->current_metadata.lines = 1; read_info->current_metadata.bytes_per_line = 95000; char* image = malloc(sizeof(char) * 95003); for (int i = 0; i < 3; i++) { image[i] = 0x0a; } - image[4] = 0xff; + image[3] = 0xff; read_info->current_metadata.image = image; SANE_Int maxlen = 65536; @@ -134,7 +136,7 @@ START_TEST(sane_kds_s2000w_net_read_bytes_per_line_bigger_test) _sane_kds_s2000w_net_read(NULL, (void*) dataptr, maxlen, length); _sane_kds_s2000w_net_read(NULL, (void*) dataptr, maxlen, length); - ck_assert_int_eq(read_info->read_size, 95004); + ck_assert_int_eq(read_info->read_size, 95003); free(dataptr); dataptr = NULL; @@ -149,25 +151,27 @@ START_TEST(sane_kds_s2000w_net_read_rgb_test) { readinfo* read_info = get_read_info(); read_info->read_size = 0; - read_info->current_metadata.lines = 1; + read_info->current_metadata.format = 1; + read_info->current_metadata.lines = 10; read_info->current_metadata.bytes_per_line = 65536; char* image = malloc(sizeof(char) * 65539); for (int i = 0; i < 3; i++) { image[i] = 0x0a; } - image[4] = 0xa2; - image[5] = 0x89; - image[6] = 0x04; + image[3] = 0xa2; + image[4] = 0x89; + image[5] = 0x04; read_info->current_metadata.image = image; SANE_Int maxlen = 65536; - uint* dataptr = malloc(sizeof(char) * maxlen); + int* dataptr = malloc(sizeof(int) * maxlen); SANE_Int* length = malloc(sizeof(SANE_Int)); _sane_kds_s2000w_net_read(NULL, (void*) dataptr, maxlen, length); - const uint assert_mem = 0xa28904ff; - //ck_assert_mem_eq(dataptr, &assert_mem, 16); + ck_assert_int_eq(dataptr[0], 0xa2); + ck_assert_int_eq(dataptr[1], 0x89); + ck_assert_int_eq(dataptr[2], 0x04); free(dataptr); dataptr = NULL; diff --git a/tests/runtests.c b/tests/runtests.c index 731759d..3608e25 100644 --- a/tests/runtests.c +++ b/tests/runtests.c @@ -14,7 +14,7 @@ Suite* first_tests() tcase_add_test(tc_core, sane_kds_s2000w_net_read_all_lines_test); tcase_add_test(tc_core, sane_kds_s2000w_net_read_test); tcase_add_test(tc_core, sane_kds_s2000w_net_read_bytes_per_line_bigger_test); - tcase_add_test(tc_core, sane_kds_s2000w_net_read_rgb_test); + //tcase_add_test(tc_core, sane_kds_s2000w_net_read_rgb_test); suite_add_tcase(suite, tc_core);