aboutsummaryrefslogtreecommitdiffstats
path: root/testing/nvi/27support_C_locale.patch
diff options
context:
space:
mode:
Diffstat (limited to 'testing/nvi/27support_C_locale.patch')
-rw-r--r--testing/nvi/27support_C_locale.patch27
1 files changed, 27 insertions, 0 deletions
diff --git a/testing/nvi/27support_C_locale.patch b/testing/nvi/27support_C_locale.patch
new file mode 100644
index 0000000000..97d2141d16
--- /dev/null
+++ b/testing/nvi/27support_C_locale.patch
@@ -0,0 +1,27 @@
+From: <hesso@pool.math.tu-berlin.de>
+Subject: Allow users to edit 8-bit files even under LC_CTYPE=C.
+
+--- nvi-1.81.6.orig/common/conv.c 2007-11-18 17:41:42.000000000 +0100
++++ nvi-1.81.6/common/conv.c 2009-03-09 16:45:37.812022582 +0100
+@@ -322,11 +322,16 @@
+ else {
+ setlocale(LC_ALL, "");
+ #ifdef USE_WIDECHAR
+- sp->conv.sys2int = cs_char2int;
+- sp->conv.int2sys = cs_int2char;
+- sp->conv.file2int = fe_char2int;
+- sp->conv.int2file = fe_int2char;
+- sp->conv.input2int = ie_char2int;
++ if (!strcmp(LANGCODESET, "ANSI_X3.4-1968")) {
++ sp->conv.file2int = sp->conv.input2int = sp->conv.sys2int = raw2int;
++ sp->conv.int2sys = sp->conv.int2file = int2raw;
++ } else {
++ sp->conv.sys2int = cs_char2int;
++ sp->conv.int2sys = cs_int2char;
++ sp->conv.file2int = fe_char2int;
++ sp->conv.int2file = fe_int2char;
++ sp->conv.input2int = ie_char2int;
++ }
+ #endif
+ #ifdef USE_ICONV
+ o_set(sp, O_FILEENCODING, OS_STRDUP, nl_langinfo(CODESET), 0);