Code

i18n: avoid parenthesized string as array initializer
authorRamsay Jones <ramsay@ramsay1.demon.co.uk>
Thu, 7 Apr 2011 18:41:48 +0000 (19:41 +0100)
committerJunio C Hamano <gitster@pobox.com>
Mon, 11 Apr 2011 17:33:51 +0000 (10:33 -0700)
The syntax

    static const char ignore_error[] = ("something");

is invalid C.  A parenthesized string is not allowed as an array
initializer.

Some compilers, for example GCC and MSVC, allow this syntax as an
extension, but it is not a portable construct.  tcc does not parse it, for
example.

Remove the parenthesis from the definition of the N_() macro to
fix this.

Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Acked-by: Jonathan Nieder <jrnieder@gmail.com>
Acked-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
gettext.h

index 1b253b7e760cbe78ecfa719eb4e3cd17c0e33176..24d91824e5a810cb3f2cbc4ca0514ec68725597d 100644 (file)
--- 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