git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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
Next: Junio C Hamano
Message 1 of 2 in “problem with setlocale trick in gettext.c”
  1. Nguyen Thai Ngoc DuySep 24, 2012
  2. Junio C HamanoSep 25, 2012

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.