* [PATCH] git-help: simplify and fix option parsing.
@ 2007-12-08 5:06 Christian Couder
0 siblings, 0 replies; only message in thread
From: Christian Couder @ 2007-12-08 5:06 UTC (permalink / raw)
To: Junio Hamano; +Cc: git
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
---
help.c | 31 +++++++++++--------------------
1 files changed, 11 insertions(+), 20 deletions(-)
Junio wrote about "help.c" in my
"git-help: add -w|--web option to display html man page in a browser."
patch:
> Isn't this "check-help-cmd" duplication ugly, by the way?
You are right, this patch should fix it.
Thanks.
diff --git a/help.c b/help.c
index ecc8c66..78686db 100644
--- a/help.c
+++ b/help.c
@@ -241,7 +241,9 @@ void list_common_cmds_help(void)
static const char *cmd_to_page(const char *git_cmd)
{
- if (!prefixcmp(git_cmd, "git"))
+ if (!git_cmd)
+ return "git";
+ else if (!prefixcmp(git_cmd, "git"))
return git_cmd;
else {
int page_len = strlen(git_cmd) + 4;
@@ -283,38 +285,27 @@ int cmd_version(int argc, const char **argv, const char *prefix)
return 0;
}
-static void check_help_cmd(const char *help_cmd)
+int cmd_help(int argc, const char **argv, const char *prefix)
{
- if (!help_cmd) {
+ if (argc < 2) {
printf("usage: %s\n\n", git_usage_string);
list_common_cmds_help();
exit(0);
}
- else if (!strcmp(help_cmd, "--all") || !strcmp(help_cmd, "-a")) {
+ const char *help_cmd = argv[1];
+
+ if (!strcmp(help_cmd, "--all") || !strcmp(help_cmd, "-a")) {
printf("usage: %s\n\n", git_usage_string);
list_commands();
- exit(0);
}
-}
-int cmd_help(int argc, const char **argv, const char *prefix)
-{
- const char *help_cmd = argc > 1 ? argv[1] : NULL;
- check_help_cmd(help_cmd);
-
- if (!strcmp(help_cmd, "--web") || !strcmp(help_cmd, "-w")) {
- help_cmd = argc > 2 ? argv[2] : NULL;
- check_help_cmd(help_cmd);
-
- show_html_page(help_cmd);
+ else if (!strcmp(help_cmd, "--web") || !strcmp(help_cmd, "-w")) {
+ show_html_page(argc > 2 ? argv[2] : NULL);
}
else if (!strcmp(help_cmd, "--info") || !strcmp(help_cmd, "-i")) {
- help_cmd = argc > 2 ? argv[2] : NULL;
- check_help_cmd(help_cmd);
-
- show_info_page(help_cmd);
+ show_info_page(argc > 2 ? argv[2] : NULL);
}
else
--
1.5.3.7.2199.ge1512-dirty
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2007-12-08 5:00 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-12-08 5:06 [PATCH] git-help: simplify and fix option parsing Christian Couder
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).