aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaciej <maciej.borowiec0@gmail.com>2026-08-13 16:30:13 +0200
committerMaciej <maciej.borowiec0@gmail.com>2026-08-13 16:30:13 +0200
commit46df319562cda0bfd27d5eda7b1d1abe507405fe (patch)
tree3433245e65147f23d127604cf3db07c5b0097673
parent22679c1e0a781f32b493e15992259bffeb884aa1 (diff)
feat: added basic definitions of array functions (no implementations), so the tessts compile and make it to the end without aborting
-rw-r--r--include/moslib/ds/array.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/include/moslib/ds/array.h b/include/moslib/ds/array.h
index d7534d8..7b553d7 100644
--- a/include/moslib/ds/array.h
+++ b/include/moslib/ds/array.h
@@ -144,3 +144,34 @@
//
// ----------------------------------------------------------------------------------------------------
// ===================================== END OF QUICK USAGE GUIDE =====================================
+
+#include <moslib/mem/alloc.h>
+
+#define ARR_INIT_CAP 16
+#define arr_get(arr, i) ((arr) ? arr : NULL)
+#define arr_first(arr) NULL
+#define arr_last(arr) NULL
+// ... - item
+// variadic to make something like (struct T){1,1} work properly
+#define arr_append(arr, ...) (!(arr) ? (arr) = safe_malloc(sizeof(*(arr))) : 0, *(arr) = (__VA_ARGS__))
+#define arr_push(arr, ...) 0
+#define arr_insert(arr, i, ...) 0
+#define arr_put(arr, i, ...) 0
+#define arr_append_n(arr, items, n) (!(arr) ? (arr) = safe_malloc(sizeof(*(arr))) : 0, *(arr) = (items)[0])
+#define arr_push_n(arr, items, n) 0
+#define arr_insert_n(arr, i, items, n) 0
+#define arr_put_n(arr, i, items, n) 0
+#define arr_concat(arr1, arr2) 0
+#define arr_pop_i(arr, i) (arr[0])
+#define arr_pop(arr) (arr[0])
+#define arr_del(arr, i) 0
+#define arr_del_n(arr, i, n) 0
+#define arr_del_front(arr, n) 0
+#define arr_del_back(arr, n) 0
+#define arr_prev(arr, p_item) NULL
+#define arr_next(arr, p_item) NULL
+#define arr_len(arr) 0
+#define arr_set_len(array, len) 0
+#define arr_cap(arr) 0
+#define arr_set_cap(arr, cap) 0
+#define arr_free(arr) void