Am Samstag, 7. Februar 2015, 10:14:33 schrieb Giuseppe Scrivano: > Tim Ruehsen <[email protected]> writes: > > Fix #43785 for another Solaris issue. > > > > I would like to see this in the next bugfix release. > > > > Do you agree ? > > > > Tim > > > > From 518ed8d07c0a6e441e0a919ba1967d89e0061898 Mon Sep 17 00:00:00 2001 > > From: =?UTF-8?q?Tim=20R=C3=BChsen?= <[email protected]> > > Date: Thu, 5 Feb 2015 16:05:24 +0100 > > Subject: [PATCH] src/wget.h: Fix libintl.h / gettext clash for Solaris > > > > In case --disable-nls is given, we have to include libintl.h before > > out gettext defines because libintl.h will be implicitly included by > > locale.h. And in this case our defines will conflict with libintl.h > > function prototypes. > > --- > > > > src/wget.h | 11 +++++++---- > > 1 file changed, 7 insertions(+), 4 deletions(-) > > > > diff --git a/src/wget.h b/src/wget.h > > index cddacdc..0b2381d 100644 > > --- a/src/wget.h > > +++ b/src/wget.h > > @@ -59,11 +59,14 @@ as that of the covered work. */ > > > > /* `gettext (FOO)' is long to write, so we use `_(FOO)'. If NLS is > > > > unavailable, _(STRING) simply returns STRING. */ > > > > #if ENABLE_NLS > > > > -# include <libintl.h> > > -# define _(STRING) gettext(STRING) > > +# include <libintl.h> > > +# define _(STRING) gettext(STRING) > > > > #else > > > > -# define _(STRING) STRING > > -# define ngettext(STRING1,STRING2,N) STRING2 > > +# ifdef solaris > > +# include <libintl.h> > > +# endif > > I would prefer that we don't have OS dependent ifdefs. What about > redefining "ngettext" as following when !ENABLE_NLS? Would this be > enough? > > # define ngettext(Msgid1, Msgid2, N) \ > ((N) == 1 \ > ? ((void) (Msgid2), (const char *) (Msgid1)) \ > > : ((void) (Msgid1), (const char *) (Msgid2)))
This does not work (Kiyoshi wrote a private Mail to me). > Or can't we just "#include <libintl.h>" on all platforms? I wouldn't expect this to work everywhere. Another idea: how often do we use ngettext ? AFAIR, only 1 or 2 times in the code. So why not remove the #define and amend those two occurrences ? Tim
signature.asc
Description: This is a digitally signed message part.
