]> gitweb.hhaalo.de Git - sane-kds-s2000w-net.git/commitdiff
fix read image
authorBastian Dehn <hhaalo@arcor.de>
Tue, 6 Feb 2024 15:23:26 +0000 (16:23 +0100)
committerBastian Dehn <hhaalo@arcor.de>
Tue, 6 Feb 2024 15:23:26 +0000 (16:23 +0100)
src/kds_s2000w_handler.c
src/kds_s2000w_net.c

index 2390b91ac5153bd608e691b176a28b9c6c55d8e8..92920c02cc4112539b20001e7499d4f843633f30 100644 (file)
@@ -168,24 +168,9 @@ metadata kds_s2000w_handler_get_parameters(int image_number)
        current_scan_status.downloaded_images++;
        sleep(1);
 
-       resp = kds_s2000w_client_response_init();
-       kds_s2000w_client_delete_image(state->sessionid, current_scan_status.current_image_number, resp);
-       kds_s2000w_client_response_free(resp);
-       resp = NULL;
-       sleep(1);
-
-
        printf("current available images: %i\n", current_scan_status.available_images);
        printf("current downloaded images: %i\n", current_scan_status.downloaded_images);
        printf("complete_scanned: %i\n", current_scan_status.complete_scanned);
-       if (current_scan_status.available_images < image_number) {
-               mdata_value = NULL;
-               metadata = NULL;
-               json_object_put(metadataResp);
-               metadataResp = NULL;
-               mdata.valid = 0;
-               return mdata;
-       }
 
        resp = kds_s2000w_client_response_init();
        kds_s2000w_client_get_metadata(state->sessionid, image_number, resp);
@@ -243,5 +228,11 @@ metadata kds_s2000w_handler_get_parameters(int image_number)
        resp = NULL;
        sleep(1);
 
+       resp = kds_s2000w_client_response_init();
+       kds_s2000w_client_delete_image(state->sessionid, current_scan_status.current_image_number, resp);
+       kds_s2000w_client_response_free(resp);
+       resp = NULL;
+       sleep(1);
+
        return mdata;
 }
\ No newline at end of file
index fc9386ad9ac9aae1d35b86c764687b348162a88a..fa31f8c00dd7da57bcbdc73b7816ef5600bca518 100644 (file)
@@ -216,15 +216,15 @@ void _sane_kds_s2000w_net_cancel(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) {
+       printf("is last: %i\n", current_metadata.is_last);
+       if (read_size >= current_metadata.is_last) {
                read_size = 0;
                return SANE_STATUS_EOF;
                _sane_kds_s2000w_net_cancel(NULL);
        }
 
        int length_count = 0;
-       while(length_count < max_length && read_size < current_metadata.size) {
+       while(length_count < max_length) {
                if (cancel) {
                        *length = 0;
                        kds_s2000w_handler_stop_scan();