X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=common%2Fcli_hush.c;h=296542f4c2d62b7094694a40c79c7d2fe9fdf545;hb=49891df661acf164460ba3ada60fccfc5a53ea71;hp=38da5a09fa30d76c245088f44811c53bcb0c99f6;hpb=dab5e3469d294a4e1ffed8407d296a78e02cc01f;p=u-boot diff --git a/common/cli_hush.c b/common/cli_hush.c index 38da5a09fa..296542f4c2 100644 --- a/common/cli_hush.c +++ b/common/cli_hush.c @@ -3162,7 +3162,7 @@ static int parse_stream_outer(struct in_str *inp, int flag) o_string temp=NULL_O_STRING; int rcode; #ifdef __U_BOOT__ - int code = 0; + int code = 1; #endif do { ctx.type = flag; @@ -3170,7 +3170,8 @@ static int parse_stream_outer(struct in_str *inp, int flag) update_ifs_map(); if (!(flag & FLAG_PARSE_SEMICOLON) || (flag & FLAG_REPARSING)) mapset((uchar *)";$&|", 0); inp->promptmode=1; - rcode = parse_stream(&temp, &ctx, inp, '\n'); + rcode = parse_stream(&temp, &ctx, inp, + flag & FLAG_CONT_ON_NEWLINE ? -1 : '\n'); #ifdef __U_BOOT__ if (rcode == 1) flag_repeat = 0; #endif @@ -3235,8 +3236,10 @@ int parse_string_outer(const char *s, int flag) #ifdef __U_BOOT__ char *p = NULL; int rcode; - if ( !s || !*s) + if (!s) return 1; + if (!*s) + return 0; if (!(p = strchr(s, '\n')) || *++p) { p = xmalloc(strlen(s) + 2); strcpy(p, s);