diff options
-rw-r--r-- | scripts/basic/fixdep.c | 13 | ||||
-rw-r--r-- | scripts/basic/split-include.c | 7 |
2 files changed, 13 insertions, 7 deletions
diff --git a/scripts/basic/fixdep.c b/scripts/basic/fixdep.c index bbb575cec..1a5b10f84 100644 --- a/scripts/basic/fixdep.c +++ b/scripts/basic/fixdep.c @@ -243,22 +243,27 @@ void parse_config_file(char *map, size_t len) if (!memcmp(p, "IF_NOT", 6)) goto conf7; } /* we have at least 3 chars because of p <= end_3 */ - /*if (!memcmp(p, "IF_", 3)) goto conf3;*/ - if (p[0] == 'I' && p[1] == 'F' && p[2] == '_') goto conf3; + /*if (!memcmp(p, "IF_", 3)) ...*/ + if (p[0] == 'I' && p[1] == 'F' && p[2] == '_') { + off = 3; + goto conf; + } /* This identifier is not interesting, skip it */ while (p <= end_3 && (isalnum(*p) || *p == '_')) p++; continue; - conf3: off = 3; conf7: off = 7; + conf: p += off; for (q = p; q < end_3+3; q++) { if (!(isalnum(*q) || *q == '_')) break; } - use_config(p, q-p); + if (q != p) { + use_config(p, q-p); + } } } diff --git a/scripts/basic/split-include.c b/scripts/basic/split-include.c index 60934b5b1..e328788e2 100644 --- a/scripts/basic/split-include.c +++ b/scripts/basic/split-include.c @@ -110,11 +110,12 @@ int main(int argc, const char * argv []) if (line[0] != '#') continue; - if ((str_config = strstr(line, "CONFIG_")) == NULL) + if ((str_config = strstr(line, " CONFIG_")) == NULL) continue; - /* Make the output file name. */ - str_config += sizeof("CONFIG_") - 1; + /* We found #define CONFIG_foo or #undef CONFIG_foo. + * Make the output file name. */ + str_config += sizeof(" CONFIG_") - 1; for (itarget = 0; !isspace(str_config[itarget]); itarget++) { int c = (unsigned char) str_config[itarget]; |