X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=setup.c;h=3d2d9580f3283b4e4bc741d98863777510bd5173;hb=af05d67939f306a68c5f81ed30f65a82ae025661;hp=dc247a84c49709d2bff00440e5ac976df83acd2e;hpb=5372715ed268b190b022a12579767816ea6738ae;p=git.git diff --git a/setup.c b/setup.c index dc247a84c..3d2d9580f 100644 --- a/setup.c +++ b/setup.c @@ -202,6 +202,8 @@ const char **get_pathspec(const char *prefix, const char **pathspec) const char *p = prefix_path(prefix, prefixlen, *src); if (p) *(dst++) = p; + else + exit(128); /* error message already given */ src++; } *dst = NULL; @@ -323,6 +325,14 @@ const char *setup_git_directory_gently(int *nongit_ok) const char *gitdirenv; int len, offset; + /* + * Let's assume that we are in a git repository. + * If it turns out later that we are somewhere else, the value will be + * updated accordingly. + */ + if (nongit_ok) + *nongit_ok = 0; + /* * If GIT_DIR is set explicitly, we're not going * to do any discovery, but we still do repository @@ -448,8 +458,7 @@ int check_repository_format_version(const char *var, const char *value) } else if (strcmp(var, "core.worktree") == 0) { if (!value) return config_error_nonbool(var); - if (git_work_tree_cfg) - free(git_work_tree_cfg); + free(git_work_tree_cfg); git_work_tree_cfg = xstrdup(value); inside_work_tree = -1; }