21 lines
578 B
Plaintext
21 lines
578 B
Plaintext
{ArrayType} *output = array;
|
|
|
|
if (!allocator || !array) {{
|
|
goto RETURN_{Tupper}_ARRAY_APPEND_ALLOC;
|
|
}}
|
|
|
|
if (array->count >= array->capacity) {{
|
|
u64 new_capacity = wapp_misc_utils_u64_round_up_pow2(array->capacity * 2);
|
|
output = wapp_{Tlower}_array_alloc_capacity(allocator, new_capacity);
|
|
if (!output) {{
|
|
output = array;
|
|
goto RETURN_{Tupper}_ARRAY_APPEND_ALLOC;
|
|
}}
|
|
wapp_{Tlower}_array_copy_capped(array, output);
|
|
}}
|
|
|
|
wapp_{Tlower}_array_append_capped(output, item);
|
|
|
|
RETURN_{Tupper}_ARRAY_APPEND_ALLOC:
|
|
return output;
|