pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/shells/tcsh



Module Name:    pkgsrc
Committed By:   he
Date:           Fri Feb 17 19:21:44 UTC 2017

Modified Files:
        pkgsrc/shells/tcsh: Makefile distinfo
Added Files:
        pkgsrc/shells/tcsh/patches: patch-ed.inputl.c

Log Message:
Make the <meta> modifier work on Linux again by applying a fix
from upstream, ref.

https://github.com/tcsh-org/tcsh/commit/8e6dfd53321a0b0047f7d75db21a946c166c600b

Unfortunately the AsciiOnly reversion causes a SEGV because
*ch is used to index in the command array, and now contains
INVALID_BYTE.  Reproduce error with:
  env -i ./tcsh
  <meta>b
Bump PKGREVISION.


To generate a diff of this commit:
cvs rdiff -u -r1.84 -r1.85 pkgsrc/shells/tcsh/Makefile
cvs rdiff -u -r1.38 -r1.39 pkgsrc/shells/tcsh/distinfo
cvs rdiff -u -r0 -r1.1 pkgsrc/shells/tcsh/patches/patch-ed.inputl.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/shells/tcsh/Makefile
diff -u pkgsrc/shells/tcsh/Makefile:1.84 pkgsrc/shells/tcsh/Makefile:1.85
--- pkgsrc/shells/tcsh/Makefile:1.84    Thu Jan 19 18:52:25 2017
+++ pkgsrc/shells/tcsh/Makefile Fri Feb 17 19:21:44 2017
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.84 2017/01/19 18:52:25 agc Exp $
+# $NetBSD: Makefile,v 1.85 2017/02/17 19:21:44 he Exp $
 
 DISTNAME=      tcsh-6.20.00
-PKGREVISION=   1
+PKGREVISION=   2
 CATEGORIES=    shells
 MASTER_SITES=  ftp://ftp.astron.com/pub/tcsh/
 MASTER_SITES+= ftp://ftp.funet.fi/pub/mirrors/ftp.astron.com/pub/tcsh/

Index: pkgsrc/shells/tcsh/distinfo
diff -u pkgsrc/shells/tcsh/distinfo:1.38 pkgsrc/shells/tcsh/distinfo:1.39
--- pkgsrc/shells/tcsh/distinfo:1.38    Sat Dec 24 13:18:43 2016
+++ pkgsrc/shells/tcsh/distinfo Fri Feb 17 19:21:44 2017
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.38 2016/12/24 13:18:43 kim Exp $
+$NetBSD: distinfo,v 1.39 2017/02/17 19:21:44 he Exp $
 
 SHA1 (tcsh-6.20.00.tar.gz) = a77d68434cc4bed731a46a39b9e01523e3a1e98c
 RMD160 (tcsh-6.20.00.tar.gz) = 3f119421ef3500cea1bebe2edf35c6d81ca1c8f3
@@ -8,6 +8,7 @@ SHA1 (patch-aa) = 440849534fc49afdbd70b9
 SHA1 (patch-ab) = 8cf26988778b5331360eb1aab98bfcc920c71ac2
 SHA1 (patch-configure) = 91c2019da8c074bd6f24b84bf798ccd497110727
 SHA1 (patch-ed.chared.c) = d26ba00afcba958b5bb1efc2171e6211c8a5f964
+SHA1 (patch-ed.inputl.c) = d91c55ba297fcbe69f09b1ab3a7b50b9d83114c3
 SHA1 (patch-nls-catgen) = fe5da1ea0edfcb646bcc271e614f5075afa56c60
 SHA1 (patch-sh.func.c) = 030a2647930300f96147715ae17ab95c79ca8ca2
 SHA1 (patch-sh.h) = ac6211ddd5e552e9baec2d35aed5e7e573cab04e

Added files:

Index: pkgsrc/shells/tcsh/patches/patch-ed.inputl.c
diff -u /dev/null pkgsrc/shells/tcsh/patches/patch-ed.inputl.c:1.1
--- /dev/null   Fri Feb 17 19:21:44 2017
+++ pkgsrc/shells/tcsh/patches/patch-ed.inputl.c        Fri Feb 17 19:21:44 2017
@@ -0,0 +1,35 @@
+$NetBSD: patch-ed.inputl.c,v 1.1 2017/02/17 19:21:44 he Exp $
+
+Add fix from upstream: Unfortunately the AsciiOnly reversion causes
+a SEGV because *ch is used to index in the command array, and now contains
+INVALID_BYTE.  Reproduce error with:
+  env -i ./tcsh
+  <meta>b
+
+--- ed.inputl.c.orig   2012-10-19 15:23:32.000000000 +0000
++++ ed.inputl.c
+@@ -800,13 +800,17 @@ GetNextChar(Char *cp)
+               return -1;
+           }
+       }
+-      cbp++;
+-      if (normal_mbtowc(cp, cbuf, cbp) == -1) {
+-          reset_mbtowc();
+-          if (cbp < MB_CUR_MAX)
+-              continue; /* Maybe a partial character */
+-          /* And drop the following bytes, if any */
+-          *cp = (unsigned char)*cbuf | INVALID_BYTE;
++      if (AsciiOnly) {
++          *cp = (unsigned char)*cbuf;
++      } else {
++          cbp++;
++          if (normal_mbtowc(cp, cbuf, cbp) == -1) {
++              reset_mbtowc();
++              if (cbp < MB_CUR_MAX)
++                  continue; /* Maybe a partial character */
++              /* And drop the following bytes, if any */
++              *cp = (unsigned char)*cbuf | INVALID_BYTE;
++          }
+       }
+       break;
+     }



Home | Main Index | Thread Index | Old Index