aboutsummaryrefslogtreecommitdiff
path: root/editors/nvi/patches/nvi-27-support_C_locale.patch
blob: 24663d176b1af40550712550461ce1af538413b5 (plain)
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
#! /bin/sh /usr/share/dpatch/dpatch-run
## 27support_C_locale.dpatch by  <hesso@pool.math.tu-berlin.de>
##
## DP: Allow users to edit 8-bit files even under LC_CTYPE=C.

@DPATCH@
--- 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);