]> gitweb.hhaalo.de Git - sane-kds-s2000w-net.git/commitdiff
change get metadata by start
authorBastian Dehn <hhaalo@arcor.de>
Sun, 25 Feb 2024 15:11:17 +0000 (16:11 +0100)
committerBastian Dehn <hhaalo@arcor.de>
Sun, 25 Feb 2024 15:11:17 +0000 (16:11 +0100)
src/kds_s2000w_net.c
tests/kds_s2000w_net_get_params_tests.c
tests/runtests.c

index 5e1cd7131d33f8fcf64abae8ef1fa56436c3cc9c..b413c9758c20fe0ebff26a993f6b1fe157d9a4ba 100644 (file)
@@ -133,16 +133,6 @@ SANE_Status _sane_kds_s2000w_net_get_parameters(SANE_Handle handle,
                return SANE_STATUS_GOOD;
        }
 
-       for (int i = 0; i < 10; i++) {
-               sleep(1);
-               kds_s2000w_handler_get_parameters(h);
-               if (h->current_metadata->valid)
-                       break;
-       }
-
-       if (!h->current_metadata->valid)
-               return SANE_STATUS_UNSUPPORTED;
-
        metadata mdata;
        memcpy(&mdata, h->current_metadata, sizeof(metadata));
 
@@ -173,9 +163,20 @@ SANE_Status _sane_kds_s2000w_net_start(SANE_Handle handle)
 {
        debug_printf(ALL, "sane_kds_s2000w_net_start");
        handler* h = (handler*) handle;
+
+       if (h->read_info->scan_started) {
+               for (int i = 0; i < 10; i++) {
+                       sleep(1);
+                       kds_s2000w_handler_get_parameters(h);
+                       if (h->current_metadata->valid)
+                               break;
+               }
+       }
+
        if (!h->read_info->scan_started) {
                h->read_info->cancel = 0;
                h->read_info->scan_started = 1;
+               h->current_metadata->is_last = 0;
                kds_s2000w_handler_start_scan(h);
        }
        return SANE_STATUS_GOOD;
index 5901a5ba0933ea58a94ebfe2341c91dd5713c4dc..e79f596752b4b788f654265dc412ba7b902b4dde 100644 (file)
@@ -2,21 +2,6 @@
 #include <stdlib.h>
 #include <sane/sane.h>
 
-START_TEST(kds_s2000w_net_get_parameters_invalid_metdata)
-{
-       handler* h = init_handler();
-       h->read_info->scan_started = 1;
-       SANE_Parameters params;
-
-       SANE_Status status = _sane_kds_s2000w_net_get_parameters(h, &params);
-
-       ck_assert_int_eq(status, SANE_STATUS_UNSUPPORTED);
-
-       free_handler(h);
-       h = NULL;
-}
-END_TEST
-
 START_TEST(kds_s2000w_net_get_parameters_with_image_data)
 {
        handler* h = init_handler();
index 26f9a860f4f555e96c461caa8ad07f381c614dec..ae910a22876e5c49cd11dda50fd3bc4a10f6a032 100644 (file)
@@ -39,7 +39,6 @@ Suite* get_params()
        Suite* get_params = suite_create("kds_s2000w_net_get_parameters");
 
        TCase* net_get_params = tcase_create("get parameters");
-       tcase_add_test(net_get_params, kds_s2000w_net_get_parameters_invalid_metdata);
        tcase_add_test(net_get_params, kds_s2000w_net_get_parameters_with_image_data);
        suite_add_tcase(get_params, net_get_params);
        return get_params;