]> gitweb.hhaalo.de Git - sane-kds-s2000w-net.git/commitdiff
move read size into handler
authorBastian Dehn <hhaalo@arcor.de>
Sun, 18 Feb 2024 10:26:50 +0000 (11:26 +0100)
committerBastian Dehn <hhaalo@arcor.de>
Sun, 18 Feb 2024 10:26:50 +0000 (11:26 +0100)
src/kds_s2000w_net.c
tests/kds_s2000w_net_read_tests.c

index 6a8456e2eeebb13fef65e6d7419308ff5feedf7a..aa7ee0147acb2af122385b09c483c14a1d4194ce 100644 (file)
@@ -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;
index 9e823b83d4099d168f6ea76402bc7ee4a2111a4e..fe454544c036632bdde422d023992e2353a87358 100644 (file)
@@ -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;