diff options
author | jilles <jilles@FreeBSD.org> | 2010-04-03 21:07:50 +0000 |
---|---|---|
committer | jilles <jilles@FreeBSD.org> | 2010-04-03 21:07:50 +0000 |
commit | 8b7edeca44f0544f0c71e20d1c573c9bf278c8aa (patch) | |
tree | 75f0e146f2b93f688389997258fe082caefa7355 /bin | |
parent | 8bc40943f56c99d0f5290b7ccfe2c20f89648229 (diff) | |
download | FreeBSD-src-8b7edeca44f0544f0c71e20d1c573c9bf278c8aa.zip FreeBSD-src-8b7edeca44f0544f0c71e20d1c573c9bf278c8aa.tar.gz |
sh: Allow quoting pattern match characters in ${v%pat} and ${v#pat}.
Note that this depends on r206145 for allowing pattern match characters to
have their special meaning inside a double-quoted expansion like "${v%pat}".
PR: bin/117748
Exp-run done by: erwin (with some other sh(1) changes)
Diffstat (limited to 'bin')
-rw-r--r-- | bin/sh/expand.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/bin/sh/expand.c b/bin/sh/expand.c index 876cde1..a2019b2 100644 --- a/bin/sh/expand.c +++ b/bin/sh/expand.c @@ -506,7 +506,9 @@ subevalvar(char *p, char *str, int strloc, int subtype, int startloc, int amount; herefd = -1; - argstr(p, 0); + argstr(p, subtype == VSTRIMLEFT || subtype == VSTRIMLEFTMAX || + subtype == VSTRIMRIGHT || subtype == VSTRIMRIGHTMAX ? + EXP_CASE : 0); STACKSTRNUL(expdest); herefd = saveherefd; argbackq = saveargbackq; |