struct stat txt_file_stat;
int fp, ep;
+ const char *prg;
+
+ prg = basename(argv[0]);
+ /* Turn off getopt()'s internal error message */
+ opterr = 0;
+
/* Parse the cmdline */
- while ((option = getopt(argc, argv, "s:o:rbp:h")) != -1) {
+ while ((option = getopt(argc, argv, ":s:o:rbp:hV")) != -1) {
switch (option) {
case 's':
datasize = strtol(optarg, NULL, 0);
padbyte = strtol(optarg, NULL, 0);
break;
case 'h':
- usage(argv[0]);
+ usage(prg);
return EXIT_SUCCESS;
- optopt);
+ case 'V':
+ printf("%s version %s\n", prg, PLAIN_VERSION);
+ return EXIT_SUCCESS;
+ case ':':
+ fprintf(stderr, "Missing argument for option -%c\n",
++ option);
+ usage(argv[0]);
+ return EXIT_FAILURE;
default:
- fprintf(stderr, "Wrong option -%c\n", optopt);
- usage(argv[0]);
+ fprintf(stderr, "Wrong option -%c\n", option);
+ usage(prg);
return EXIT_FAILURE;
}
}
/* Check datasize and allocate the data */
if (datasize == 0) {
fprintf(stderr,
- "Please specify the size of the envrionnment "
+ "Please specify the size of the environment "
"partition.\n");
- usage(argv[0]);
+ usage(prg);
return EXIT_FAILURE;
}