From 612c280ef2400c70ea2fd8f2e17549c95002368c Mon Sep 17 00:00:00 2001 From: Sam Ravnborg Date: Wed, 8 Apr 2009 08:42:48 +0200 Subject: kconfig: fix update-po-config to accect backslash in input Massimo Maiurana reported (slightly edited): ===== In latest 2.6.29 "make update-po-config" fails at msguniq invocation with an "invalid control sequence" error. The offending string is the following, and it's located in drivers/staging/panel/Kconfig:72: "'\e[L' which are specific to the LCD, and a few ANSI codes. The" looks to me like gettext expects strings in printf format, so in this case it thinks "\e" is a control sequence but doesn't recognise it as a valid one. A valid solution would be to tell kxgettext to automatically escape this kind of strings in the */config.pot he produces, so that msguniq would not complain. ===== This patch implements the suggested escaping. Reported-by: Massimo Maiurana Tested-by: Massimo Maiurana Signed-off-by: Sam Ravnborg --- scripts/kconfig/kxgettext.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scripts/kconfig/kxgettext.c b/scripts/kconfig/kxgettext.c index 6eb72a7f2562..8d9ce22b0fc5 100644 --- a/scripts/kconfig/kxgettext.c +++ b/scripts/kconfig/kxgettext.c @@ -43,6 +43,10 @@ static char *escape(const char* text, char *bf, int len) ++text; goto next; } + else if (*text == '\\') { + *bfp++ = '\\'; + len--; + } *bfp++ = *text++; next: --len; -- cgit v1.2.2