problem with setlocale trick in gettext.c

From: Nguyen Thai Ngoc Duy <hidden>
Date: 2016-06-15 22:54:51
Subsystem: the rest · Maintainer: Linus Torvalds

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help