Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
PATCH: 3.1.6-test-1: Don't use strcoll() with ranges
- X-seq: zsh-workers 7185
- From: Peter Stephenson <pws@xxxxxxxxxxxxxxxxx>
- To: zsh-workers@xxxxxxxxxxxxxx (Zsh hackers list)
- Subject: PATCH: 3.1.6-test-1: Don't use strcoll() with ranges
- Date: Sun, 18 Jul 1999 17:42:20 +0200
- Mailing-list: contact zsh-workers-help@xxxxxxxxxxxxxx; run by ezmlm
Bart's pointed out to me that there was some discussion about problems with
using strcoll() inside character ranges: for one thing, [A-Z] in the de
locale matches all characters, which is not good. So this just uses ASCII
collation in this one case. You can also use [[:upper:]], of course; that
seems to be safer without this patch.
--- Src/glob.c.strcoll Thu Jun 24 18:04:31 1999
+++ Src/glob.c Sun Jul 18 17:37:35 1999
@@ -2926,7 +2926,10 @@
* and optional ^ have already been skipped. */
char *pat = *patptr;
-#ifdef HAVE_STRCOLL
+ /* We don't use strcoll() for ranges, since it can have side
+ * effects. It's less necessary now we have [:posix:] ranges.
+ */
+#if 0
char l_buf[2], r_buf[2], ch_buf[2];
ch_buf[0] = ch;
@@ -2944,7 +2947,7 @@
break;
} else if (*pat == '-' && pat[-1] != rchar &&
pat[1] != Outbrack) {
-#ifdef HAVE_STRCOLL
+#if 0
l_buf[0] = PPAT(-1);
r_buf[0] = PAT(1);
if (strcoll(l_buf, ch_buf) <= 0 &&
--
Peter Stephenson <pws@xxxxxxxxxxxxxxxxx> Tel: +39 050 844536
WWW: http://www.ifh.de/~pws/
Dipartimento di Fisica, Via Buonarroti 2, 56127 Pisa, Italy
Messages sorted by:
Reverse Date,
Date,
Thread,
Author