Code

add add_object_array_with_mode
authorMartin Koegler <mkoegler@auto.tuwien.ac.at>
Sun, 22 Apr 2007 16:43:58 +0000 (18:43 +0200)
committerJunio C Hamano <junkio@cox.net>
Tue, 24 Apr 2007 07:08:49 +0000 (00:08 -0700)
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>
object.c
object.h

index 7bd3fec55655584f9cf4aebc6a13de7b84a78af5..37d1363359eb54070ed4dc52b9e96d4ad9457db3 100644 (file)
--- a/object.c
+++ b/object.c
@@ -230,6 +230,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;
@@ -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;
 }
index 3e26a0e8b9f87526dc02841031e5544a2518c266..94f19eed86ceebcc85770a379faf7b1270d1fad4 100644 (file)
--- 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 */