Browse Source

hush: return consistent codes from run_command()

Attempting to run:
 - an empty string
 - a string with just spaces

returns different error codes, 1 for the empty string and 0
for the string with just spaces.  Make both of them return
0 for consistency.

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

+ 3 - 1
common/cli_hush.c

@@ -3236,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);

+ 3 - 0
test/command_ut.c

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