summaryrefslogtreecommitdiff
path: root/usr/src/lib/libshell/common/sh/macro.c
diff options
context:
space:
mode:
authorCasper H.S. Dik <Casper.Dik@Sun.COM>2009-02-25 22:02:17 +0100
committerCasper H.S. Dik <Casper.Dik@Sun.COM>2009-02-25 22:02:17 +0100
commit9a6f360e750e0b14fc9b9bf8347e0ebad3959e3f (patch)
tree546322f102ab545a1f74e81db4da0e3d1c1b8ebf /usr/src/lib/libshell/common/sh/macro.c
parentcb1fa6c94ff0f7012e6629be31b7c18de21dde79 (diff)
downloadillumos-gate-9a6f360e750e0b14fc9b9bf8347e0ebad3959e3f.tar.gz
6807179 ksh93 does unneccesary|libc::getpwnam()|lookups for ~(modifier)pattern patterns
Contributed by Roland Mainz <roland.mainz@nrubsig.org>
Diffstat (limited to 'usr/src/lib/libshell/common/sh/macro.c')
-rw-r--r--usr/src/lib/libshell/common/sh/macro.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/usr/src/lib/libshell/common/sh/macro.c b/usr/src/lib/libshell/common/sh/macro.c
index 7b1ab77b48..cb938764d6 100644
--- a/usr/src/lib/libshell/common/sh/macro.c
+++ b/usr/src/lib/libshell/common/sh/macro.c
@@ -439,7 +439,7 @@ static void copyto(register Mac_t *mp,int endch, int newquote)
mp->sp = NIL(Sfio_t*);
mp->quote = newquote;
first = cp = fcseek(0);
- if(!mp->quote && *cp=='~')
+ if(!mp->quote && *cp=='~' && cp[1]!=LPAREN)
tilde = stktell(stkp);
/* handle // operator specially */
if(mp->pattern==2 && *cp=='/')