Re: [PATCH/RFC 0/2] use libcharset.h with gettext if available
- From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
- Date
- Sep 29, 2010, 10:00 UTC
- Message-ID
- <AANLkTin90pKaVGVaG-4PW50TAhgfp1QVtrKpvyVxpnW0@mail.gmail.com>
- In-Reply-To
- <AANLkTinxSqPD8H4Giigb1vbi7DC2wpDVqWmXGVZXmeKQ@mail.gmail.com>
On Tue, Sep 28, 2010 at 21:47, Erik Faye-Lund <kusmabite@gmail.com> wrote:
Show 16 quoted lines
> On Tue, Sep 28, 2010 at 8:29 PM, Ævar Arnfjörð Bjarmason > <avarab@gmail.com> 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.
Show 15 quoted lines
>> * 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.