problem with setlocale trick in gettext.c
- From
Nguyen Thai Ngoc Duy <pclouds@gmail.com>
- Date
- Sep 24, 2012, 14:08 UTC
- Message-ID
- <CACsJy8A+YvdGc6LM5baFqHoB91p6TAjQ9kKXuaPspvL--mfe0Q@mail.gmail.com>
Hi,
I think the setlocale() trick in init_gettext_charset() messes up locale support from library. Currently I get
fatal: Could not switch to '/foo/': Kh?ng c? t?p tin ho?c th? m?c nh? v?y
The question marks are what I actually see. The point here is to call strerrno(), which should return a l10n string. With this patch
diff --git a/gettext.c b/gettext.c index 71e9545..eeb88c5 100644 --- a/gettext.c +++ b/gettext.c @@ -115,7 +115,7 @@ static void init_gettext_charset(const char *domain) setlocale(LC_CTYPE, ""); charset = locale_charset(); bind_textdomain_codeset(domain, charset); - setlocale(LC_CTYPE, "C"); + //setlocale(LC_CTYPE, "C"); } void git_setup_gettext(void) I get correct output again fatal: Could not switch to '/foo/': Không có tập tin hoặc thư mục như vậy Anybody knows how this happens?
-- Duy