X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=fsck-cache.c;h=e53d01a40ffd98f1cb3a571776b0e050551938f1;hb=8c1f5f0f1f9c36ef5465512753efeff36758ba7d;hp=e40c64332f2ca8b01b12d1b3f050165f61836b3b;hpb=d59a6043a8a7aed97c684fb4f14fe5221df1fcaf;p=git.git diff --git a/fsck-cache.c b/fsck-cache.c index e40c6433..e53d01a4 100644 --- a/fsck-cache.c +++ b/fsck-cache.c @@ -390,7 +390,10 @@ static int fsck_head_link(void) char hex[40]; unsigned char sha1[20]; static char path[PATH_MAX], link[PATH_MAX]; - const char *git_dir = gitenv(GIT_DIR_ENVIRONMENT) ? : DEFAULT_GIT_DIR_ENVIRONMENT; + const char *git_dir; + + git_dir = gitenv(GIT_DIR_ENVIRONMENT); + if (!git_dir) git_dir = DEFAULT_GIT_DIR_ENVIRONMENT; snprintf(path, sizeof(path), "%s/HEAD", git_dir); if (readlink(path, link, sizeof(link)) < 0) @@ -451,18 +454,18 @@ int main(int argc, char **argv) if (standalone && check_full) die("Only one of --standalone or --full can be used."); if (standalone) - unsetenv("GIT_ALTERNATE_OBJECT_DIRECTORIES"); + putenv("GIT_ALTERNATE_OBJECT_DIRECTORIES="); fsck_head_link(); fsck_object_dir(get_object_directory()); if (check_full) { - int j; + struct alternate_object_database *alt; struct packed_git *p; prepare_alt_odb(); - for (j = 0; alt_odb[j].base; j++) { + for (alt = alt_odb_list; alt; alt = alt->next) { char namebuf[PATH_MAX]; - int namelen = alt_odb[j].name - alt_odb[j].base; - memcpy(namebuf, alt_odb[j].base, namelen); + int namelen = alt->name - alt->base; + memcpy(namebuf, alt->base, namelen); namebuf[namelen - 1] = 0; fsck_object_dir(namebuf); }