From 991c83ab343917b904ed7fd47a39e8517e15dcd1 Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Fri, 14 Nov 2003 17:30:07 +0000 Subject: 19105 shout if interactive without terminal. 19167: BRACE_CCL range with NULL at start. 19168: Sizes using ztrftime were inconsistent. Ports from main line. --- Src/glob.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'Src/glob.c') diff --git a/Src/glob.c b/Src/glob.c index 082eea380..c0c75624e 100644 --- a/Src/glob.c +++ b/Src/glob.c @@ -1748,12 +1748,13 @@ xpandbraces(LinkList list, LinkNode *np) * set of flags saying whether each character is present; * * the final list is in lexical order. */ char ccl[256], *p; - unsigned char c1, c2, lastch; + unsigned char c1, c2; unsigned int len, pl; + int lastch = -1; uremnode(list, node); memset(ccl, 0, sizeof(ccl) / sizeof(ccl[0])); - for (p = str + 1, lastch = 0; p < str2;) { + for (p = str + 1; p < str2;) { if (itok(c1 = *p++)) c1 = ztokens[c1 - STOUC(Pound)]; if ((char) c1 == Meta) @@ -1762,10 +1763,10 @@ xpandbraces(LinkList list, LinkNode *np) c2 = ztokens[c2 - STOUC(Pound)]; if ((char) c2 == Meta) c2 = 32 ^ p[1]; - if (c1 == '-' && lastch && p < str2 && (int)lastch <= (int)c2) { - while ((int)lastch < (int)c2) + if (c1 == '-' && lastch >= 0 && p < str2 && lastch <= (int)c2) { + while (lastch < (int)c2) ccl[lastch++] = 1; - lastch = 0; + lastch = -1; } else ccl[lastch = c1] = 1; } -- cgit 1.4.1