]> gitweb.hhaalo.de Git - sane-kds-s2000w-net.git/commitdiff
change load config from handler
authorBastian Dehn <hhaalo@arcor.de>
Sun, 26 Oct 2025 14:15:37 +0000 (15:15 +0100)
committerBastian Dehn <hhaalo@arcor.de>
Sun, 26 Oct 2025 14:15:37 +0000 (15:15 +0100)
src/kds_s2000w_handler_opts.c

index a91905ee41a32bf0dc5f36375c5ffe3233918819..41e21afbd42157d2c06ecf10be20ba7bdd815158 100644 (file)
@@ -172,16 +172,14 @@ void _kds_s2000w_handler_opts_set_options(handler_t* h)
        resp = NULL;
 }
 
-json_object* _kds_s2000w_handler_opts_load_config(handler_t* h)
+void _kds_s2000w_handler_opts_load_config(handler_t* h)
 {
        if (h->scanner_config != NULL)
-               return h->scanner_config;
+               return;
 
        _kds_s2000w_handler_opts_load_options(h);
        _kds_s2000w_handler_opts_set_autostart_on(h->scanner_config);
        _kds_s2000w_handler_opts_set_options(h);
-
-       return h->scanner_config;
 }
 
 bool _kds_s2000w_opts_validate(SANE_Option_Descriptor* descriptor, const void* value)
@@ -527,13 +525,13 @@ void _kds_s2000w_handler_opts_set_depends_opts(const handler_t* h,
 
 int32_t kds_s2000w_handler_opts_get_option(handler_t* h, uint32_t option, void* value, int32_t* info)
 {
-       json_object* config = _kds_s2000w_handler_opts_load_config(h);
+       _kds_s2000w_handler_opts_load_config(h);
 
        option_descriptor_t* descriptor = kds_s2000w_option_descriptors_full_get_by_number(option);
        if (strcmp(descriptor->config_name, OPTION_COUNT) == 0)
                return _kds_s2000w_handler_opts_get_zero_option(value);
 
-       json_object* value_object = json_object_object_get(config, descriptor->config_name);
+       json_object* value_object = json_object_object_get(h->scanner_config, descriptor->config_name);
 
        if (strcmp(descriptor->config_name, IMAGE_OFFSET_X) == 0)
                return _kds_s2000w_handler_opts_get_image_offset_x(h, value_object, value);
@@ -556,9 +554,9 @@ int32_t kds_s2000w_handler_opts_set_option(handler_t* h, uint32_t option, void*
        if (h->scan_status->state == STARTED)
                return GOOD;
 
-       json_object* config = _kds_s2000w_handler_opts_load_config(h);
+       _kds_s2000w_handler_opts_load_config(h);
        option_descriptor_t* descriptor = kds_s2000w_option_descriptors_full_get_by_number(option);
-       json_object* value_object = json_object_object_get(config, descriptor->config_name);
+       json_object* value_object = json_object_object_get(h->scanner_config, descriptor->config_name);
 
        if (strcmp(descriptor->config_name, IMAGE_WIDTH) == 0
                || strcmp(descriptor->config_name, IMAGE_HEIGHT) == 0) {
@@ -581,10 +579,10 @@ int32_t kds_s2000w_handler_opts_set_option(handler_t* h, uint32_t option, void*
                && strcmp(descriptor->config_name, IMAGE_HEIGHT) != 0)
                _kds_s2000w_handler_opts_write_value_to_json(value_object, descriptor->descriptor->type, value);
 
-       config = _kds_s2000w_handler_opts_reset(descriptor, h);
+       _kds_s2000w_handler_opts_reset(descriptor, h);
 
        if (h->profile > PROFILE_MIN)
-               _kds_s2000w_handler_opts_set_depends_opts(h, descriptor->config_name, config);
+               _kds_s2000w_handler_opts_set_depends_opts(h, descriptor->config_name, h->scanner_config);
 
        if (!_kds_s2000w_opts_validate(descriptor->descriptor, value))
                return INVAL;