From 6e0532af78294c76d0e0a187a40d330518bab0a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Andr=C3=A9=20Tanner?= Date: Mon, 10 Jul 2017 17:08:58 +0200 Subject: array: add helper functions for LIFO usage --- array.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'array.c') diff --git a/array.c b/array.c index b65ad12..824154a 100644 --- a/array.c +++ b/array.c @@ -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); +} -- cgit v1.2.3