Fix "checkout-cache.c" mis-use of read_sha1_file() interface.
authorLinus Torvalds <torvalds@ppc970.osdl.org>
Sat, 9 Apr 2005 18:24:41 +0000 (11:24 -0700)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Sat, 9 Apr 2005 18:24:41 +0000 (11:24 -0700)
It's supposed to test the returned file type, not think that read_sha1_file()
tests it. Confusion from "cat-file" command line usage.

checkout-cache.c

index 1b50da8f1a8107d81a005b025df971e8a497f940..6baf4f21b2bc24c1b510ed702106ce661a8dc363 100644 (file)
@@ -42,9 +42,10 @@ static int write_entry(struct cache_entry *ce)
        void *new;
        unsigned long size;
        long wrote;
+       char type[20];
 
-       new = read_sha1_file(ce->sha1, "blob", &size);
-       if (!new) {
+       new = read_sha1_file(ce->sha1, type, &size);
+       if (!new || strcmp(type, "blob")) {
                fprintf(stderr, "checkout-cache: unable to read sha1 file of %s (%s)\n",
                        ce->name, sha1_to_hex(ce->sha1));
                return -1;