aboutsummaryrefslogtreecommitdiffstats
path: root/debian/patches/230_cygwin-lang.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/230_cygwin-lang.patch')
-rw-r--r--debian/patches/230_cygwin-lang.patch30
1 files changed, 30 insertions, 0 deletions
diff --git a/debian/patches/230_cygwin-lang.patch b/debian/patches/230_cygwin-lang.patch
new file mode 100644
index 0000000..c8c72c8
--- /dev/null
+++ b/debian/patches/230_cygwin-lang.patch
@@ -0,0 +1,30 @@
+Subject: Do not fail when LANG is not set on Cygwin
+From: Tatsuya Kinoshita <tats@debian.org>
+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..4bb46c0 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