From: Aron Xu <aron@debian.org>
Date: Sat, 9 Jun 2012 01:57:06 +0800
Subject: [PATCH] lc_ctype instead of lc_all
---
src/zhcon.cpp | 20 ++++++++++----------
1 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/src/zhcon.cpp b/src/zhcon.cpp
index 9bd89b9..98b083e 100644
--- a/src/zhcon.cpp
+++ b/src/zhcon.cpp
@@ -358,7 +358,7 @@ void Zhcon::CleanUp() {
if (mArgs.utf8_flag)
CleanupEncodingFilter();
- setenv("LC_ALL", mOldLocale.c_str(), 1);
+ setenv("LC_CTYPE", mOldLocale.c_str(), 1);
}
char Zhcon::mCapBuf[512] = {0};
@@ -640,33 +640,33 @@ void Zhcon::InitLocale(ConfigFile& f){
//FreeBsd use zh_CN.EUC instead of zh_CN.GB2312
//a broken locale? workaround it
#if defined (__FreeBSD__)
- setenv("LC_ALL", "zh_CN.EUC", 1);
+ setenv("LC_CTYPE", "zh_CN.EUC", 1);
#else
if (mArgs.utf8_flag)
- setenv("LC_ALL", "zh_CN.UTF-8", 1);
+ setenv("LC_CTYPE", "zh_CN.UTF-8", 1);
else
- setenv("LC_ALL", "zh_CN.GB2312", 1);
+ setenv("LC_CTYPE", "zh_CN.GB2312", 1);
#endif
mDefaultEncode = GB2312;
} else if (s == "gbk") {
if (mArgs.utf8_flag)
- setenv("LC_ALL", "zh_CN.UTF-8", 1);
+ setenv("LC_CTYPE", "zh_CN.UTF-8", 1);
else
- setenv("LC_ALL", "zh_CN.GBK", 1);
+ setenv("LC_CTYPE", "zh_CN.GBK", 1);
mDefaultEncode = GBK;
} else if (s == "big5") {
if (mArgs.utf8_flag)
- setenv("LC_ALL", "zh_TW.UTF-8", 1);
+ setenv("LC_CTYPE", "zh_TW.UTF-8", 1);
else
- setenv("LC_ALL", "zh_TW.Big5", 1);
+ setenv("LC_CTYPE", "zh_TW.Big5", 1);
mDefaultEncode = BIG5;
} else if (s == "jis") {
//SetEncode(JIS,JIS);
- setenv("LC_ALL", "ja.JIS", 1);
+ setenv("LC_CTYPE", "ja.JIS", 1);
mDefaultEncode = JIS;
} else if (s == "ksc") {
//SetEncode(KSC,KSC);
- setenv("LC_ALL", "ko", 1);
+ setenv("LC_CTYPE", "ko", 1);
mDefaultEncode = GBK;
} else {
throw runtime_error("unable to set default encode!");
--