Unify write_index_file functions
[gitweb.git] / builtin-fsck.c
index 44ce629a498f986f239e008a61d32e10968907e0..9959818ceddf52ec24d9b24b0cade558f4d43070 100644 (file)
@@ -256,7 +256,7 @@ static int fsck_tree(struct tree *item)
                case S_IFREG | 0644:
                case S_IFLNK:
                case S_IFDIR:
-               case S_IFDIRLNK:
+               case S_IFGITLINK:
                        break;
                /*
                 * This is nonstandard, but we had a few of these
@@ -668,7 +668,10 @@ int cmd_fsck(int argc, char **argv, const char *prefix)
                        verify_pack(p, 0);
 
                for (p = packed_git; p; p = p->next) {
-                       uint32_t i, num = p->num_objects;
+                       uint32_t i, num;
+                       if (open_pack_index(p))
+                               continue;
+                       num = p->num_objects;
                        for (i = 0; i < num; i++)
                                fsck_sha1(nth_packed_object_sha1(p, i));
                }
@@ -715,7 +718,7 @@ int cmd_fsck(int argc, char **argv, const char *prefix)
                        struct object *obj;
 
                        mode = ntohl(active_cache[i]->ce_mode);
-                       if (S_ISDIRLNK(mode))
+                       if (S_ISGITLINK(mode))
                                continue;
                        blob = lookup_blob(active_cache[i]->sha1);
                        if (!blob)