Subject: Re: [PATCH] parseopt: do not translate empty help string

From: Thomas Rast <[email-masked]>
Date: Mon, 20 Aug 2012 22:10:33 +0200

Junio C Hamano <[email-masked]> writes:

> Thomas Rast <[email-masked]> writes:
>
>> 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.
>
> Thanks; this is a tricky bit to catch and makes me wonder where else
> we have a similar breakage.
>
> Perhaps we would want to do this instead?  I dunno.
>
>  gettext.h | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git i/gettext.h w/gettext.h
> index 57ba8bb..376297b 100644
> --- i/gettext.h
> +++ w/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);
>  }

Oh, I forgot that we actually had a wrapper instead of the usual _.
Yes, I think that would be the better solution to guard against this.

-- 
Thomas Rast
trast@{inf,student}.ethz.ch