]> gitweb.hhaalo.de Git - sane-kds-s2000w-net.git/commitdiff
add debug info for read scan
authorBastian Dehn <hhaalo@arcor.de>
Sun, 4 Feb 2024 08:19:35 +0000 (09:19 +0100)
committerBastian Dehn <hhaalo@arcor.de>
Sun, 4 Feb 2024 08:23:14 +0000 (09:23 +0100)
src/kds_s2000w_net.c

index df6b7a8034788bc57cc1cb8f2f9a2b970ed3c393..ef91348712aa66184c171e5e74ad65c9ea4f6c21 100644 (file)
@@ -177,12 +177,11 @@ SANE_Status _sane_kds_s2000w_net_get_parameters(SANE_Handle handle,
        }
 
        for (int i = 0; i < 10; i++) {
+               sleep(1);
                current_metadata = kds_s2000w_handler_get_parameters(1);
                printf("valid %i\n", current_metadata.valid);
                if (current_metadata.valid)
                        break;
-
-               sleep(1);
        }
 
        if (!current_metadata.valid)
@@ -209,27 +208,31 @@ SANE_Status _sane_kds_s2000w_net_start(SANE_Handle handle)
 SANE_Status _sane_kds_s2000w_net_read(SANE_Handle handle, SANE_Byte* data,
        SANE_Int max_length, SANE_Int* length)
 {
+       printf("current size: %i\n", current_metadata.size);
        if (read_size >= current_metadata.size) {
                read_size = 0;
                return SANE_STATUS_EOF;
        }
 
        int length_count = 0;
-       while(length_count < max_length) {
+       while(length_count < max_length && read_size < current_metadata.size) {
                if (cancel) {
                        *length = 0;
                        kds_s2000w_handler_stop_scan();
+                       sleep(1);
                        kds_s2000w_handler_close();
+                       sleep(1);
                        kds_s2000w_handler_open();
                        return SANE_STATUS_CANCELLED;
                }
                data[length_count] = 0;
                length_count++;
+               read_size++;
        }
-
        *length = length_count;
-       read_size += length_count;
-       sleep(1);
+       printf("length: %i\n", *length);
+       printf("read size: %i\n", read_size);
+
        return SANE_STATUS_GOOD;
 }