diff options
author | René Scharfe <l.s.r@web.de> | 2023-01-02 00:14:12 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2023-01-09 07:28:36 +0300 |
commit | d2ec87a684e2f9cd1f0c653620a00d74ad5ee2ce (patch) | |
tree | 911771cac3baaba2780b0bed60d9c0324e0d4284 /compat | |
parent | 08e8c266653a486cc441ec031136875bf579f054 (diff) |
add DUP_ARRAY
Add a macro for allocating and populating a shallow copy of an array.
It is intended to replace a sequence like this:
ALLOC_ARRAY(dst, n);
COPY_ARRAY(dst, src, n);
With the less repetitve:
DUP_ARRAY(dst, src, n);
It checks whether the types of source and destination are compatible to
ensure the copy can be used safely.
An easier alternative would be to only consider the source and return
a void pointer, that could be used like this:
dst = ARRAY_DUP(src, n);
That would be more versatile, as it could be used in declarations as
well. Making it type-safe would require the use of typeof_unqual from
C23, though.
So use the safe and compatible variant for now.
Signed-off-by: René Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'compat')
0 files changed, 0 insertions, 0 deletions