summaryrefslogtreecommitdiff
path: root/tree.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2007-04-17 05:11:43 (GMT)
committerJunio C Hamano <junkio@cox.net>2007-04-17 06:36:16 (GMT)
commit100c5f3b0b27ec6617de1a785c4ff481e92636c1 (patch)
tree365323d9a0483a9ca22b3a334a627cde1354d44e /tree.c
parent2c1cbec1e2f0bd7b15fe5e921d287babfd91c7d3 (diff)
downloadgit-100c5f3b0b27ec6617de1a785c4ff481e92636c1.zip
git-100c5f3b0b27ec6617de1a785c4ff481e92636c1.tar.gz
git-100c5f3b0b27ec6617de1a785c4ff481e92636c1.tar.bz2
Clean up object creation to use more common code
This replaces the fairly odd "created_object()" function that did _most_ of the object setup with a more complete "create_object()" function that also has a more natural calling convention. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'tree.c')
-rw-r--r--tree.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/tree.c b/tree.c
index d188c0f..e5bfbce 100644
--- a/tree.c
+++ b/tree.c
@@ -127,12 +127,8 @@ int read_tree(struct tree *tree, int stage, const char **match)
struct tree *lookup_tree(const unsigned char *sha1)
{
struct object *obj = lookup_object(sha1);
- if (!obj) {
- struct tree *ret = alloc_tree_node();
- created_object(sha1, &ret->object);
- ret->object.type = OBJ_TREE;
- return ret;
- }
+ if (!obj)
+ return create_object(sha1, OBJ_TREE, alloc_tree_node());
if (!obj->type)
obj->type = OBJ_TREE;
if (obj->type != OBJ_TREE) {