projects
/
oweals
/
u-boot.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
x86: Allow use of global_data with EFI
[oweals/u-boot.git]
/
common
/
cli_hush.c
diff --git
a/common/cli_hush.c
b/common/cli_hush.c
index 0f069b010a2d39975635574fdbd5dc36554c09d4..296542f4c2d62b7094694a40c79c7d2fe9fdf545 100644
(file)
--- a/
common/cli_hush.c
+++ b/
common/cli_hush.c
@@
-1840,7
+1840,7
@@
static int run_list_real(struct pipe *pi)
if (rmode == RES_DO) {
if (!flag_rep) continue;
}
if (rmode == RES_DO) {
if (!flag_rep) continue;
}
- if (
(rmode == RES_DONE)
) {
+ if (
rmode == RES_DONE
) {
if (flag_rep) {
flag_restore = 1;
} else {
if (flag_rep) {
flag_restore = 1;
} else {
@@
-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__
o_string temp=NULL_O_STRING;
int rcode;
#ifdef __U_BOOT__
- int code =
0
;
+ int code =
1
;
#endif
do {
ctx.type = flag;
#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;
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
#ifdef __U_BOOT__
if (rcode == 1) flag_repeat = 0;
#endif
@@
-3215,7
+3216,9
@@
static int parse_stream_outer(struct in_str *inp, int flag)
free_pipe_list(ctx.list_head,0);
}
b_free(&temp);
free_pipe_list(ctx.list_head,0);
}
b_free(&temp);
- } while (rcode != -1 && !(flag & FLAG_EXIT_FROM_LOOP)); /* loop on syntax errors, return on EOF */
+ /* loop on syntax errors, return on EOF */
+ } while (rcode != -1 && !(flag & FLAG_EXIT_FROM_LOOP) &&
+ (inp->peek != static_peek || b_peek(inp)));
#ifndef __U_BOOT__
return 0;
#else
#ifndef __U_BOOT__
return 0;
#else
@@
-3233,8
+3236,10
@@
int parse_string_outer(const char *s, int flag)
#ifdef __U_BOOT__
char *p = NULL;
int rcode;
#ifdef __U_BOOT__
char *p = NULL;
int rcode;
- if (
!s || !*
s)
+ if (
!
s)
return 1;
return 1;
+ if (!*s)
+ return 0;
if (!(p = strchr(s, '\n')) || *++p) {
p = xmalloc(strlen(s) + 2);
strcpy(p, s);
if (!(p = strchr(s, '\n')) || *++p) {
p = xmalloc(strlen(s) + 2);
strcpy(p, s);
@@
-3567,7
+3572,7
@@
static char **make_list_in(char **inp, char *name)
p3 = insert_var_value(inp[i]);
p1 = p3;
while (*p1) {
p3 = insert_var_value(inp[i]);
p1 = p3;
while (*p1) {
- if (
(*p1 == ' ')
) {
+ if (
*p1 == ' '
) {
p1++;
continue;
}
p1++;
continue;
}