diff --git a/fsck-cache.c b/fsck-cache.c
index e42264e6ce4e61855581deb2a22b7a8f6a111d70..8e21bf1327a60840273973c08216c1387aac95b8 100644 (file)
--- a/fsck-cache.c
+++ b/fsck-cache.c
obj = lookup_object(sha1);
if (!obj) {
obj = lookup_object(sha1);
if (!obj) {
- if (!standalone && has_sha1_file(sha1))
+ if (!standalone && has_sha1_file(sha1)) {
+ default_refs++;
return 0; /* it is in a pack */
return 0; /* it is in a pack */
+ }
error("%s: invalid sha1 pointer %s", refname, sha1_to_hex(sha1));
/* We'll continue with the rest despite the error.. */
return 0;
error("%s: invalid sha1 pointer %s", refname, sha1_to_hex(sha1));
/* We'll continue with the rest despite the error.. */
return 0;
struct packed_git *p;
prepare_alt_odb();
for (j = 0; alt_odb[j].base; j++) {
struct packed_git *p;
prepare_alt_odb();
for (j = 0; alt_odb[j].base; j++) {
- alt_odb[j].name[-1] = 0; /* was slash */
- fsck_object_dir(alt_odb[j].base);
- alt_odb[j].name[-1] = '/';
+ char namebuf[PATH_MAX];
+ int namelen = alt_odb[j].name - alt_odb[j].base;
+ memcpy(namebuf, alt_odb[j].base, namelen);
+ namebuf[namelen - 1] = 0;
+ fsck_object_dir(namebuf);
}
prepare_packed_git();
for (p = packed_git; p; p = p->next)
}
prepare_packed_git();
for (p = packed_git; p; p = p->next)