diff options
author | Peter Stephenson <pws@users.sourceforge.net> | 2005-10-11 16:48:05 +0000 |
---|---|---|
committer | Peter Stephenson <pws@users.sourceforge.net> | 2005-10-11 16:48:05 +0000 |
commit | cca66ab341ffa330908aa6ea8da03e991aa6903c (patch) | |
tree | 0b15ce734ec264fdd72c27d68e48bc65bdaf6d14 /Src/pattern.c | |
parent | 1eaa7fee0d111b999c44385eb4fda1ad604e3606 (diff) | |
download | zsh-cca66ab341ffa330908aa6ea8da03e991aa6903c.tar.gz zsh-cca66ab341ffa330908aa6ea8da03e991aa6903c.tar.xz zsh-cca66ab341ffa330908aa6ea8da03e991aa6903c.zip |
21862/21863: GLOB_SUBST shouldn't swallow up backslashes in parameter
substitutions that don't match anything.
Diffstat (limited to 'Src/pattern.c')
-rw-r--r-- | Src/pattern.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/Src/pattern.c b/Src/pattern.c index 36578226c..aa95a46bd 100644 --- a/Src/pattern.c +++ b/Src/pattern.c @@ -260,13 +260,13 @@ static char endseg[] = { static char endstr[] = { '/', /* file only */ - '\0', Bar, Outpar, Quest, Star, Inbrack, Inpar, Inang, + '\0', Bar, Outpar, Quest, Star, Inbrack, Inpar, Inang, Bnullkeep, /* all patterns */ Tilde, Hat, Pound /* extended glob only */ }; -#define PATENDSTRLEN_NORM 9 -#define PATENDSTRLEN_EXT 12 +#define PATENDSTRLEN_NORM 10 +#define PATENDSTRLEN_EXT 13 /* Default size for pattern buffer */ @@ -1240,6 +1240,13 @@ patcomppiece(int *flagp) */ return 0; break; + case Bnullkeep: + /* + * Marker for restoring a backslash in output: + * does not match a character. + */ + return patcomppiece(flagp); + break; #ifdef DEBUG default: dputs("BUG: character not handled in patcomppiece"); |