summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Koegler <mkoegler@auto.tuwien.ac.at>2007-04-22 18:43:58 +0200
committerJunio C Hamano <junkio@cox.net>2007-04-24 00:08:49 -0700
commite5709a4a6809e45bf59b851debf24a813e1c6b58 (patch)
tree6a86e480804869637f7e176eca64c356840f5374
parenta0cd87a57044efa8aef39b476fd9240af57a1853 (diff)
downloadgit-e5709a4a6809e45bf59b851debf24a813e1c6b58.tar.gz
add add_object_array_with_mode
Each object in struct object_array is extended with the mode. If not specified, S_IFINVALID is used. An object with an mode value can be added with add_object_array_with_mode. Signed-off-by: Martin Koegler <mkoegler@auto.tuwien.ac.at> Signed-off-by: Junio C Hamano <junkio@cox.net>
-rw-r--r--object.c6
-rw-r--r--object.h2
2 files changed, 8 insertions, 0 deletions
diff --git a/object.c b/object.c
index 7bd3fec556..37d1363359 100644
--- a/object.c
+++ b/object.c
@@ -231,6 +231,11 @@ int object_list_contains(struct object_list *list, struct object *obj)
void add_object_array(struct object *obj, const char *name, struct object_array *array)
{
+ add_object_array_with_mode(obj, name, array, S_IFINVALID);
+}
+
+void add_object_array_with_mode(struct object *obj, const char *name, struct object_array *array, unsigned mode)
+{
unsigned nr = array->nr;
unsigned alloc = array->alloc;
struct object_array_entry *objects = array->objects;
@@ -243,5 +248,6 @@ void add_object_array(struct object *obj, const char *name, struct object_array
}
objects[nr].item = obj;
objects[nr].name = name;
+ objects[nr].mode = mode;
array->nr = ++nr;
}
diff --git a/object.h b/object.h
index 3e26a0e8b9..94f19eed86 100644
--- a/object.h
+++ b/object.h
@@ -17,6 +17,7 @@ struct object_array {
struct object_array_entry {
struct object *item;
const char *name;
+ unsigned mode;
} *objects;
};
@@ -77,5 +78,6 @@ int object_list_contains(struct object_list *list, struct object *obj);
/* Object array handling .. */
void add_object_array(struct object *obj, const char *name, struct object_array *array);
+void add_object_array_with_mode(struct object *obj, const char *name, struct object_array *array, unsigned mode);
#endif /* OBJECT_H */