]> gitweb.hhaalo.de Git - sane-kds-s2000w-net.git/commitdiff
change option descriptor array handle over pointer
authorBastian Dehn <hhaalo@arcor.de>
Sat, 27 Jan 2024 14:27:52 +0000 (15:27 +0100)
committerBastian Dehn <hhaalo@arcor.de>
Sat, 27 Jan 2024 14:27:52 +0000 (15:27 +0100)
src/kds_s2000w_net.c

index 0be1f5e8017a0951e9e312f615d8f883daf3bf3c..42dc4dcd28e559cd4a1be23d10a18824bbf4d6df 100644 (file)
@@ -6,25 +6,19 @@
 
 #define MAX_OPTION_COUNT 23
 
-typedef struct {
-       SANE_Option_Descriptor* option_descriptors;
-       int length;
-} option_descriptors;
-
+SANE_Option_Descriptor* option_descriptors;
 SANE_Device* device_info = NULL;
 SANE_Parameters* parameter = NULL;
-option_descriptors option_descriptor_array;
 
 void _init_option_descriptor_array()
 {
-       option_descriptor_array.option_descriptors = malloc(sizeof(SANE_Option_Descriptor) * MAX_OPTION_COUNT);
-       option_descriptor_array.length = MAX_OPTION_COUNT;
+       option_descriptors = malloc(sizeof(SANE_Option_Descriptor) * MAX_OPTION_COUNT);
 }
 
 void _free_option_descriptor_array()
 {
-       free(option_descriptor_array.option_descriptors);
-       option_descriptor_array.option_descriptors = NULL;
+       free(option_descriptors);
+       option_descriptors = NULL;
 }
 
 SANE_Status _sane_kds_s2000w_net_init(SANE_Int* version_code, SANE_Auth_Callback authorize)
