mkimage: Move argument processing into its own function
At present main() is very long. Split out the argument processing to make it easier to follow. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
fd1000b9c1
commit
0b443dee6b
|
@ -67,18 +67,9 @@ static void show_image_types(void)
|
||||||
fprintf(stderr, "\n");
|
fprintf(stderr, "\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
int main(int argc, char **argv)
|
static void process_args(int argc, char **argv)
|
||||||
{
|
{
|
||||||
int ifd = -1;
|
|
||||||
struct stat sbuf;
|
|
||||||
char *ptr;
|
char *ptr;
|
||||||
int retval = 0;
|
|
||||||
struct image_type_params *tparams = NULL;
|
|
||||||
int pad_len = 0;
|
|
||||||
int dfd;
|
|
||||||
|
|
||||||
params.cmdname = *argv;
|
|
||||||
params.addr = params.ep = 0;
|
|
||||||
|
|
||||||
while (--argc > 0 && **++argv == '-') {
|
while (--argc > 0 && **++argv == '-') {
|
||||||
while (*++*argv) {
|
while (*++*argv) {
|
||||||
|
@ -90,7 +81,7 @@ int main(int argc, char **argv)
|
||||||
if ((--argc <= 0) ||
|
if ((--argc <= 0) ||
|
||||||
(params.arch =
|
(params.arch =
|
||||||
genimg_get_arch_id (*++argv)) < 0)
|
genimg_get_arch_id (*++argv)) < 0)
|
||||||
usage ();
|
usage();
|
||||||
goto NXTARG;
|
goto NXTARG;
|
||||||
case 'c':
|
case 'c':
|
||||||
if (--argc <= 0)
|
if (--argc <= 0)
|
||||||
|
@ -101,11 +92,11 @@ int main(int argc, char **argv)
|
||||||
if ((--argc <= 0) ||
|
if ((--argc <= 0) ||
|
||||||
(params.comp =
|
(params.comp =
|
||||||
genimg_get_comp_id (*++argv)) < 0)
|
genimg_get_comp_id (*++argv)) < 0)
|
||||||
usage ();
|
usage();
|
||||||
goto NXTARG;
|
goto NXTARG;
|
||||||
case 'D':
|
case 'D':
|
||||||
if (--argc <= 0)
|
if (--argc <= 0)
|
||||||
usage ();
|
usage();
|
||||||
params.dtc = *++argv;
|
params.dtc = *++argv;
|
||||||
goto NXTARG;
|
goto NXTARG;
|
||||||
|
|
||||||
|
@ -113,7 +104,7 @@ int main(int argc, char **argv)
|
||||||
if ((--argc <= 0) ||
|
if ((--argc <= 0) ||
|
||||||
(params.os =
|
(params.os =
|
||||||
genimg_get_os_id (*++argv)) < 0)
|
genimg_get_os_id (*++argv)) < 0)
|
||||||
usage ();
|
usage();
|
||||||
goto NXTARG;
|
goto NXTARG;
|
||||||
case 'T':
|
case 'T':
|
||||||
params.type = -1;
|
params.type = -1;
|
||||||
|
@ -128,7 +119,7 @@ int main(int argc, char **argv)
|
||||||
goto NXTARG;
|
goto NXTARG;
|
||||||
case 'a':
|
case 'a':
|
||||||
if (--argc <= 0)
|
if (--argc <= 0)
|
||||||
usage ();
|
usage();
|
||||||
params.addr = strtoull(*++argv, &ptr, 16);
|
params.addr = strtoull(*++argv, &ptr, 16);
|
||||||
if (*ptr) {
|
if (*ptr) {
|
||||||
fprintf (stderr,
|
fprintf (stderr,
|
||||||
|
@ -139,13 +130,13 @@ int main(int argc, char **argv)
|
||||||
goto NXTARG;
|
goto NXTARG;
|
||||||
case 'd':
|
case 'd':
|
||||||
if (--argc <= 0)
|
if (--argc <= 0)
|
||||||
usage ();
|
usage();
|
||||||
params.datafile = *++argv;
|
params.datafile = *++argv;
|
||||||
params.dflag = 1;
|
params.dflag = 1;
|
||||||
goto NXTARG;
|
goto NXTARG;
|
||||||
case 'e':
|
case 'e':
|
||||||
if (--argc <= 0)
|
if (--argc <= 0)
|
||||||
usage ();
|
usage();
|
||||||
params.ep = strtoull(*++argv, &ptr, 16);
|
params.ep = strtoull(*++argv, &ptr, 16);
|
||||||
if (*ptr) {
|
if (*ptr) {
|
||||||
fprintf (stderr,
|
fprintf (stderr,
|
||||||
|
@ -157,7 +148,7 @@ int main(int argc, char **argv)
|
||||||
goto NXTARG;
|
goto NXTARG;
|
||||||
case 'f':
|
case 'f':
|
||||||
if (--argc <= 0)
|
if (--argc <= 0)
|
||||||
usage ();
|
usage();
|
||||||
params.datafile = *++argv;
|
params.datafile = *++argv;
|
||||||
/* no break */
|
/* no break */
|
||||||
case 'F':
|
case 'F':
|
||||||
|
@ -180,7 +171,7 @@ int main(int argc, char **argv)
|
||||||
goto NXTARG;
|
goto NXTARG;
|
||||||
case 'n':
|
case 'n':
|
||||||
if (--argc <= 0)
|
if (--argc <= 0)
|
||||||
usage ();
|
usage();
|
||||||
params.imagename = *++argv;
|
params.imagename = *++argv;
|
||||||
goto NXTARG;
|
goto NXTARG;
|
||||||
case 'r':
|
case 'r':
|
||||||
|
@ -208,14 +199,33 @@ int main(int argc, char **argv)
|
||||||
params.xflag++;
|
params.xflag++;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
usage ();
|
usage();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
NXTARG: ;
|
NXTARG: ;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (argc != 1)
|
if (argc != 1)
|
||||||
usage ();
|
usage();
|
||||||
|
params.imagefile = *argv;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int main(int argc, char **argv)
|
||||||
|
{
|
||||||
|
int ifd = -1;
|
||||||
|
struct stat sbuf;
|
||||||
|
char *ptr;
|
||||||
|
int retval = 0;
|
||||||
|
struct image_type_params *tparams = NULL;
|
||||||
|
int pad_len = 0;
|
||||||
|
int dfd;
|
||||||
|
|
||||||
|
params.cmdname = *argv;
|
||||||
|
params.addr = 0;
|
||||||
|
params.ep = 0;
|
||||||
|
|
||||||
|
process_args(argc, argv);
|
||||||
|
|
||||||
/* set tparams as per input type_id */
|
/* set tparams as per input type_id */
|
||||||
tparams = imagetool_get_type(params.type);
|
tparams = imagetool_get_type(params.type);
|
||||||
|
@ -231,7 +241,7 @@ NXTARG: ;
|
||||||
*/
|
*/
|
||||||
if (tparams->check_params)
|
if (tparams->check_params)
|
||||||
if (tparams->check_params (¶ms))
|
if (tparams->check_params (¶ms))
|
||||||
usage ();
|
usage();
|
||||||
|
|
||||||
if (!params.eflag) {
|
if (!params.eflag) {
|
||||||
params.ep = params.addr;
|
params.ep = params.addr;
|
||||||
|
@ -240,8 +250,6 @@ NXTARG: ;
|
||||||
params.ep += tparams->header_size;
|
params.ep += tparams->header_size;
|
||||||
}
|
}
|
||||||
|
|
||||||
params.imagefile = *argv;
|
|
||||||
|
|
||||||
if (params.fflag){
|
if (params.fflag){
|
||||||
if (tparams->fflag_handle)
|
if (tparams->fflag_handle)
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue