From 2f41e7ea5700aab61f32a1db97569f832563fbd8 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Thu, 17 Jun 2010 20:20:24 +0200 Subject: [PATCH] fix extra bogus files generation in include/config/* Signed-off-by: Denys Vlasenko --- scripts/basic/fixdep.c | 13 +++++++++---- 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 bbb575c..1a5b10f 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 60934b5..e328788 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]; -- 2.7.4