gettext: do not translate empty string
authorThomas Rast <trast@student.ethz.ch>
Mon, 20 Aug 2012 18:24:56 +0000 (20:24 +0200)
committerJunio C Hamano <gitster@pobox.com>
Tue, 21 Aug 2012 03:57:41 +0000 (20:57 -0700)
The gettext .po files have a header, but it looks like the
translation specification for an empty string.  This results in
_("") actually returning that header.

Check the input to _() and do not call gettext() on an empty string;
in some places, we run _(opts->help) where opts->help may be empty.

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
gettext.h

index 57ba8bb02e39d59752a5b2fbf016bc6fe49d27c1..376297bf730d421fa13237350d2beeb525be5ec4 100644 (file)
--- a/gettext.h
+++ b/gettext.h
@@ -44,6 +44,8 @@ extern int use_gettext_poison(void);
 
 static inline FORMAT_PRESERVING(1) const char *_(const char *msgid)
 {
+       if (!*msgid)
+               return "";
        return use_gettext_poison() ? "# GETTEXT POISON #" : gettext(msgid);
 }