hc
2023-11-06 15ade055295d13f95d49e3d99b09f3bbfb4a43e7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
 
static struct kconf_id kconf_id_array[] = {
   { "mainmenu",        T_MAINMENU,        TF_COMMAND },
   { "menu",        T_MENU,            TF_COMMAND },
   { "endmenu",        T_ENDMENU,        TF_COMMAND },
   { "source",        T_SOURCE,        TF_COMMAND },
   { "choice",        T_CHOICE,        TF_COMMAND },
   { "endchoice",        T_ENDCHOICE,        TF_COMMAND },
   { "comment",        T_COMMENT,        TF_COMMAND },
   { "config",        T_CONFIG,        TF_COMMAND },
   { "menuconfig",        T_MENUCONFIG,        TF_COMMAND },
   { "help",        T_HELP,            TF_COMMAND },
   { "---help---",        T_HELP,            TF_COMMAND },
   { "if",            T_IF,            TF_COMMAND|TF_PARAM },
   { "endif",        T_ENDIF,        TF_COMMAND },
   { "depends",        T_DEPENDS,        TF_COMMAND },
   { "optional",        T_OPTIONAL,        TF_COMMAND },
   { "default",        T_DEFAULT,        TF_COMMAND, S_UNKNOWN },
   { "prompt",        T_PROMPT,        TF_COMMAND },
   { "tristate",        T_TYPE,            TF_COMMAND, S_TRISTATE },
   { "def_tristate",    T_DEFAULT,        TF_COMMAND, S_TRISTATE },
   { "bool",        T_TYPE,            TF_COMMAND, S_BOOLEAN },
   { "def_bool",        T_DEFAULT,        TF_COMMAND, S_BOOLEAN },
   { "int",        T_TYPE,            TF_COMMAND, S_INT },
   { "hex",        T_TYPE,            TF_COMMAND, S_HEX },
   { "string",        T_TYPE,            TF_COMMAND, S_STRING },
   { "select",        T_SELECT,        TF_COMMAND },
   { "imply",        T_IMPLY,        TF_COMMAND },
   { "range",        T_RANGE,        TF_COMMAND },
   { "visible",        T_VISIBLE,        TF_COMMAND },
   { "option",        T_OPTION,        TF_COMMAND },
   { "on",            T_ON,            TF_PARAM },
   { "modules",        T_OPT_MODULES,        TF_OPTION },
   { "defconfig_list",    T_OPT_DEFCONFIG_LIST,    TF_OPTION },
   { "allnoconfig_y",    T_OPT_ALLNOCONFIG_Y,    TF_OPTION },
};
 
#define KCONF_ID_ARRAY_SIZE (sizeof(kconf_id_array)/sizeof(struct kconf_id))
 
static const struct kconf_id *kconf_id_lookup(register const char *str, register unsigned int len)
{
   int i;
 
   for (i = 0; i < KCONF_ID_ARRAY_SIZE; i++) {
       struct kconf_id *id = kconf_id_array+i;
       int l = strlen(id->name);
 
       if (len == l && !memcmp(str, id->name, len))
           return id;
   }
   return NULL;
}