hush: fix fallout from tweaking ${var:START:LEN} code

function                                             old     new   delta
expand_one_var                                      2344    2353      +9

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko
2020-12-23 12:38:03 +01:00
parent 93e2a22482
commit a7b52d26c4
3 changed files with 4 additions and 1 deletions

View File

@@ -6617,7 +6617,7 @@ static NOINLINE int expand_one_var(o_string *output, int n,
exp_word = p; exp_word = p;
p = strchr(p, SPECIAL_VAR_SYMBOL); p = strchr(p, SPECIAL_VAR_SYMBOL);
*p = '\0'; *p = '\0';
vallen = strlen(val); vallen = val ? strlen(val) : 0;
if (beg < 0) { if (beg < 0) {
/* negative beg counts from the end */ /* negative beg counts from the end */
beg = (arith_t)vallen + beg; beg = (arith_t)vallen + beg;

View File

@@ -1,2 +1,3 @@
w
Ok:0 Ok:0

View File

@@ -1,3 +1,5 @@
unset v
echo ${v/*/w}
v='' v=''
echo ${v/*/w} echo ${v/*/w}
echo Ok:$? echo Ok:$?