From cca66ab341ffa330908aa6ea8da03e991aa6903c Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Tue, 11 Oct 2005 16:48:05 +0000 Subject: 21862/21863: GLOB_SUBST shouldn't swallow up backslashes in parameter substitutions that don't match anything. --- Src/subst.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'Src/subst.c') diff --git a/Src/subst.c b/Src/subst.c index defb53bd9..67de61418 100644 --- a/Src/subst.c +++ b/Src/subst.c @@ -1945,7 +1945,7 @@ paramsubst(LinkList l, LinkNode n, char **str, int qt, int ssub) */ for (ptr = s; (c = *ptr) && c != '/'; ptr++) { - if ((c == Bnull || c == '\\') && ptr[1]) + if ((c == Bnull || c == Bnullkeep || c == '\\') && ptr[1]) { if (ptr[1] == '/') chuck(ptr); @@ -2846,11 +2846,11 @@ modify(char **str, char **ptr) } zsfree(hsubr); for (tt = hsubl; *tt; tt++) - if (INULL(*tt)) + if (INULL(*tt) && *tt != Bnullkeep) chuck(tt--); untokenize(hsubl); for (tt = hsubr = ztrdup(ptr2); *tt; tt++) - if (INULL(*tt)) + if (INULL(*tt) && *tt != Bnullkeep) chuck(tt--); ptr2[-1] = del; if (sav) -- cgit v1.2.3