From a857d1e6c4ca9ff6f57b5d7c121efe2bb164c6a9 Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Mon, 22 Sep 2025 07:38:00 +0200 Subject: [PATCH] change migrate to new structur --- src/kds_s2000w_option_descriptors.c | 104 +++++++++++++--------------- 1 file changed, 50 insertions(+), 54 deletions(-) diff --git a/src/kds_s2000w_option_descriptors.c b/src/kds_s2000w_option_descriptors.c index 013cc69..43a6d0b 100644 --- a/src/kds_s2000w_option_descriptors.c +++ b/src/kds_s2000w_option_descriptors.c @@ -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; -- 2.47.3