aboutsummaryrefslogtreecommitdiffstats
path: root/debian/patches/230_cygwin-lang.patch
blob: 5a6671e48e09735540abbe2c8391d090fb32106b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Subject: Do not fail when LANG is not set on Cygwin
From: Tatsuya Kinoshita <tats@debian.org>, Jarek Czekalski <jarekczek@poczta.onet.pl>
Bug: https://sourceforge.net/p/w3m/patches/66/
    
    Check whether the value of LC_ALL, LC_CTYPE or LANG is not NULL in
    check_cygwin_console().

diff --git a/terms.c b/terms.c
index 7a3c987..399d117 100644
--- a/terms.c
+++ b/terms.c
@@ -222,6 +222,7 @@ static void
 check_cygwin_console(void)
 {
     char *term = getenv("TERM");
+    char *ctype;
     HANDLE hWnd;
 
     if (term == NULL)
@@ -236,7 +237,9 @@ check_cygwin_console(void)
 		isLocalConsole = 1;
 	    }
 	}
-	if (strncmp(getenv("LANG"), "ja", 2) == 0) {
+	if (((ctype = getenv("LC_ALL")) ||
+	     (ctype = getenv("LC_CTYPE")) ||
+	     (ctype = getenv("LANG"))) && strncmp(ctype, "ja", 2) == 0) {
 	    isWinConsole = TERM_CYGWIN_RESERVE_IME;
 	}
 #ifdef SUPPORT_WIN9X_CONSOLE_MBCS