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>
This commit is contained in:
Martin Koegler 2007-04-22 18:43:58 +02:00 committed by Junio C Hamano
parent a0cd87a570
commit e5709a4a68
2 changed files with 8 additions and 0 deletions

View File

@ -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;
}

View File

@ -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 */