diff options
author | herbert <herbert@gondor.apana.org.au> | 2004-08-18 21:24:11 +1000 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2005-09-26 18:33:02 +1000 |
commit | f1cbb2a734f46279ad3fa942978d29d9cf25978c (patch) | |
tree | eac61cde98ddd4bfbd26b5454085e0140ea443c7 | |
parent | Allow negative pid argument to kill(1) in src/jobs.c. (diff) | |
download | dash-f1cbb2a734f46279ad3fa942978d29d9cf25978c.tar.gz dash-f1cbb2a734f46279ad3fa942978d29d9cf25978c.zip |
Fixed expansion when leading argument is null in src/expand.c.
Diffstat (limited to '')
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | src/expand.c | 10 |
2 files changed, 9 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog index 2865f0b..40e3d1f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2004-08-18 Herbert Xu <herbert@gondor.apana.org.au> + + * Fixed $@ expansion when leading argument is null in src/expand.c. + 2004-08-07 Herbert Xu <herbert@gondor.apana.org.au> * Allow negative pid argument to kill(1) in src/jobs.c. diff --git a/src/expand.c b/src/expand.c index 800011e..b2800c6 100644 --- a/src/expand.c +++ b/src/expand.c @@ -976,9 +976,12 @@ param: size_t partlen; partlen = strlen(p); - len += partlen; - if (len > partlen && sep) { + + if (!(subtype == VSPLUS || subtype == VSLENGTH)) + memtodest(p, partlen, syntax, quotes); + + if (*ap && sep) { char *q; len++; @@ -991,9 +994,6 @@ param: STPUTC(sep, q); expdest = q; } - - if (!(subtype == VSPLUS || subtype == VSLENGTH)) - memtodest(p, partlen, syntax, quotes); } return len; case '0': |