diff options
author | Peter Stephenson <pws@zsh.org> | 2016-11-09 13:45:11 +0000 |
---|---|---|
committer | Peter Stephenson <pws@zsh.org> | 2016-11-09 13:45:11 +0000 |
commit | 65ea1a033b1feeea30d9ad6deca93d6e771904ea (patch) | |
tree | d6c2e55c89a83b2be1fcbb2e1bd157eb7b9802e9 | |
parent | a1633e09a761b9135a0a7084d2489d359a004e5a (diff) | |
download | zsh-65ea1a033b1feeea30d9ad6deca93d6e771904ea.tar.gz zsh-65ea1a033b1feeea30d9ad6deca93d6e771904ea.tar.xz zsh-65ea1a033b1feeea30d9ad6deca93d6e771904ea.zip |
39887: no need to conditionalise assignment of strlen()
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | Src/params.c | 8 |
2 files changed, 5 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog index 8d2f472b8..320ee3fca 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2016-11-09 Peter Stephenson <p.stephenson@samsung.com> + * 39887: Src/params.c: no need to conditionalise assignment of + strlen in getstrvalue(). + * 39886 based on 39877 (Sebastian): Src/params.c, Src/utils.c: add arrdup_max() so as not to duplicate entire arrays unnecessarily. diff --git a/Src/params.c b/Src/params.c index 772345bd1..ef72cba44 100644 --- a/Src/params.c +++ b/Src/params.c @@ -2060,7 +2060,7 @@ getstrvalue(Value v) { char *s, **ss; char buf[BDIGBUFSIZE]; - int len = -1; + int len; if (!v) return hcalloc(1); @@ -2237,15 +2237,13 @@ getstrvalue(Value v) if (v->start == 0 && v->end == -1) return s; + len = strlen(s); if (v->start < 0) { - len = strlen(s); v->start += len; if (v->start < 0) v->start = 0; } if (v->end < 0) { - if (len < 0) - len = strlen(s); v->end += len; if (v->end >= 0) { char *eptr = s + v->end; @@ -2254,8 +2252,6 @@ getstrvalue(Value v) } } - if (len < 0) - len = strlen(s); s = (v->start > len) ? dupstring("") : dupstring_wlen(s + v->start, len - v->start); |