]> gitweb.hhaalo.de Git - sane-kds-s2000w-net.git/commitdiff
change migrate to new structur
authorBastian Dehn <hhaalo@arcor.de>
Mon, 22 Sep 2025 05:38:00 +0000 (07:38 +0200)
committerBastian Dehn <hhaalo@arcor.de>
Mon, 22 Sep 2025 05:38:00 +0000 (07:38 +0200)
src/kds_s2000w_option_descriptors.c

index 013cc690f6919e7fcbdfdde6a4211a867142bf3c..43a6d0bc1f6b645e6fc2997962589f06fea33954 100644 (file)
@@ -6,7 +6,6 @@
 
 #define MAX_OPTION_COUNT 47
 
-__attribute_deprecated__ SANE_Option_Descriptor* descriptor_array = NULL;
 option_descriptor** descriptors = NULL;
 
 SANE_Option_Descriptor _kds_s2000w_option_descriptor_standard_group()
@@ -1119,54 +1118,53 @@ void kds_s2000w_option_descriptors_init()
                descriptors[i] = malloc(sizeof(option_descriptor));
        }
 
-       descriptor_array = malloc(sizeof(SANE_Option_Descriptor) * MAX_OPTION_COUNT);
-       descriptor_array[0] = _kds_s2000w_option_descriptor_num_options();
-       descriptor_array[1] = _kds_s2000w_option_descriptor_standard_group();
-       descriptor_array[2] = _kds_s2000w_option_descriptor_scan_source();
-       descriptor_array[3] = _kds_s2000w_option_descriptor_color_mode();
-       descriptor_array[4] = _kds_s2000w_option_descriptor_dpi();
-       descriptor_array[5] = _kds_s2000w_option_descriptor_scanside();
-       descriptor_array[6] = _kds_s2000w_option_descriptor_geometry_group();
-       descriptor_array[7] = _kds_s2000w_option_descriptor_cropping_mode();
-       descriptor_array[8] = _kds_s2000w_option_descriptor_cropping_image();
-       descriptor_array[9] = _kds_s2000w_option_descriptor_image_offset_x();
-       descriptor_array[10] = _kds_s2000w_option_descriptor_image_offset_y();
-       descriptor_array[11] = _kds_s2000w_option_descriptor_image_width();
-       descriptor_array[12] = _kds_s2000w_option_descriptor_image_height();
-       descriptor_array[13] = _kds_s2000w_option_descriptor_boldness_smoothing_group();
-       descriptor_array[14] = _kds_s2000w_option_descriptor_foreground_boldness_mode();
-       descriptor_array[15] = _kds_s2000w_option_descriptor_foreground_boldness_aggressiveness();
-       descriptor_array[16] = _kds_s2000w_option_descriptor_background_smoothing_mode();
-       descriptor_array[17] = _kds_s2000w_option_descriptor_background_smoothing_aggressiveness();
-       descriptor_array[18] = _kds_s2000w_option_descriptor_boldness_color_group();
-       descriptor_array[19] = _kds_s2000w_option_descriptor_color_drop();
-       descriptor_array[20] = _kds_s2000w_option_descriptor_color_drop_out_aggressiveness();
-       descriptor_array[21] = _kds_s2000w_option_descriptor_color_auto_brightness_mode();
-       descriptor_array[22] = _kds_s2000w_option_descriptor_color_brightness();
-       descriptor_array[23] = _kds_s2000w_option_descriptor_color_contrast();
-       descriptor_array[24] = _kds_s2000w_option_descriptor_color_balance_mode();
-       descriptor_array[25] = _kds_s2000w_option_descriptor_color_balance_agressiveness();
-       descriptor_array[26] = _kds_s2000w_option_descriptor_color_balance_red();
-       descriptor_array[27] = _kds_s2000w_option_descriptor_color_balance_green();
-       descriptor_array[28] = _kds_s2000w_option_descriptor_color_balance_blue();
-       descriptor_array[29] = _kds_s2000w_option_descriptor_color_sharpen();
-       descriptor_array[30] = _kds_s2000w_option_descriptor_binarization_contrast();
-       descriptor_array[31] = _kds_s2000w_option_descriptor_config_reset();
-       descriptor_array[32] = _kds_s2000w_option_descriptor_image_processing_group();
-       descriptor_array[33] = _kds_s2000w_option_descriptor_skip_blank_pages();
-       descriptor_array[34] = _kds_s2000w_option_descriptor_skip_blank_page_content();
-       descriptor_array[35] = _kds_s2000w_option_descriptor_hole_fill();
-       descriptor_array[36] = _kds_s2000w_option_descriptor_post_scan_rotation();
-       descriptor_array[37] = _kds_s2000w_option_descriptor_edge_fill();
-       descriptor_array[38] = _kds_s2000w_option_descriptor_image_border();
-       descriptor_array[39] = _kds_s2000w_option_descriptor_jpeg_quality();
-       descriptor_array[40] = _kds_s2000w_option_descriptor_feeder_group();
-       descriptor_array[41] = _kds_s2000w_option_descriptor_max_document_length();
-       descriptor_array[42] = _kds_s2000w_option_descriptor_transport_handling();
-       descriptor_array[43] = _kds_s2000w_option_descriptor_multifeed_sensitivity();
-       descriptor_array[44] = _kds_s2000w_option_descriptor_multifeed_response();
-       descriptor_array[45] = _kds_s2000w_option_descriptor_document_feeder_timeout();
-       descriptor_array[46] = _kds_s2000w_option_descriptor_document_feeder_timeout_response();
+       descriptors[0]->descriptor = _kds_s2000w_option_descriptor_num_options();
+       descriptors[1]->descriptor = _kds_s2000w_option_descriptor_standard_group();
+       descriptors[2]->descriptor = _kds_s2000w_option_descriptor_scan_source();
+       descriptors[3]->descriptor = _kds_s2000w_option_descriptor_color_mode();
+       descriptors[4]->descriptor = _kds_s2000w_option_descriptor_dpi();
+       descriptors[5]->descriptor = _kds_s2000w_option_descriptor_scanside();
+       descriptors[6]->descriptor = _kds_s2000w_option_descriptor_geometry_group();
+       descriptors[7]->descriptor = _kds_s2000w_option_descriptor_cropping_mode();
+       descriptors[8]->descriptor = _kds_s2000w_option_descriptor_cropping_image();
+       descriptors[9]->descriptor = _kds_s2000w_option_descriptor_image_offset_x();
+       descriptors[10]->descriptor = _kds_s2000w_option_descriptor_image_offset_y();
+       descriptors[11]->descriptor = _kds_s2000w_option_descriptor_image_width();
+       descriptors[12]->descriptor = _kds_s2000w_option_descriptor_image_height();
+       descriptors[13]->descriptor = _kds_s2000w_option_descriptor_boldness_smoothing_group();
+       descriptors[14]->descriptor = _kds_s2000w_option_descriptor_foreground_boldness_mode();
+       descriptors[15]->descriptor = _kds_s2000w_option_descriptor_foreground_boldness_aggressiveness();
+       descriptors[16]->descriptor = _kds_s2000w_option_descriptor_background_smoothing_mode();
+       descriptors[17]->descriptor = _kds_s2000w_option_descriptor_background_smoothing_aggressiveness();
+       descriptors[18]->descriptor = _kds_s2000w_option_descriptor_boldness_color_group();
+       descriptors[19]->descriptor = _kds_s2000w_option_descriptor_color_drop();
+       descriptors[20]->descriptor = _kds_s2000w_option_descriptor_color_drop_out_aggressiveness();
+       descriptors[21]->descriptor = _kds_s2000w_option_descriptor_color_auto_brightness_mode();
+       descriptors[22]->descriptor = _kds_s2000w_option_descriptor_color_brightness();
+       descriptors[23]->descriptor = _kds_s2000w_option_descriptor_color_contrast();
+       descriptors[24]->descriptor = _kds_s2000w_option_descriptor_color_balance_mode();
+       descriptors[25]->descriptor = _kds_s2000w_option_descriptor_color_balance_agressiveness();
+       descriptors[26]->descriptor = _kds_s2000w_option_descriptor_color_balance_red();
+       descriptors[27]->descriptor = _kds_s2000w_option_descriptor_color_balance_green();
+       descriptors[28]->descriptor = _kds_s2000w_option_descriptor_color_balance_blue();
+       descriptors[29]->descriptor = _kds_s2000w_option_descriptor_color_sharpen();
+       descriptors[30]->descriptor = _kds_s2000w_option_descriptor_binarization_contrast();
+       descriptors[31]->descriptor = _kds_s2000w_option_descriptor_config_reset();
+       descriptors[32]->descriptor = _kds_s2000w_option_descriptor_image_processing_group();
+       descriptors[33]->descriptor = _kds_s2000w_option_descriptor_skip_blank_pages();
+       descriptors[34]->descriptor = _kds_s2000w_option_descriptor_skip_blank_page_content();
+       descriptors[35]->descriptor = _kds_s2000w_option_descriptor_hole_fill();
+       descriptors[36]->descriptor = _kds_s2000w_option_descriptor_post_scan_rotation();
+       descriptors[37]->descriptor = _kds_s2000w_option_descriptor_edge_fill();
+       descriptors[38]->descriptor = _kds_s2000w_option_descriptor_image_border();
+       descriptors[39]->descriptor = _kds_s2000w_option_descriptor_jpeg_quality();
+       descriptors[40]->descriptor = _kds_s2000w_option_descriptor_feeder_group();
+       descriptors[41]->descriptor = _kds_s2000w_option_descriptor_max_document_length();
+       descriptors[42]->descriptor = _kds_s2000w_option_descriptor_transport_handling();
+       descriptors[43]->descriptor = _kds_s2000w_option_descriptor_multifeed_sensitivity();
+       descriptors[44]->descriptor = _kds_s2000w_option_descriptor_multifeed_response();
+       descriptors[45]->descriptor = _kds_s2000w_option_descriptor_document_feeder_timeout();
+       descriptors[46]->descriptor = _kds_s2000w_option_descriptor_document_feeder_timeout_response();
 }
 
 void kds_s2000w_option_descriptors_free()
@@ -1197,8 +1195,6 @@ void kds_s2000w_option_descriptors_free()
                descriptors[i] = NULL;
        }
 
-       free(descriptor_array);
-       descriptor_array = NULL;
        free(descriptors);
        descriptors = NULL;
 }
@@ -1210,7 +1206,7 @@ SANE_Option_Descriptor* kds_s2000w_option_descriptors_get_by_number(uint32_t num
        if (number >= MAX_OPTION_COUNT)
                return NULL;
 
-       return &descriptor_array[number];
+       return &descriptors[number]->descriptor;
 }
 
 SANE_Option_Descriptor* kds_s2000w_option_descriptors_get_by_name(const char* name)
@@ -1218,8 +1214,8 @@ SANE_Option_Descriptor* kds_s2000w_option_descriptors_get_by_name(const char* na
        kds_s2000w_debug_printf(ALL, "kds_s2000w_option_descriptor_get_by_name");
 
        for (int i = 0; i < MAX_OPTION_COUNT; i++) {
-               if (strcmp(descriptor_array[i].name, name) == 0)
-                       return &descriptor_array[i];
+               if (strcmp(descriptors[i]->descriptor.name, name) == 0)
+                       return &descriptors[i]->descriptor;
        }
 
        return NULL;