summaryrefslogtreecommitdiff
path: root/git.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2011-06-01 21:05:22 (GMT)
committerJunio C Hamano <gitster@pobox.com>2011-06-01 21:05:22 (GMT)
commit1c6e3514d093377fec5e30aa02a119187cf743f2 (patch)
treefe3865b32c4690dce137a173d86f3876578cf02c /git.c
parent6e1a7510b1dd830de69e174e409a40eb580c3ba7 (diff)
parent73546c085d49694c5e54b421f80bde6bc25006fb (diff)
downloadgit-1c6e3514d093377fec5e30aa02a119187cf743f2.zip
git-1c6e3514d093377fec5e30aa02a119187cf743f2.tar.gz
git-1c6e3514d093377fec5e30aa02a119187cf743f2.tar.bz2
Merge branch 'jk/maint-config-alias-fix' into maint
* jk/maint-config-alias-fix: handle_options(): do not miscount how many arguments were used config: always parse GIT_CONFIG_PARAMETERS during git_config git_config: don't peek at global config_parameters config: make environment parsing routines static
Diffstat (limited to 'git.c')
-rw-r--r--git.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/git.c b/git.c
index ef598c3..df4306d 100644
--- a/git.c
+++ b/git.c
@@ -66,7 +66,7 @@ static void commit_pager_choice(void) {
static int handle_options(const char ***argv, int *argc, int *envchanged)
{
- int handled = 0;
+ const char **orig_argv = *argv;
while (*argc > 0) {
const char *cmd = (*argv)[0];
@@ -116,7 +116,6 @@ static int handle_options(const char ***argv, int *argc, int *envchanged)
*envchanged = 1;
(*argv)++;
(*argc)--;
- handled++;
} else if (!prefixcmp(cmd, "--git-dir=")) {
setenv(GIT_DIR_ENVIRONMENT, cmd + 10, 1);
if (envchanged)
@@ -156,9 +155,8 @@ static int handle_options(const char ***argv, int *argc, int *envchanged)
(*argv)++;
(*argc)--;
- handled++;
}
- return handled;
+ return (*argv) - orig_argv;
}
static int handle_alias(int *argcp, const char ***argv)