Add cmd_process_error() to report and process errors
U-Boot now uses errors defined in include/errno.h which are negative integers. Commands which fail need to report the error and return 1 to indicate failure. Add this functionality in cmd_process_error(). For now this merely reports the error number. It would be possible also to produce a helpful error message by storing the error strings in U-Boot. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
714a5621c2
commit
16ff990246
@ -538,3 +538,13 @@ enum command_ret_t cmd_process(int flag, int argc, char * const argv[],
|
||||
rc = cmd_usage(cmdtp);
|
||||
return rc;
|
||||
}
|
||||
|
||||
int cmd_process_error(cmd_tbl_t *cmdtp, int err)
|
||||
{
|
||||
if (err) {
|
||||
printf("Command '%s' failed: Error %d\n", cmdtp->name, err);
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -64,6 +64,15 @@ extern int var_complete(int argc, char * const argv[], char last_char, int maxv,
|
||||
extern int cmd_auto_complete(const char *const prompt, char *buf, int *np, int *colp);
|
||||
#endif
|
||||
|
||||
/**
|
||||
* cmd_process_error() - report and process a possible error
|
||||
*
|
||||
* @cmdtp: Command which caused the error
|
||||
* @err: Error code (0 if none, -ve for error, like -EIO)
|
||||
* @return 0 if there is not error, 1 (CMD_RET_FAILURE) if an error is found
|
||||
*/
|
||||
int cmd_process_error(cmd_tbl_t *cmdtp, int err);
|
||||
|
||||
/*
|
||||
* Monitor Command
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user