From b14d22ae629a9dcb33d28d572872a5eb3223a1ff Mon Sep 17 00:00:00 2001 From: David Schmidt Date: Fri, 16 Apr 2010 11:47:47 +0000 Subject: [PATCH] Treat final argument as a disk image to insert if present (and is not a command-line switch) --- src/sim65816.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/sim65816.c b/src/sim65816.c index da98552..606f6bf 100644 --- a/src/sim65816.c +++ b/src/sim65816.c @@ -785,6 +785,7 @@ kegsmain(int argc, char **argv) int diff; int tmp1; int i; + char *final_arg = 0; /* parse args */ for(i = 1; i < argc; i++) { @@ -892,8 +893,12 @@ kegsmain(int argc, char **argv) g_ethernet = tmp1; i++; } else { - printf("Bad option: %s\n", argv[i]); - exit(3); + if ((i == (argc - 1)) && (strncmp("-", argv[i], 1) != 0)) { + final_arg = argv[i]; + } else { + printf("Bad option: %s\n", argv[i]); + exit(3); + } } } @@ -928,6 +933,9 @@ kegsmain(int argc, char **argv) iwm_init(); config_init(); + // If the final argument was not a switch, then treat it like a disk image filename to insert + if (final_arg) + cfg_inspect_maybe_insert_file(final_arg); #ifdef HAVE_PARALLEL printer_init(g_printer_dpi,85,110,g_printer_output,g_printer_multipage); #endif