continue;
}
- if (cmd_process(flag, argc, argv, &repeatable))
+ if (cmd_process(flag, argc, argv, &repeatable) != CMD_RET_SUCCESS)
rc = -1;
/* Did the user stop this? */
/****************************************************************************/
-#define DYN_BUFFER 1
void cli_loop(void)
{
-#if DYN_BUFFER
char *lastcommand = NULL;
-#else
- static char lastcommand[CONFIG_SYS_CBSIZE];
-#endif
int len;
int flag;
int rc = 1;
flag = 0; /* assume no special flags for now */
if (len > 0) {
-#if DYN_BUFFER
lastcommand = (char *) xrealloc(lastcommand, len+1);
if (lastcommand != NULL) {
strncpy(lastcommand, console_buffer, len+1);
lastcommand[len] = '\0';
}
-#else
- strcpy(lastcommand, console_buffer);
-#endif
} else if (len == 0)
flag |= CMD_FLAG_REPEAT;
if (rc <= 0) {
/* invalid command or not repeatable, forget it */
-#if DYN_BUFFER
free(lastcommand);
lastcommand = NULL;
-#else
- lastcommand[0] = 0;
-#endif
}
}
}
-int do_run(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+command_ret_t do_run(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
{
int i;
(void) cmdtp;
arg = getenv(argv[i]);
if (arg == NULL) {
printf_P(PSTR("## Error: \"%s\" not defined\n"), argv[i]);
- return 1;
+ return CMD_RET_FAILURE;
}
if (run_command(arg, flag) != 0)
- return 1;
+ return CMD_RET_FAILURE;
}
- return 0;
+ return CMD_RET_SUCCESS;
}