
Create a new run_mkimage() function which will hold the top-level logic for mkimage. For the few cases where there is a 'return', use that as the exit code of the problem, preserving existing behaviour. Signed-off-by: Simon Glass <sjg@chromium.org> --- tools/mkimage.c | 40 ++++++++++++++++++++++++++++------------ 1 file changed, 28 insertions(+), 12 deletions(-) diff --git a/tools/mkimage.c b/tools/mkimage.c index 385581b5078..0f432a20cfb 100644 --- a/tools/mkimage.c +++ b/tools/mkimage.c @@ -577,22 +577,23 @@ void copy_datafile(int ifd, char *file) } } -int main(int argc, char **argv) +/** + * run_mkimage() - Run the mkimage tool + * + * The program arguments are in params + * + * Return: 0 on success, or non-zero exit code + */ +static int run_mkimage(void) { - int ifd = -1; - struct stat sbuf; - char *ptr; - int retval = 0; struct image_type_params *tparams = NULL; + struct stat sbuf; int pad_len = 0; - int dfd; + int retval = 0; size_t map_len; - - params.cmdname = *argv; - params.addr = 0; - params.ep = 0; - - process_args(argc, argv); + int ifd = -1; + char *ptr; + int dfd; /* set tparams as per input type_id */ tparams = imagetool_get_type(params.type); @@ -935,3 +936,18 @@ int main(int argc, char **argv) exit (EXIT_SUCCESS); } + +int main(int argc, char **argv) +{ + int ret; + + params.cmdname = *argv; + params.addr = 0; + params.ep = 0; + + process_args(argc, argv); + + ret = run_mkimage(); + + return ret; +} -- 2.43.0