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

index aa7ee0147acb2af122385b09c483c14a1d4194ce..e401b9ec995d5bf3cbf870ef9a64a01abac43b55 100644 (file)
@@ -146,8 +146,8 @@ SANE_Status _sane_kds_s2000w_net_get_parameters(SANE_Handle handle,
        params->lines = read_info.current_metadata.lines;
        params->depth = read_info.current_metadata.depth;
        h->read_info.read_size = 0;
+       h->read_info.readed_bytes_per_line = 0;
        read_info.readed_lines = 0;
-       read_info.readed_bytes_per_line = 0;
 
        debug_printf_int(DEBUG, "format", params->format);
        debug_printf_int(DEBUG, "last frame", params->last_frame);
@@ -195,17 +195,17 @@ SANE_Status _sane_kds_s2000w_net_read(SANE_Handle handle, SANE_Byte* data,
        }
 
        int maxlen = max_length;
-       if (read_info.current_metadata.bytes_per_line - read_info.readed_bytes_per_line < max_length)
-               maxlen = read_info.current_metadata.bytes_per_line - read_info.readed_bytes_per_line;
+       if (read_info.current_metadata.bytes_per_line - h->read_info.readed_bytes_per_line < max_length)
+               maxlen = read_info.current_metadata.bytes_per_line - h->read_info.readed_bytes_per_line;
 
        *length = maxlen;
        memcpy(data, read_info.current_metadata.image + h->read_info.read_size, *length);
 
-       read_info.readed_bytes_per_line += *length;
+       h->read_info.readed_bytes_per_line += *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;
+       if (h->read_info.readed_bytes_per_line >= read_info.current_metadata.bytes_per_line) {
+               h->read_info.readed_bytes_per_line = 0;
                read_info.readed_lines++;
        }
 
index fe454544c036632bdde422d023992e2353a87358..baf1efc31146c51e73f26f7c48f85053a95de050 100644 (file)
@@ -79,6 +79,7 @@ START_TEST(sane_kds_s2000w_net_read_test)
        handler h;
        h.read_info.cancel = 0;
        h.read_info.read_size = 0;
+       h.read_info.readed_bytes_per_line = 0;
        read_info->current_metadata.format = 0;
        read_info->current_metadata.lines = 1;
        read_info->current_metadata.bytes_per_line = 65536;
@@ -115,6 +116,7 @@ START_TEST(sane_kds_s2000w_net_read_bytes_per_line_bigger_test)
        handler h;
        h.read_info.cancel = 0;
        h.read_info.read_size = 0;
+       h.read_info.readed_bytes_per_line = 0;
        read_info->current_metadata.format = 0;
        read_info->current_metadata.lines = 1;
        read_info->current_metadata.bytes_per_line = 95000;