From 32938dda2d800f54f65ac34d3b9fdd644e86d8d6 Mon Sep 17 00:00:00 2001 From: Arnaud Lacombe Date: Thu, 14 Jul 2011 15:31:07 -0400 Subject: [PATCH] --- yaml --- r: 261638 b: refs/heads/master c: eb4cf5a642f6430cffff7ba5d8d9bd46ea409281 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/scripts/kconfig/confdata.c | 26 +++++++++++++++++++++----- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index 39d80f618a53..658933f0e85a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a1e806550e566e987e06561873ab8276ee54d130 +refs/heads/master: eb4cf5a642f6430cffff7ba5d8d9bd46ea409281 diff --git a/trunk/scripts/kconfig/confdata.c b/trunk/scripts/kconfig/confdata.c index be6952c7fb29..df629ecb4fdf 100644 --- a/trunk/scripts/kconfig/confdata.c +++ b/trunk/scripts/kconfig/confdata.c @@ -487,27 +487,43 @@ static struct conf_printer kconfig_printer_cb = static void header_print_symbol(FILE *fp, struct symbol *sym, const char *value, void *arg) { - const char *suffix = ""; switch (sym->type) { case S_BOOLEAN: - case S_TRISTATE: + case S_TRISTATE: { + const char *suffix = ""; + switch (*value) { case 'n': return; case 'm': suffix = "_MODULE"; - /* FALLTHROUGH */ + /* fall through */ default: value = "1"; } + fprintf(fp, "#define %s%s%s %s\n", + CONFIG_, sym->name, suffix, value); + break; + } + case S_HEX: { + const char *prefix = ""; + + if (value[0] != '0' || (value[1] != 'x' && value[1] != 'X')) + prefix = "0x"; + fprintf(fp, "#define %s%s %s%s\n", + CONFIG_, sym->name, prefix, value); + break; + } + case S_STRING: + case S_INT: + fprintf(fp, "#define %s%s %s\n", + CONFIG_, sym->name, value); break; default: break; } - fprintf(fp, "#define %s%s%s %s\n", - CONFIG_, sym->name, suffix, value); } static void