Shrink "struct object" a bit
[git.git] / upload-pack.c
index 3cdf428..979e583 100644 (file)
@@ -46,7 +46,7 @@ static void create_pack_file(void)
        if (!pid) {
                int i;
                int args;
-               char **argv;
+               const char **argv;
                char *buf;
                char **p;
 
@@ -56,9 +56,9 @@ static void create_pack_file(void)
                }
                else
                        args = nr_has + nr_needs + 5;
-               argv = xmalloc(args * sizeof(char *));
+               p = xmalloc(args * sizeof(char *));
+               argv = (const char **) p;
                buf = xmalloc(args * 45);
-               p = argv;
 
                dup2(fd[1], 1);
                close(0);
@@ -105,7 +105,7 @@ static int got_sha1(char *hex, unsigned char *sha1)
                        o = parse_object(sha1);
                if (!o)
                        die("oops (%s)", sha1_to_hex(sha1));
-               if (o->type == commit_type) {
+               if (o->type == TYPE_COMMIT) {
                        struct commit_list *parents;
                        if (o->flags & THEY_HAVE)
                                return 0;
@@ -221,6 +221,9 @@ static int send_ref(const char *refname, const unsigned char *sha1)
        static char *capabilities = "multi_ack thin-pack";
        struct object *o = parse_object(sha1);
 
+       if (!o)
+               die("git-upload-pack: cannot find object %s:", sha1_to_hex(sha1));
+
        if (capabilities)
                packet_write(1, "%s %s%c%s\n", sha1_to_hex(sha1), refname,
                        0, capabilities);
@@ -231,7 +234,7 @@ static int send_ref(const char *refname, const unsigned char *sha1)
                o->flags |= OUR_REF;
                nr_our_refs++;
        }
-       if (o->type == tag_type) {
+       if (o->type == TYPE_TAG) {
                o = deref_tag(o, refname, 0);
                packet_write(1, "%s %s^{}\n", sha1_to_hex(o->sha1), refname);
        }