@@ -92,190 +86,190 @@ const SANE_Option_Descriptor* _sane_kds_s2000w_net_get_option_descriptor(
 {
        switch (option) {
                case 0:
-                       option_descriptor_array.option_descriptors[option].name = "";
-                       option_descriptor_array.option_descriptors[option].title = "option number count";
-                       option_descriptor_array.option_descriptors[option].desc = "available number of options";
-                       option_descriptor_array.option_descriptors[option].unit = SANE_UNIT_NONE;
-                       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;
+                       option_descriptors[option].name = "";
+                       option_descriptors[option].title = "option number count";
+                       option_descriptors[option].desc = "available number of options";
+                       option_descriptors[option].unit = SANE_UNIT_NONE;
+                       option_descriptors[option].cap = SANE_CAP_SOFT_DETECT;
+                       option_descriptors[option].constraint_type = SANE_CONSTRAINT_NONE;
+                       option_descriptors[option].constraint.string_list = NULL;
                        break;
                case 1:
-                       option_descriptor_array.option_descriptors[option].name = "resolution";
-                       option_descriptor_array.option_descriptors[option].title = "resolution";
-                       option_descriptor_array.option_descriptors[option].desc = "resolution";
-                       option_descriptor_array.option_descriptors[option].unit = SANE_UNIT_DPI;
-                       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;
+                       option_descriptors[option].name = "resolution";
+                       option_descriptors[option].title = "resolution";
+                       option_descriptors[option].desc = "resolution";
+                       option_descriptors[option].unit = SANE_UNIT_DPI;
+                       option_descriptors[option].cap = SANE_CAP_SOFT_DETECT;
+                       option_descriptors[option].constraint_type = SANE_CONSTRAINT_NONE;
+                       option_descriptors[option].constraint.string_list = NULL;
                        break;
                case 2:
-                       option_descriptor_array.option_descriptors[option].name = "scanside";
-                       option_descriptor_array.option_descriptors[option].title = "scanside";
-                       option_descriptor_array.option_descriptors[option].desc = "scanside";
-                       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;
+                       option_descriptors[option].name = "scanside";
+                       option_descriptors[option].title = "scanside";
+                       option_descriptors[option].desc = "scanside";
+                       option_descriptors[option].cap = SANE_CAP_SOFT_DETECT;
+                       option_descriptors[option].constraint_type = SANE_CONSTRAINT_NONE;
+                       option_descriptors[option].constraint.string_list = NULL;
                        break;
                case 3:
-                       option_descriptor_array.option_descriptors[option].name = "colormode";
-                       option_descriptor_array.option_descriptors[option].title = "colormode";
-                       option_descriptor_array.option_descriptors[option].desc = "colormode";
-                       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;
+                       option_descriptors[option].name = "colormode";
+                       option_descriptors[option].title = "colormode";
+                       option_descriptors[option].desc = "colormode";
+                       option_descriptors[option].cap = SANE_CAP_SOFT_DETECT;
+                       option_descriptors[option].constraint_type = SANE_CONSTRAINT_NONE;
+                       option_descriptors[option].constraint.string_list = NULL;
                        break;
                case 4:
-                       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;
+                       option_descriptors[option].name = "skipblankpages";
+                       option_descriptors[option].title = "skipblankpages";
+                       option_descriptors[option].desc = "skipblankpages";
+                       option_descriptors[option].cap = SANE_CAP_SOFT_DETECT;
+                       option_descriptors[option].constraint_type = SANE_CONSTRAINT_NONE;
+                       option_descriptors[option].constraint.string_list = NULL;
                        break;
                case 5:
-                       option_descriptor_array.option_descriptors[option].name = "autostart";
-                       option_descriptor_array.option_descriptors[option].title = "autostart";
-                       option_descriptor_array.option_descriptors[option].desc = "autostart";
-                       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;
+                       option_descriptors[option].name = "autostart";
+                       option_descriptors[option].title = "autostart";
+                       option_descriptors[option].desc = "autostart";
+                       option_descriptors[option].cap = SANE_CAP_SOFT_DETECT;
+                       option_descriptors[option].constraint_type = SANE_CONSTRAINT_NONE;
+                       option_descriptors[option].constraint.string_list = NULL;
                        break;
                case 6:
-                       option_descriptor_array.option_descriptors[option].name = "colordrop";
-                       option_descriptor_array.option_descriptors[option].title = "colordrop";
-                       option_descriptor_array.option_descriptors[option].desc = "colordrop";
-                       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;
+                       option_descriptors[option].name = "colordrop";
+                       option_descriptors[option].title = "colordrop";
+                       option_descriptors[option].desc = "colordrop";
+                       option_descriptors[option].cap = SANE_CAP_SOFT_DETECT;
+                       option_descriptors[option].constraint_type = SANE_CONSTRAINT_NONE;
+                       option_descriptors[option].constraint.string_list = NULL;
                        break;
                case 7:
-                       option_descriptor_array.option_descriptors[option].name = "colordropoutaggressiveness";
-                       option_descriptor_array.option_descriptors[option].title = "colordropoutaggressiveness";
-                       option_descriptor_array.option_descriptors[option].desc = "colordropoutaggressiveness";
-                       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;
+                       option_descriptors[option].name = "colordropoutaggressiveness";
+                       option_descriptors[option].title = "colordropoutaggressiveness";
+                       option_descriptors[option].desc = "colordropoutaggressiveness";
+                       option_descriptors[option].cap = SANE_CAP_SOFT_DETECT;
+                       option_descriptors[option].constraint_type = SANE_CONSTRAINT_NONE;
+                       option_descriptors[option].constraint.string_list = NULL;
                        break;
                case 8:
-                       option_descriptor_array.option_descriptors[option].name = "outputtype";
-                       option_descriptor_array.option_descriptors[option].title = "outputtype";
-                       option_descriptor_array.option_descriptors[option].desc = "outputtype";
-                       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;
+                       option_descriptors[option].name = "outputtype";
+                       option_descriptors[option].title = "outputtype";
+                       option_descriptors[option].desc = "outputtype";
+                       option_descriptors[option].cap = SANE_CAP_SOFT_DETECT;
+                       option_descriptors[option].constraint_type = SANE_CONSTRAINT_NONE;
+                       option_descriptors[option].constraint.string_list = NULL;
                        break;
                case 9:
-                       option_descriptor_array.option_descriptors[option].name = "colorautobrightnessmode";
-                       option_descriptor_array.option_descriptors[option].title = "colorautobrightnessmode";
-                       option_descriptor_array.option_descriptors[option].desc = "colorautobrightnessmode";
-                       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;
+                       option_descriptors[option].name = "colorautobrightnessmode";
+                       option_descriptors[option].title = "colorautobrightnessmode";
+                       option_descriptors[option].desc = "colorautobrightnessmode";
+                       option_descriptors[option].cap = SANE_CAP_SOFT_DETECT;
+                       option_descriptors[option].constraint_type = SANE_CONSTRAINT_NONE;
+                       option_descriptors[option].constraint.string_list = NULL;
                        break;
                case 10:
-                       option_descriptor_array.option_descriptors[option].name = "colorbalancemode";
-                       option_descriptor_array.option_descriptors[option].title = "colorbalancemode";
-                       option_descriptor_array.option_descriptors[option].desc = "colorbalancemode";
-                       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;
+                       option_descriptors[option].name = "colorbalancemode";
+                       option_descriptors[option].title = "colorbalancemode";
+                       option_descriptors[option].desc = "colorbalancemode";
+                       option_descriptors[option].cap = SANE_CAP_SOFT_DETECT;
+                       option_descriptors[option].constraint_type = SANE_CONSTRAINT_NONE;
+                       option_descriptors[option].constraint.string_list = NULL;
                        break;
                case 11:
-                       option_descriptor_array.option_descriptors[option].name = "colorbalanceaggressiveness";
-                       option_descriptor_array.option_descriptors[option].title = "colorbalanceaggressiveness";
-                       option_descriptor_array.option_descriptors[option].desc = "colorbalanceaggressiveness";
-                       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;
+                       option_descriptors[option].name = "colorbalanceaggressiveness";
+                       option_descriptors[option].title = "colorbalanceaggressiveness";
+                       option_descriptors[option].desc = "colorbalanceaggressiveness";
+                       option_descriptors[option].cap = SANE_CAP_SOFT_DETECT;
+                       option_descriptors[option].constraint_type = SANE_CONSTRAINT_NONE;
+                       option_descriptors[option].constraint.string_list = NULL;
                        break;
                case 12:
-                       option_descriptor_array.option_descriptors[option].name = "colorbalancered";
-                       option_descriptor_array.option_descriptors[option].title = "colorbalancered";
-                       option_descriptor_array.option_descriptors[option].desc = "colorbalancered";
-                       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;
+                       option_descriptors[option].name = "colorbalancered";
+                       option_descriptors[option].title = "colorbalancered";
+                       option_descriptors[option].desc = "colorbalancered";
+                       option_descriptors[option].cap = SANE_CAP_SOFT_DETECT;
+                       option_descriptors[option].constraint_type = SANE_CONSTRAINT_NONE;
+                       option_descriptors[option].constraint.string_list = NULL;
                        break;
                case 13:
-                       option_descriptor_array.option_descriptors[option].name = "colorbalancegreen";
-                       option_descriptor_array.option_descriptors[option].title = "colorbalancegreen";
-                       option_descriptor_array.option_descriptors[option].desc = "colorbalancegreen";
-                       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;
+                       option_descriptors[option].name = "colorbalancegreen";
+                       option_descriptors[option].title = "colorbalancegreen";
+                       option_descriptors[option].desc = "colorbalancegreen";
+                       option_descriptors[option].cap = SANE_CAP_SOFT_DETECT;
+                       option_descriptors[option].constraint_type = SANE_CONSTRAINT_NONE;
+                       option_descriptors[option].constraint.string_list = NULL;
                        break;
                case 14:
-                       option_descriptor_array.option_descriptors[option].name = "colorbalanceblue";
-                       option_descriptor_array.option_descriptors[option].title = "colorbalanceblue";
-                       option_descriptor_array.option_descriptors[option].desc = "colorbalanceblue";
-                       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;
+                       option_descriptors[option].name = "colorbalanceblue";
+                       option_descriptors[option].title = "colorbalanceblue";
+                       option_descriptors[option].desc = "colorbalanceblue";
+                       option_descriptors[option].cap = SANE_CAP_SOFT_DETECT;
+                       option_descriptors[option].constraint_type = SANE_CONSTRAINT_NONE;
+                       option_descriptors[option].constraint.string_list = NULL;
                        break;
                case 15:
-                       option_descriptor_array.option_descriptors[option].name = "foregroundboldnessmode";
-                       option_descriptor_array.option_descriptors[option].title = "foregroundboldnessmode";
-                       option_descriptor_array.option_descriptors[option].desc = "foregroundboldnessmode";
-                       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;
+                       option_descriptors[option].name = "foregroundboldnessmode";
+                       option_descriptors[option].title = "foregroundboldnessmode";
+                       option_descriptors[option].desc = "foregroundboldnessmode";
+                       option_descriptors[option].cap = SANE_CAP_SOFT_DETECT;
+                       option_descriptors[option].constraint_type = SANE_CONSTRAINT_NONE;
+                       option_descriptors[option].constraint.string_list = NULL;
                        break;
                case 16:
-                       option_descriptor_array.option_descriptors[option].name = "foregroundboldnessaggressiveness";
-                       option_descriptor_array.option_descriptors[option].title = "foregroundboldnessaggressiveness";
-                       option_descriptor_array.option_descriptors[option].desc = "foregroundboldnessaggressiveness";
-                       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;
+                       option_descriptors[option].name = "foregroundboldnessaggressiveness";
+                       option_descriptors[option].title = "foregroundboldnessaggressiveness";
+                       option_descriptors[option].desc = "foregroundboldnessaggressiveness";
+                       option_descriptors[option].cap = SANE_CAP_SOFT_DETECT;
+                       option_descriptors[option].constraint_type = SANE_CONSTRAINT_NONE;
+                       option_descriptors[option].constraint.string_list = NULL;
                        break;
                case 17:
-                       option_descriptor_array.option_descriptors[option].name = "backgroundsmoothingmode";
-                       option_descriptor_array.option_descriptors[option].title = "backgroundsmoothingmode";
-                       option_descriptor_array.option_descriptors[option].desc = "backgroundsmoothingmode";
-                       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;
+                       option_descriptors[option].name = "backgroundsmoothingmode";
+                       option_descriptors[option].title = "backgroundsmoothingmode";
+                       option_descriptors[option].desc = "backgroundsmoothingmode";
+                       option_descriptors[option].cap = SANE_CAP_SOFT_DETECT;
+                       option_descriptors[option].constraint_type = SANE_CONSTRAINT_NONE;
+                       option_descriptors[option].constraint.string_list = NULL;
                        break;
                case 18:
-                       option_descriptor_array.option_descriptors[option].name = "backgroundsmoothingaggressiveness";
-                       option_descriptor_array.option_descriptors[option].title = "backgroundsmoothingaggressiveness";
-                       option_descriptor_array.option_descriptors[option].desc = "backgroundsmoothingaggressiveness";
-                       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;
+                       option_descriptors[option].name = "backgroundsmoothingaggressiveness";
+                       option_descriptors[option].title = "backgroundsmoothingaggressiveness";
+                       option_descriptors[option].desc = "backgroundsmoothingaggressiveness";
+                       option_descriptors[option].cap = SANE_CAP_SOFT_DETECT;
+                       option_descriptors[option].constraint_type = SANE_CONSTRAINT_NONE;
+                       option_descriptors[option].constraint.string_list = NULL;
                        break;
                case 19:
-                       option_descriptor_array.option_descriptors[option].name = "binarizationmode";
-                       option_descriptor_array.option_descriptors[option].title = "binarizationmode";
-                       option_descriptor_array.option_descriptors[option].desc = "binarizationmode";
-                       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;
+                       option_descriptors[option].name = "binarizationmode";
+                       option_descriptors[option].title = "binarizationmode";
+                       option_descriptors[option].desc = "binarizationmode";
+                       option_descriptors[option].cap = SANE_CAP_SOFT_DETECT;
+                       option_descriptors[option].constraint_type = SANE_CONSTRAINT_NONE;
+                       option_descriptors[option].constraint.string_list = NULL;
                        break;
                case 20:
-                       option_descriptor_array.option_descriptors[option].name = "binarizationcontrast";
-                       option_descriptor_array.option_descriptors[option].title = "binarizationcontrast";
-                       option_descriptor_array.option_descriptors[option].desc = "binarizationcontrast";
-                       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;
+                       option_descriptors[option].name = "binarizationcontrast";
+                       option_descriptors[option].title = "binarizationcontrast";
+                       option_descriptors[option].desc = "binarizationcontrast";
+                       option_descriptors[option].cap = SANE_CAP_SOFT_DETECT;
+                       option_descriptors[option].constraint_type = SANE_CONSTRAINT_NONE;
+                       option_descriptors[option].constraint.string_list = NULL;
                        break;
                case 21:
-                       option_descriptor_array.option_descriptors[option].name = "maxdocumentlength";
-                       option_descriptor_array.option_descriptors[option].title = "maxdocumentlength";
-                       option_descriptor_array.option_descriptors[option].desc = "maxdocumentlength";
-                       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;
+                       option_descriptors[option].name = "maxdocumentlength";
+                       option_descriptors[option].title = "maxdocumentlength";
+                       option_descriptors[option].desc = "maxdocumentlength";
+                       option_descriptors[option].cap = SANE_CAP_SOFT_DETECT;
+                       option_descriptors[option].constraint_type = SANE_CONSTRAINT_NONE;
+                       option_descriptors[option].constraint.string_list = NULL;
                        break;
                case 22:
-                       option_descriptor_array.option_descriptors[option].name = "scansource";
-                       option_descriptor_array.option_descriptors[option].title = "scansource";
-                       option_descriptor_array.option_descriptors[option].desc = "ScanSoscansourceurce";
-                       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;
+                       option_descriptors[option].name = "scansource";
+                       option_descriptors[option].title = "scansource";
+                       option_descriptors[option].desc = "ScanSoscansourceurce";
+                       option_descriptors[option].cap = SANE_CAP_SOFT_DETECT;
+                       option_descriptors[option].constraint_type = SANE_CONSTRAINT_NONE;
+                       option_descriptors[option].constraint.string_list = NULL;
                        break;
                default:
                        return NULL;
@@ -297,8 +291,8 @@ const SANE_Option_Descriptor* _sane_kds_s2000w_net_get_option_descriptor(
                case 18:
                case 20:
                case 21:
-                       option_descriptor_array.option_descriptors[option].type = SANE_TYPE_INT;
-                       option_descriptor_array.option_descriptors[option].size = sizeof(SANE_Int);
+                       option_descriptors[option].type = SANE_TYPE_INT;
+                       option_descriptors[option].size = sizeof(SANE_Int);
                        break;
                case 2:
                case 3:
@@ -310,16 +304,16 @@ const SANE_Option_Descriptor* _sane_kds_s2000w_net_get_option_descriptor(
                case 17:
                case 19:
                case 22:
-                       option_descriptor_array.option_descriptors[option].type = SANE_TYPE_STRING;
-                       option_descriptor_array.option_descriptors[option].unit = SANE_UNIT_NONE;
-                       option_descriptor_array.option_descriptors[option].size = sizeof(SANE_String) * 50;
+                       option_descriptors[option].type = SANE_TYPE_STRING;
+                       option_descriptors[option].unit = SANE_UNIT_NONE;
+                       option_descriptors[option].size = sizeof(SANE_String) * 50;
                        break;
                default:
                        return NULL;
                        break;
        }
 
-       return &option_descriptor_array.option_descriptors[option];
+       return &option_descriptors[option];
 }
 
 SANE_Status _sane_kds_s2000w_net_control_option(SANE_Handle handle,