diff options
| author | Marc André Tanner <mat@brain-dump.org> | 2017-07-10 17:08:58 +0200 |
|---|---|---|
| committer | Marc André Tanner <mat@brain-dump.org> | 2017-07-10 18:26:05 +0200 |
| commit | 6e0532af78294c76d0e0a187a40d330518bab0a8 (patch) | |
| tree | b59cf41605d3fbe97335ca8f6cb22943e2c36d96 /array.c | |
| parent | 19a5d3c16ff5ef6861b5d2f0c5e0e4ce06ee73d0 (diff) | |
| download | vis-6e0532af78294c76d0e0a187a40d330518bab0a8.tar.gz vis-6e0532af78294c76d0e0a187a40d330518bab0a8.tar.xz | |
array: add helper functions for LIFO usage
Diffstat (limited to 'array.c')
| -rw-r--r-- | array.c | 18 |
1 files changed, 18 insertions, 0 deletions
@@ -151,3 +151,21 @@ bool array_resize(Array *arr, size_t len) { void array_sort(Array *arr, int (*compar)(const void*, const void*)) { qsort(arr->items, arr->len, arr->elem_size, compar); } + +bool array_push(Array *arr, void *item) { + return array_add(arr, item); +} + +void *array_pop(Array *arr) { + void *item = array_peek(arr); + if (!item) + return NULL; + arr->len--; + return item; +} + +void *array_peek(Array *arr) { + if (arr->len == 0) + return NULL; + return array_get(arr, arr->len - 1); +} |
