summaryrefslogtreecommitdiff
path: root/Src/pattern.c
diff options
context:
space:
mode:
authorAxel Beckert <abe@deuxchevaux.org>2017-08-10 17:16:37 +0200
committerAxel Beckert <abe@deuxchevaux.org>2017-08-10 17:16:37 +0200
commite3b67a8198c852bf6c9db3a0a1a20e87a4e1da74 (patch)
tree8486633f6232f49ea330ab8e036decb5dc3bbf74 /Src/pattern.c
parentf8edeff2494bf23e2ee29d4c761361b1c878e09d (diff)
parentdc475bfa0ec6cd03789dde3bf28f71e0ea9d5003 (diff)
downloadzsh-e3b67a8198c852bf6c9db3a0a1a20e87a4e1da74.tar.gz
zsh-e3b67a8198c852bf6c9db3a0a1a20e87a4e1da74.zip
Merge tag '5.4.1' into debian
Release 5.4.1.
Diffstat (limited to 'Src/pattern.c')
-rw-r--r--Src/pattern.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/Src/pattern.c b/Src/pattern.c
index 1f2e94bd9..fc7c73739 100644
--- a/Src/pattern.c
+++ b/Src/pattern.c
@@ -668,15 +668,9 @@ patcompile(char *exp, int inflags, char **endexp)
if (imeta(*mtest))
nmeta++;
if (nmeta) {
- char *oldpatout = patout;
- ptrdiff_t pd;
patadd(NULL, 0, nmeta, 0);
- /*
- * Yuk.
- */
p = (Patprog)patout;
- pd = patout - oldpatout;
- opnd += pd;
+ opnd = dupstring_wlen(opnd, oplen);
dst = patout + startoff;
}
@@ -1527,7 +1521,7 @@ patcomppiece(int *flagp, int paren)
patparse = nptr;
len |= 1;
}
- DPUTS(*patparse != '-', "BUG: - missing from numeric glob");
+ DPUTS(!IS_DASH(*patparse), "BUG: - missing from numeric glob");
patparse++;
if (idigit(*patparse)) {
to = (zrange_t) zstrtol((char *)patparse,
@@ -3631,7 +3625,7 @@ mb_patmatchrange(char *range, wchar_t ch, int zmb_ind, wint_t *indptr, int *mtp)
return 1;
break;
case PP_PRINT:
- if (iswprint(ch))
+ if (WC_ISPRINT(ch))
return 1;
break;
case PP_PUNCT: