Subject: [PATCH v3] git.c: improve code readability in cmd_main

From: "Daniel Sonbolian via GitGitGadget" <[email-masked]>
Date: Sat, 08 Oct 2022 16:21:37 +0000

From: Daniel Sonbolian <[email-masked]>

Checking for an error condition whose body unconditionally exists first,
and then the special casing of "version" and "help" as part of the
preparation for the "normal codepath", making the code simpler to read.

Signed-off-by: Daniel Sonbolian <[email-masked]>
---
    git.c: improve readability in cmd_main
    
    made the code more readable in cmd_main by moving the spacial casing for
    "version" and "help" as part of the regular code path

Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1355%2Fdsal3389%2Frm-useless-else-v3
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1355/dsal3389/rm-useless-else-v3
Pull-Request: https://github.com/git/git/pull/1355

Range-diff vs v2:

 1:  dd81a2cadec < -:  ----------- git-p4: minor optimization in read_pip_lines
 2:  7fe59688018 ! 1:  664974f71d4 git.c: improve code readability in cmd_main
     @@ Metadata
       ## Commit message ##
          git.c: improve code readability in cmd_main
      
     -    checking for an error condition whose body unconditionally exists first,
     +    Checking for an error condition whose body unconditionally exists first,
          and then the special casing of "version" and "help" as part of the
     -    preparation for the "normal codepath", making the code simpler to read
     +    preparation for the "normal codepath", making the code simpler to read.
      
          Signed-off-by: Daniel Sonbolian <[email-masked]>
      
     @@ git.c: int cmd_main(int argc, const char **argv)
      -			argv[0] = "help";
      -	} else {
      +
     -+	if (argc <= 0) {
     ++	if (!argc) {
       		/* The user didn't specify a command; give them help */
       		commit_pager_choice();
       		printf(_("usage: %s\n\n"), git_usage_string);

 git.c | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/git.c b/git.c
index da411c53822..ee7758dcb0e 100644
--- a/git.c
+++ b/git.c
@@ -894,12 +894,8 @@ int cmd_main(int argc, const char **argv)
 	argv++;
 	argc--;
 	handle_options(&argv, &argc, NULL);
-	if (argc > 0) {
-		if (!strcmp("--version", argv[0]) || !strcmp("-v", argv[0]))
-			argv[0] = "version";
-		else if (!strcmp("--help", argv[0]) || !strcmp("-h", argv[0]))
-			argv[0] = "help";
-	} else {
+
+	if (!argc) {
 		/* The user didn't specify a command; give them help */
 		commit_pager_choice();
 		printf(_("usage: %s\n\n"), git_usage_string);
@@ -907,6 +903,12 @@ int cmd_main(int argc, const char **argv)
 		printf("\n%s\n", _(git_more_info_string));
 		exit(1);
 	}
+
+	if (!strcmp("--version", argv[0]) || !strcmp("-v", argv[0]))
+		argv[0] = "version";
+	else if (!strcmp("--help", argv[0]) || !strcmp("-h", argv[0]))
+		argv[0] = "help";
+
 	cmd = argv[0];
 
 	/*

base-commit: bcd6bc478adc4951d57ec597c44b12ee74bc88fb
-- 
gitgitgadget