aboutsummaryrefslogtreecommitdiff
path: root/shell/hush.c
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2018-07-18 15:48:53 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2018-07-18 15:50:04 +0200
commit8b08d5a502adec2067e3ebf7f27513f75b0b95e8 (patch)
tree5a449ce75ecd4aeb6ef7a88e5e539f1c6f711c9b /shell/hush.c
parent4c201c00a3650cdacad5fc098ca255416687fb0f (diff)
downloadbusybox-8b08d5a502adec2067e3ebf7f27513f75b0b95e8.tar.gz
hush: smaller code to set o_string to ""
function old new delta encode_then_expand_vararg 399 398 -1 parse_stream 2753 2748 -5 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'shell/hush.c')
-rw-r--r--shell/hush.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/shell/hush.c b/shell/hush.c
index 7da8f334c..534fabbd0 100644
--- a/shell/hush.c
+++ b/shell/hush.c
@@ -4997,8 +4997,7 @@ static struct pipe *parse_stream(char **pstring,
/* If very first arg is "" or '', ctx.word.data may end up NULL.
* Preventing this:
*/
- o_addchr(&ctx.word, '\0');
- ctx.word.length = 0;
+ ctx.word.data = xzalloc(1); /* start as "", not as NULL */
/* We used to separate words on $IFS here. This was wrong.
* $IFS is used only for word splitting when $var is expanded,
@@ -5795,8 +5794,7 @@ static char *encode_then_expand_vararg(const char *str, int handle_squotes, int
*/
setup_string_in_str(&input, str);
- o_addchr(&dest, '\0');
- dest.length = 0;
+ dest.data = xzalloc(1); /* start as "", not as NULL */
exp_str = NULL;
for (;;) {