From: Bastian Dehn Date: Sat, 27 Jan 2024 10:25:29 +0000 (+0100) Subject: read option four X-Git-Tag: v1.0.0^2~448 X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=b95b096310728592f2d6ed9d2b1911eac26c512c;p=sane-kds-s2000w-net.git read option four --- diff --git a/src/kds_s2000w_handler.c b/src/kds_s2000w_handler.c index 44e968a..76a2150 100644 --- a/src/kds_s2000w_handler.c +++ b/src/kds_s2000w_handler.c @@ -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; } diff --git a/src/kds_s2000w_net.c b/src/kds_s2000w_net.c index 5664aae..d9edacb 100644 --- a/src/kds_s2000w_net.c +++ b/src/kds_s2000w_net.c @@ -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;