diff options
| -rw-r--r-- | array.c | 8 | ||||
| -rw-r--r-- | array.h | 3 |
2 files changed, 11 insertions, 0 deletions
@@ -135,3 +135,11 @@ bool array_truncate(Array *arr, size_t len) { } return false; } + +bool array_resize(Array *arr, size_t len) { + if (len <= arr->count) { + arr->len = len; + return true; + } + return false; +} @@ -58,5 +58,8 @@ size_t array_length(Array*); size_t array_capacity(Array*); /* remove all elements at index >= length, keep allocated memory */ bool array_truncate(Array*, size_t length); +/* change length if it is less than the current capacity, newly + * accesible elements preserve their previous values */ +bool array_resize(Array*, size_t length); #endif |
