From 1af78f75efc06c14d58bc872a84174fc6efaea32 Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Fri, 27 Jan 2006 18:01:33 +0000 Subject: [PATCH] (main, print_usage): New options -h and -v. (print_usage): Improve usage message. --- src/util/files.c | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/src/util/files.c b/src/util/files.c index 0f495e72..f079b2f1 100644 --- a/src/util/files.c +++ b/src/util/files.c @@ -61,6 +61,7 @@ #include "tel.h" #include "prototypes.h" #include "optlist.h" +#include "version.h" static void file_sct_init(coord x, coord y, s_char *ptr, time_t timestamp); @@ -68,8 +69,13 @@ static void file_sct_init(coord x, coord y, s_char *ptr, static void print_usage(char *program_name) { - printf("Usage: %s -f -e econfig_file\n", program_name); - printf("-f force mode\n"); + printf("Usage: %s [OPTION]...\n" + " -e CONFIG-FILE configuration file\n" + " (default %s)\n" + " -f force overwrite of existing game\n" + " -h display this help and exit\n" + " -v display version information and exit\n", + program_name, dflt_econfig); } int @@ -88,7 +94,7 @@ main(int argc, char *argv[]) int force = 0; time_t current_time = time(NULL); - while ((opt = getopt(argc, argv, "e:f")) != EOF) { + while ((opt = getopt(argc, argv, "e:fhv")) != EOF) { switch (opt) { case 'e': config_file = optarg; @@ -96,9 +102,15 @@ main(int argc, char *argv[]) case 'f': force = 1; break; + case 'h': + print_usage(argv[0]); + exit(0); + case 'v': + printf("%s\n\n%s", version, legal); + exit(0); default: print_usage(argv[0]); - exit(-1); + exit(1); } }