commit - 97b3a7beacbda58876c185d6aa2b1b9c305fa6f6
commit + ce5b7c56feb64f28afedf39561cac1a17a3f028c
blob - e6a9bf7895318f3de7356a15f9b06c1234b7cbb8
blob + 7f1a01f67aaf5f0a4cab88b726643ca644226353
--- got/got.c
+++ got/got.c
const char *cmd_alias;
};
-__dead static void usage(void);
+__dead static void usage(int);
__dead static void usage_init(void);
__dead static void usage_checkout(void);
__dead static void usage_update(void);
{ "cherrypick", cmd_cherrypick, usage_cherrypick, "ch" },
{ "backout", cmd_backout, usage_backout, "bo" },
};
+
+static void
+list_commands(void)
+{
+ int i;
+
+ fprintf(stderr, "commands:");
+ for (i = 0; i < nitems(got_commands); i++) {
+ struct got_cmd *cmd = &got_commands[i];
+ fprintf(stderr, " %s", cmd->cmd_name);
+ }
+ fputc('\n', stderr);
+}
int
main(int argc, char *argv[])
hflag = 1;
break;
default:
- usage();
+ usage(hflag);
/* NOTREACHED */
}
}
optind = 0;
if (argc <= 0)
- usage();
+ usage(hflag);
signal(SIGINT, catch_sigint);
signal(SIGPIPE, catch_sigpipe);
}
fprintf(stderr, "%s: unknown command '%s'\n", getprogname(), argv[0]);
+ list_commands();
return 1;
}
__dead static void
-usage(void)
+usage(int hflag)
{
fprintf(stderr, "usage: %s [-h] command [arg ...]\n", getprogname());
+ if (hflag)
+ list_commands();
exit(1);
}
blob - f751d54fdbeba7c6b6020f61dcab94c4080bad40
blob + ab73a28c8793e2580177009a1a28e5e4f4187c4c
--- tog/tog.c
+++ tog/tog.c
void (*cmd_usage)(void);
};
-__dead static void usage(void);
+__dead static void usage(int);
__dead static void usage_log(void);
__dead static void usage_diff(void);
__dead static void usage_blame(void);
got_ref_list_free(&refs);
return error;
}
+
+static void
+list_commands(void)
+{
+ int i;
+ fprintf(stderr, "commands:");
+ for (i = 0; i < nitems(tog_commands); i++) {
+ struct tog_cmd *cmd = &tog_commands[i];
+ fprintf(stderr, " %s", cmd->name);
+ }
+ fputc('\n', stderr);
+}
+
__dead static void
-usage(void)
+usage(int hflag)
{
fprintf(stderr, "usage: %s [-h] [command] [arg ...]\n", getprogname());
+ if (hflag)
+ list_commands();
exit(1);
}
hflag = 1;
break;
default:
- usage();
+ usage(hflag);
/* NOTREACHED */
}
}
if (argc == 0) {
if (hflag)
- usage();
+ usage(hflag);
/* Build an argument vector which runs a default command. */
cmd = &tog_commands[0];
cmd_argv = make_argv(cmd->name, NULL);
if (cmd == NULL) {
fprintf(stderr, "%s: unknown command '%s'\n",
getprogname(), argv[0]);
- usage();
+ list_commands();
return 1;
}
}