summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Barkalow <barkalow@iabervon.org>2005-09-05 06:04:18 (GMT)
committerJunio C Hamano <junkio@cox.net>2005-09-11 01:27:40 (GMT)
commit680bab3d9a33029be38590681832ae9b6d74ad60 (patch)
tree8ca1ff411337a7abafb5c00f43250effe06b73cb
parent77675e2aff434cb1f0e62540ae42f5716a5a778d (diff)
downloadgit-680bab3d9a33029be38590681832ae9b6d74ad60.zip
git-680bab3d9a33029be38590681832ae9b6d74ad60.tar.gz
git-680bab3d9a33029be38590681832ae9b6d74ad60.tar.bz2
[PATCH] Add function to append to an object_list.
Signed-off-by: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
-rw-r--r--object.c11
-rw-r--r--object.h3
2 files changed, 14 insertions, 0 deletions
diff --git a/object.c b/object.c
index 72f6aa5..63e6e78 100644
--- a/object.c
+++ b/object.c
@@ -184,6 +184,17 @@ struct object_list *object_list_insert(struct object *item,
return new_list;
}
+void object_list_append(struct object *item,
+ struct object_list **list_p)
+{
+ while (*list_p) {
+ list_p = &((*list_p)->next);
+ }
+ *list_p = xmalloc(sizeof(struct object_list));
+ (*list_p)->next = NULL;
+ (*list_p)->item = item;
+}
+
unsigned object_list_length(struct object_list *list)
{
unsigned ret = 0;
diff --git a/object.h b/object.h
index 5af530d..bf74449 100644
--- a/object.h
+++ b/object.h
@@ -41,6 +41,9 @@ void mark_reachable(struct object *obj, unsigned int mask);
struct object_list *object_list_insert(struct object *item,
struct object_list **list_p);
+void object_list_append(struct object *item,
+ struct object_list **list_p);
+
unsigned object_list_length(struct object_list *list);
int object_list_contains(struct object_list *list, struct object *obj);