diff --git a/include/c-libs/dyn-arr.h b/include/c-libs/dyn-arr.h index 9dc31bf..4864d52 100644 --- a/include/c-libs/dyn-arr.h +++ b/include/c-libs/dyn-arr.h @@ -76,6 +76,10 @@ size_t darr_cap(void *arr); /// Free a dynamic array /// @param arr a pointer initialized with darr_init or returned from darr_clone void darr_free(void *arr); + +/// Empty the dynamic array +void darr_clear(void *arr); + #endif #ifdef CLIBS_DYN_ARR_IMPL @@ -103,4 +107,10 @@ void darr_free(void *arr) { DArrHeader *header = ((DArrHeader *)arr) - 1; free(header); } + +void darr_clear(void *arr) { + DArrHeader *header = ((DArrHeader *)arr) - 1; + header->size = 0; +} + #endif