mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-03 17:40:04 +00:00
![Linus Torvalds](/assets/img/avatar_default.png)
It turns out that gperf-3.1 changed types in the generated code in ways that aren't even trivially detectable without having to generate a test-file. It's just not worth using tools and libraries from clowns that don't understand or care about compatibility. So get rid of gperf. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
54 lines
1.9 KiB
C
54 lines
1.9 KiB
C
|
|
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 },
|
|
{ "boolean", 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 },
|
|
{ "env", T_OPT_ENV, 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;
|
|
}
|