Signed-off-by: Juergen Beisert <jbe@xxxxxxxxxxxxxx> --- commands/linux16.c | 16 ++++++++++++---- 1 files changed, 12 insertions(+), 4 deletions(-) diff --git a/commands/linux16.c b/commands/linux16.c index 5f412e2..87245d4 100644 --- a/commands/linux16.c +++ b/commands/linux16.c @@ -28,6 +28,7 @@ #include <environment.h> #include <fs.h> #include <errno.h> +#include <getopt.h> #include <malloc.h> #include <asm/syslib.h> @@ -153,18 +154,25 @@ struct linux_kernel_header { static int do_linux16(struct command *cmdtp, int argc, char *argv[]) { struct linux_kernel_header *lh = NULL; - int rc; + int rc, opt; unsigned setup_sects; unsigned real_mode_size; size_t image_size; const char *cmdline = getenv("bootargs"); + const char *kernel_file; - if (argc < 2) { - perror("linux16"); + while((opt = getopt(argc, argv, "")) > 0) { + switch(opt) { + } + } + + if (optind == argc) { + printf("No kernel filename given\n"); return 1; } + kernel_file = argv[optind]; - lh = read_file(argv[1], &image_size); + lh = read_file(kernel_file, &image_size); if (lh == NULL) { printf("Cannot read file '%s'\n", argv[1]); return 1; -- 1.7.2.3 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox