Browse Source

hush: make run_command() return an error on parsing failure

run_command() returns success even if the command had a syntax error;
correct this behaviour.

Signed-off-by: Rabin Vincent <rabin@rab.in>
Acked-by: Simon Glass <sjg@chromium.org)
Rabin Vincent 9 years ago
parent
commit
2302b3ab85
2 changed files with 3 additions and 1 deletions
  1. 1 1
      common/cli_hush.c
  2. 2 0
      test/command_ut.c

+ 1 - 1
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;

+ 2 - 0
test/command_ut.c

@@ -191,6 +191,8 @@ static int do_ut_cmd(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 	assert(run_command("", 0) == 0);
 	assert(run_command(" ", 0) == 0);
 
+	assert(run_command("'", 0) == 1);
+
 	printf("%s: Everything went swimmingly\n", __func__);
 	return 0;
 }