From 1da5fb19f45a12c82376ac1a5332e0f1878b8053 Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Sun, 18 Feb 2024 11:26:50 +0100 Subject: [PATCH] move read size into handler --- src/kds_s2000w_net.c | 10 +++++----- tests/kds_s2000w_net_read_tests.c | 12 ++++++------ 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/kds_s2000w_net.c b/src/kds_s2000w_net.c index 6a8456e..aa7ee01 100644 --- a/src/kds_s2000w_net.c +++ b/src/kds_s2000w_net.c @@ -145,7 +145,7 @@ SANE_Status _sane_kds_s2000w_net_get_parameters(SANE_Handle handle, params->pixels_per_line = read_info.current_metadata.pixels_per_line; params->lines = read_info.current_metadata.lines; params->depth = read_info.current_metadata.depth; - read_info.read_size = 0; + h->read_info.read_size = 0; read_info.readed_lines = 0; read_info.readed_bytes_per_line = 0; @@ -185,8 +185,8 @@ 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(read_info.current_metadata.image); - if (read_info.read_size <= 0) - read_info.read_size += skip_header_bytes; + if (h->read_info.read_size <= 0) + h->read_info.read_size += skip_header_bytes; if (read_info.readed_lines >= read_info.current_metadata.lines) { *length = 0; @@ -199,10 +199,10 @@ SANE_Status _sane_kds_s2000w_net_read(SANE_Handle handle, SANE_Byte* data, maxlen = read_info.current_metadata.bytes_per_line - read_info.readed_bytes_per_line; *length = maxlen; - memcpy(data, read_info.current_metadata.image + read_info.read_size, *length); + memcpy(data, read_info.current_metadata.image + h->read_info.read_size, *length); read_info.readed_bytes_per_line += *length; - read_info.read_size += *length; + h->read_info.read_size += *length; if (read_info.readed_bytes_per_line >= read_info.current_metadata.bytes_per_line) { read_info.readed_bytes_per_line = 0; diff --git a/tests/kds_s2000w_net_read_tests.c b/tests/kds_s2000w_net_read_tests.c index 9e823b8..fe45454 100644 --- a/tests/kds_s2000w_net_read_tests.c +++ b/tests/kds_s2000w_net_read_tests.c @@ -39,7 +39,7 @@ START_TEST(sane_kds_s2000w_net_read_all_lines_test) readinfo* read_info = get_read_info(); handler h; h.read_info.cancel = 0; - read_info->read_size = 0; + h.read_info.read_size = 0; char* image = malloc(sizeof(char) * 53); for (int i = 0; i < 3; i++) { image[i] = 0x0a; @@ -62,7 +62,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, 53); + ck_assert_int_eq(h.read_info.read_size, 53); free(dataptr); dataptr = NULL; @@ -78,7 +78,7 @@ START_TEST(sane_kds_s2000w_net_read_test) readinfo* read_info = get_read_info(); handler h; h.read_info.cancel = 0; - read_info->read_size = 0; + h.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; @@ -97,7 +97,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_info->read_size, 65539); + ck_assert_int_eq(h.read_info.read_size, 65539); free(dataptr); dataptr = NULL; @@ -114,7 +114,7 @@ START_TEST(sane_kds_s2000w_net_read_bytes_per_line_bigger_test) readinfo* read_info = get_read_info(); handler h; h.read_info.cancel = 0; - read_info->read_size = 0; + h.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; @@ -132,7 +132,7 @@ START_TEST(sane_kds_s2000w_net_read_bytes_per_line_bigger_test) _sane_kds_s2000w_net_read(&h, dataptr, maxlen, length); _sane_kds_s2000w_net_read(&h, dataptr, maxlen, length); - ck_assert_int_eq(read_info->read_size, 95003); + ck_assert_int_eq(h.read_info.read_size, 95003); free(dataptr); dataptr = NULL; -- 2.39.5