diff options
Diffstat (limited to 'object.c')
-rw-r--r-- | object.c | 14 |
1 files changed, 6 insertions, 8 deletions
@@ -85,8 +85,7 @@ struct object_refs *alloc_object_refs(unsigned count) struct object_refs *refs; size_t size = sizeof(*refs) + count*sizeof(struct object *); - refs = xmalloc(size); - memset(refs, 0, size); + refs = xcalloc(1, size); refs->count = count; return refs; } @@ -178,8 +177,7 @@ struct object *lookup_unknown_object(const unsigned char *sha1) { struct object *obj = lookup_object(sha1); if (!obj) { - union any_object *ret = xmalloc(sizeof(*ret)); - memset(ret, 0, sizeof(*ret)); + union any_object *ret = xcalloc(1, sizeof(*ret)); created_object(sha1, &ret->object); ret->object.type = NULL; return &ret->object; @@ -196,15 +194,15 @@ struct object *parse_object(const unsigned char *sha1) struct object *obj; if (check_sha1_signature(sha1, buffer, size, type) < 0) printf("sha1 mismatch %s\n", sha1_to_hex(sha1)); - if (!strcmp(type, "blob")) { + if (!strcmp(type, blob_type)) { struct blob *blob = lookup_blob(sha1); parse_blob_buffer(blob, buffer, size); obj = &blob->object; - } else if (!strcmp(type, "tree")) { + } else if (!strcmp(type, tree_type)) { struct tree *tree = lookup_tree(sha1); parse_tree_buffer(tree, buffer, size); obj = &tree->object; - } else if (!strcmp(type, "commit")) { + } else if (!strcmp(type, commit_type)) { struct commit *commit = lookup_commit(sha1); parse_commit_buffer(commit, buffer, size); if (!commit->buffer) { @@ -212,7 +210,7 @@ struct object *parse_object(const unsigned char *sha1) buffer = NULL; } obj = &commit->object; - } else if (!strcmp(type, "tag")) { + } else if (!strcmp(type, tag_type)) { struct tag *tag = lookup_tag(sha1); parse_tag_buffer(tag, buffer, size); obj = &tag->object; |