]> gitweb.hhaalo.de Git - sane-kds-s2000w-net.git/commitdiff
read option four
authorBastian Dehn <hhaalo@arcor.de>
Sat, 27 Jan 2024 10:25:29 +0000 (11:25 +0100)
committerBastian Dehn <hhaalo@arcor.de>
Sat, 27 Jan 2024 10:25:29 +0000 (11:25 +0100)
src/kds_s2000w_handler.c
src/kds_s2000w_net.c

index 44e968a102a073344ff39f2ccf4fc9f2b1a5b3df..76a215057393c7111ad3a5f66ad641f4a63b57b2 100644 (file)
@@ -82,17 +82,18 @@ void kds_s2000w_handler_get_option(int option, void* value)
        int value_length = 0;
        const char* string_value = NULL;
        char* char_value = NULL;
-       int* int_value = NULL;
+       int int_value = 0;
+       int* int_value_ptr = NULL;
        switch(option) {
                case 0:
-                       int_value = (int*) value;
-                       *int_value = 4;
+                       int_value_ptr = (int*) value;
+                       *int_value_ptr = 5;
                        break;
                case 1:
                        value_object = json_object_object_get(config, "DPI");
-                       int dpi_value = json_object_get_int(value_object);
-                       int* int_value = (int*) value;
-                       *int_value = dpi_value;
+                       int_value = json_object_get_int(value_object);
+                       int_value_ptr = (int*) value;
+                       *int_value_ptr = int_value;
                        break;
                case 2:
                        value_object = json_object_object_get(config, "ScanSide");
@@ -108,6 +109,12 @@ void kds_s2000w_handler_get_option(int option, void* value)
                        value_length = strlen(char_value);
                        memcpy(char_value, string_value, sizeof(char) * value_length);
                        break;
+               case 4:
+                       value_object = json_object_object_get(config, "SkipBlankPages");
+                       int_value = json_object_get_int(value_object);
+                       int_value_ptr = (int*) value;
+                       *int_value_ptr = int_value;
+                       break;
                default:
                        break;
        }
index 5664aae5b379cc66744d653be648c0b46c9cb1ee..d9edacb8db4496119e5dd14f3816d0f548e3e0cd 100644 (file)
@@ -145,6 +145,17 @@ const SANE_Option_Descriptor* _sane_kds_s2000w_net_get_option_descriptor(
                        option_descriptor_array.option_descriptors[option]->constraint_type = SANE_CONSTRAINT_NONE;
                        option_descriptor_array.option_descriptors[option]->constraint.string_list = NULL;
                        break;
+               case 4:
+                       free(option_descriptor_array.option_descriptors[option]);
+                       option_descriptor_array.option_descriptors[option] = NULL;
+                       option_descriptor_array.option_descriptors[option] = malloc(sizeof(SANE_Option_Descriptor));
+                       option_descriptor_array.option_descriptors[option]->name = "skipblankpages";
+                       option_descriptor_array.option_descriptors[option]->title = "skipblankpages";
+                       option_descriptor_array.option_descriptors[option]->desc = "skipblankpages";
+                       option_descriptor_array.option_descriptors[option]->cap = SANE_CAP_SOFT_DETECT;
+                       option_descriptor_array.option_descriptors[option]->constraint_type = SANE_CONSTRAINT_NONE;
+                       option_descriptor_array.option_descriptors[option]->constraint.string_list = NULL;
+                       break;
                default:
                        return NULL;
                        break;
@@ -154,6 +165,7 @@ const SANE_Option_Descriptor* _sane_kds_s2000w_net_get_option_descriptor(
        switch (option) {
                case 0:
                case 1:
+               case 4:
                        option_descriptor_array.option_descriptors[option]->type = SANE_TYPE_INT;
                        option_descriptor_array.option_descriptors[option]->size = sizeof(SANE_Int);
                        break;