From: Ævar Arnfjörð Bjarmason Date: Wed, 29 Sep 2010 10:00:14 GMT Subject: Re: [PATCH/RFC 0/2] use libcharset.h with gettext if available Message-ID: In-Reply-To: On Tue, Sep 28, 2010 at 21:47, Erik Faye-Lund wrote: > On Tue, Sep 28, 2010 at 8:29 PM, Ævar Arnfjörð Bjarmason > wrote: >> Yeah, I'm hoping it'll get into next soon so we can get more >> reports/fixes like these. Anyway, I amended your patches a bit, here >> are the changes: >> >>  * Split up the s/char*/const char*/ change into its own patch, or is >>   there a reason for why this needs to be there along with the >>   libcharset.h change? >> > > The reason was that my version of locale_charset() returns a const > char *, so I got a warning if I didn't. nl_langinfo() returns a char > *, so I don't think that constness-fix patch makes sense in itself. > But what might make more sense would be to squash it into the original > commit for that line. Ah, then it should be part of the patch. I'll add a note about the different prototypes to it. >>  * Added docs about the define to the Makefile >> > > Nice! > >>  * Added defaults for NO_LIBCHARSET to the default, I only changed the >>   defaults for the MINGW entry, maybe it should be changed on Cygwin >>   and Windows too? And probably on OpenBSD and NetBSD too. >> > > I don't think NO_LIBCHARSET should be the default. libcharset is > reported to be a bit better than nl_langinfo at normalizing the > encoding, and GNU gettext depends on libcharset (through libiconv, > which libcharset is distributed with). So in the case of a GNU > gettext, libcharset should really be present. I can't find any package (with apt-file) on Debian or Ubuntu that provides libcharset.h, but I have langinfo.h on those systems. The GNU gettext manual also reccomends the use of nl_langinfo in "11.2.4 How to specify the output character set `gettext' uses", so it seems that using that and not libiconv is the default way of doing things on GNU gettext + GNU libc systems.