X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=chiark-utils.git;a=blobdiff_plain;f=cprogs%2Fwatershed.c;h=580d2204515a7c367b8cbe385f8420f7b2efe4e8;hp=3bf9b0763e3b1643e9a1cf20f0b85f08295af817;hb=368f5cd303917d14b2f253bb24a1e34fe3cf9101;hpb=5eaaad7328acab8842aa56bc35564926485fb380 diff --git a/cprogs/watershed.c b/cprogs/watershed.c index 3bf9b07..580d220 100644 --- a/cprogs/watershed.c +++ b/cprogs/watershed.c @@ -270,6 +270,7 @@ static const struct option os[]= { { "--state-dir", 1,0,'d' }, { "--command-id",1,0,'i' }, + { "--help", 0,0,'h' }, { 0 } }; @@ -294,11 +295,17 @@ static int cohort_fd, lock_fd; }while(0) -static void badusage(void) { +static void printusage(FILE *f) { fputs(_("usage: watershed [] ...\n" - "options: -d|--state-dir -i|--command-id \n" + "options:\n" + " -d|--state-dir \n" + " -i|--command-id \n" + " -h|--help\n" "see /usr/share/doc/chiark-utils-bin/watershed.txt\n"), - stderr); + f); +} +static void badusage(void) { + printusage(stderr); exit(127); } static void die(const char *m) { @@ -330,11 +337,12 @@ static char *m_asprintf(const char *fmt, ...) { static void parse_args(int argc, char *const *argv) { int o; for (;;) { - o= getopt_long(argc, argv, "+d:i:", os,0); + o= getopt_long(argc, argv, "+d:i:h", os,0); if (o==-1) break; switch (o) { case 'd': state_dir= optarg; break; case 'i': command_id= optarg; break; + case 'h': printusage(stdout); exit(0); break; default: badusage(); } }