The object_array API has an OBJECT_ARRAY_INIT macro, but lacks a function to initialize an object_array at a given location in memory. Introduce `object_array_init()` to implement such a function. Signed-off-by: Taylor Blau <me@xxxxxxxxxxxx> --- object.c | 6 ++++++ object.h | 2 ++ 2 files changed, 8 insertions(+) diff --git a/object.c b/object.c index 6d4ef1524d..f1adb458b6 100644 --- a/object.c +++ b/object.c @@ -356,6 +356,12 @@ void object_list_free(struct object_list **list) */ static char object_array_slopbuf[1]; +void object_array_init(struct object_array *array) +{ + struct object_array blank = OBJECT_ARRAY_INIT; + memcpy(array, &blank, sizeof(*array)); +} + void add_object_array_with_path(struct object *obj, const char *name, struct object_array *array, unsigned mode, const char *path) diff --git a/object.h b/object.h index 96e52e24fb..c335435f9c 100644 --- a/object.h +++ b/object.h @@ -57,6 +57,8 @@ struct object_array { #define OBJECT_ARRAY_INIT { 0 } +void object_array_init(struct object_array *array); + /* * object flag allocation: * revision.h: 0---------10 15 23------27 -- 2.40.1.479.g8f2b93ade7