[PATCH v3 1/3] object: add object_array initializer helper function
- From
Taylor Blau <me@ttaylorr.com>
- Date
- May 8, 2023, 17:38 UTC
- Message-ID
- <c31508ac4a5f335a6b923fdf84b20b4871298ee0.1683567065.git.me@ttaylorr.com>
- In-Reply-To
- <cover.1683567065.git.me@ttaylorr.com>
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@ttaylorr.com> --- 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