Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit eb4cf5a6 authored by Arnaud Lacombe's avatar Arnaud Lacombe Committed by Michal Marek
Browse files

kconfig: fix missing "0x" prefix from S_HEX symbol in autoconf.h



The specialized printer for headers (espectially autoconf.h) is missing
fixup code for S_HEX symbol's "0x" prefix. As long as kconfig does not
warn for such missing prefix, this code is needed. Fix this.

In the same time, fix some nits in `header_print_symbol()'.

Cc: Randy Dunlap <rdunlap@xenotime.net>
Cc: Mauro Carvalho Chehab <mchehab@infradead.org>

Broken-by: default avatarArnaud Lacombe <lacombar@gmail.com>
Reported-by: default avatarRandy Dunlap <rdunlap@xenotime.net>
Reported-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
Acked-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
Acked-by: default avatarRandy Dunlap <rdunlap@xenotime.net>
Signed-off-by: default avatarArnaud Lacombe <lacombar@gmail.com>
Signed-off-by: default avatarMichal Marek <mmarek@suse.cz>
parent a1e80655
Loading
Loading
Loading
Loading
+21 −5
Original line number Diff line number Diff line
@@ -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