int CLIB_DECL main(int argc, char *argv[]) { int result = -1; clock_t begin_time; double elapsed_time; core_options *messtest_options = NULL; test_count = 0; failure_count = 0; messtest_options = NULL; /* register options */ messtest_options = options_create(messtest_fail); options_add_entries(messtest_options, messtest_option_entries); options_set_option_callback(messtest_options, OPTION_GAMENAME, handle_arg); /* run MAME's validity checks; if these fail cop out now */ /* NPW 16-Sep-2006 - commenting this out because this cannot be run outside of MAME */ //if (mame_validitychecks(-1)) // goto done; /* run Imgtool's validity checks; if these fail cop out now */ if (imgtool_validitychecks()) goto done; begin_time = clock(); /* parse the commandline */ if (options_parse_command_line(messtest_options, argc, argv, OPTION_PRIORITY_CMDLINE,TRUE)) { fprintf(stderr, "Error while parsing cmdline\n"); goto done; } if (test_count > 0) { elapsed_time = ((double) (clock() - begin_time)) / CLOCKS_PER_SEC; fprintf(stderr, "Tests complete; %i test(s), %i failure(s), elapsed time %.2f\n", test_count, failure_count, elapsed_time); } else { fprintf(stderr, "Usage: %s [test1] [test2]...\n", argv[0]); } result = failure_count; done: if (messtest_options) options_free(messtest_options); return result; }
int CLIB_DECL main(int argc, char *argv[]) { int i; int result; const struct command *c; const char *sample_format = "coco_jvc_rsdos"; #ifdef MAME_DEBUG if (imgtool_validitychecks()) return -1; #endif /* MAME_DEBUG */ putchar('\n'); if (argc > 1) { /* figure out what command they are running, and run it */ for (i = 0; i < ARRAY_LENGTH(cmds); i++) { c = &cmds[i]; if (!core_stricmp(c->name, argv[1])) { /* check argument count */ if (c->minargs > (argc - 2)) goto cmderror; /* initialize the imgtool core */ imgtool_init(TRUE, NULL); if (c->lastargrepeats && (argc > c->maxargs)) { for (i = c->maxargs+1; i < argc; i++) { argv[c->maxargs+1] = argv[i]; result = c->cmdproc(c, c->maxargs, argv + 2); if (result) goto done; } result = 0; goto done; } else { if ((c->maxargs > 0) && (c->maxargs < (argc - 2))) goto cmderror; result = c->cmdproc(c, argc - 2, argv + 2); goto done; } } } } /* Usage */ fprintf(stderr, "imgtool - Generic image manipulation tool for use with MESS\n\n"); for (i = 0; i < ARRAY_LENGTH(cmds); i++) { writeusage(stdout, (i == 0), &cmds[i], argv); } fprintf(stderr, "\n<format> is the image format, e.g. %s\n", sample_format); fprintf(stderr, "<imagename> is the image filename; can specify a ZIP file for image name\n"); fprintf(stderr, "\nExample usage:\n"); fprintf(stderr, "\t%s dir %s myimageinazip.zip\n", imgtool_basename(argv[0]), sample_format); fprintf(stderr, "\t%s get %s myimage.dsk myfile.bin mynewfile.txt\n", imgtool_basename(argv[0]), sample_format); fprintf(stderr, "\t%s getall %s myimage.dsk\n", imgtool_basename(argv[0]), sample_format); result = 0; goto done; cmderror: writeusage(stdout, 1, &cmds[i], argv); result = -1; done: imgtool_exit(); return result; }