diff options
| author | Matt Kraai <kraai@debian.org> | 2001-05-02 17:52:49 +0000 |
|---|---|---|
| committer | Matt Kraai <kraai@debian.org> | 2001-05-02 17:52:49 +0000 |
| commit | 20a3069ec0d1c242404e089cecfcc5bb7a88df0f (patch) | |
| tree | fd57efa2b1398ccd505d5fbae2c2fd83798921e2 /shell | |
| parent | 19ec9ee91e21bff2b1eb76a0633c79045eb0acee (diff) | |
| download | busybox-w32-20a3069ec0d1c242404e089cecfcc5bb7a88df0f.tar.gz busybox-w32-20a3069ec0d1c242404e089cecfcc5bb7a88df0f.tar.bz2 busybox-w32-20a3069ec0d1c242404e089cecfcc5bb7a88df0f.zip | |
Don't treat newline as pipe separator when processing substitutions.
Diffstat (limited to 'shell')
| -rw-r--r-- | shell/hush.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/shell/hush.c b/shell/hush.c index c55d86f5d..01fd33486 100644 --- a/shell/hush.c +++ b/shell/hush.c | |||
| @@ -2010,7 +2010,10 @@ int parse_stream(o_string *dest, struct p_context *ctx, | |||
| 2010 | } else { | 2010 | } else { |
| 2011 | if (m==2) { /* unquoted IFS */ | 2011 | if (m==2) { /* unquoted IFS */ |
| 2012 | done_word(dest, ctx); | 2012 | done_word(dest, ctx); |
| 2013 | if (ch=='\n') done_pipe(ctx,PIPE_SEQ); | 2013 | /* If we aren't performing a substitution, treat a newline as a |
| 2014 | * command separator. */ | ||
| 2015 | if (end_trigger != '\0' && ch=='\n') | ||
| 2016 | done_pipe(ctx,PIPE_SEQ); | ||
| 2014 | } | 2017 | } |
| 2015 | if (ch == end_trigger && !dest->quote && ctx->w==RES_NONE) { | 2018 | if (ch == end_trigger && !dest->quote && ctx->w==RES_NONE) { |
| 2016 | debug_printf("leaving parse_stream\n"); | 2019 | debug_printf("leaving parse_stream\n"); |
