diff options
author | Sebastian Gniazdowski <sgniazdowski@gmail.com> | 2018-10-17 00:08:01 +0200 |
---|---|---|
committer | Peter Stephenson <p.stephenson@samsung.com> | 2018-10-23 09:33:55 +0100 |
commit | 5556e00c657f6f51fbae6596fb53dd751888f30f (patch) | |
tree | 06929237c53197410bebbb9790f119a5233a66cb /Src | |
parent | 07d06c9fb9fa161929abb4d9f20b5398ef948554 (diff) | |
download | zsh-5556e00c657f6f51fbae6596fb53dd751888f30f.tar.gz zsh-5556e00c657f6f51fbae6596fb53dd751888f30f.tar.xz zsh-5556e00c657f6f51fbae6596fb53dd751888f30f.zip |
43695: minor but simple optmiisation to use existing string length
Diffstat (limited to 'Src')
-rw-r--r-- | Src/lex.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/Src/lex.c b/Src/lex.c index 44ad88043..fa29da3a2 100644 --- a/Src/lex.c +++ b/Src/lex.c @@ -1626,7 +1626,7 @@ parsestrnoerr(char **s) zcontext_save(); untokenize(*s); - inpush(dupstring(*s), 0, NULL); + inpush(dupstring_wlen(*s, l), 0, NULL); strinbeg(0); lexbuf.len = 0; lexbuf.ptr = tokstr = *s; @@ -1658,7 +1658,7 @@ parse_subscript(char *s, int sub, int endchar) if (!*s || *s == endchar) return 0; zcontext_save(); - untokenize(t = dupstring(s)); + untokenize(t = dupstring_wlen(s, l)); inpush(t, 0, NULL); strinbeg(0); /* @@ -1674,7 +1674,7 @@ parse_subscript(char *s, int sub, int endchar) * length preservation. */ lexbuf.len = 0; - lexbuf.ptr = tokstr = dupstring(s); + lexbuf.ptr = tokstr = dupstring_wlen(s, l); lexbuf.siz = l + 1; err = dquote_parse(endchar, sub); toklen = (int)(lexbuf.ptr - tokstr); @@ -1713,7 +1713,7 @@ parse_subst_string(char *s) return 0; zcontext_save(); untokenize(s); - inpush(dupstring(s), 0, NULL); + inpush(dupstring_wlen(s, l), 0, NULL); strinbeg(0); lexbuf.len = 0; lexbuf.ptr = tokstr = s; |