In particular, standard C does not allow a parenthesized string as an array initializer. Some compilers, for example GCC and MSVC, allow this syntax as an extension, but it is (obviously) not a portable construct. In order to avoid such a construct, for example while initialising the array 'ignore_error' (builtin/add.c line 309), we simply remove the parenthesis from the definition of the N_() macro. Signed-off-by: Ramsay Jones <ramsay@xxxxxxxxxxxxxxxxxxx> --- For example, tcc can not parse this syntax. Note that sparse issues warnings like the following: builtin/add.c:309:1: warning: too long initializer-string for \ array of char which is actually a bug in sparse that is tickled by a parenthesized string initializer (it doesn't determine the correct size of the string). Again I have a patch ... gettext.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/gettext.h b/gettext.h index 1b253b7..24d9182 100644 --- a/gettext.h +++ b/gettext.h @@ -35,6 +35,6 @@ const char *Q_(const char *msgid, const char *plu, unsigned long n) } /* Mark msgid for translation but do not translate it. */ -#define N_(msgid) (msgid) +#define N_(msgid) msgid #endif -- 1.7.4 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html