void-packages/srcpkgs/nvi/patches/nvi-27-support_C_locale.patch
2012-07-14 21:04:11 +02:00

30 lines
1 KiB
Diff

#! /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);