From 9d8db4146d025e3a967700414a9fc68fa186045e Mon Sep 17 00:00:00 2001 From: Riley Beckett Date: Thu, 23 Oct 2025 00:07:26 -0400 Subject: add basic cursor movement --- array.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'array.h') diff --git a/array.h b/array.h index 1672ac6..b82e1e3 100644 --- a/array.h +++ b/array.h @@ -27,6 +27,23 @@ void* array_add_(void* array, size_t item_size); (array) = NULL; \ } while (0) +#define array_erase(array, index) do { \ + if ((index)) {\ + for (int __i = (index) - 1; __i < array_size((array)) - 1; __i++) \ + (array)[__i] = (array)[__i + 1]; \ + ((array_info*)(array))[-1].size--; \ + } \ +} while(0) + +#define array_insert(array, index, value) do { \ + void* __temp = array_add_((array), sizeof(*(array))); \ + (array) = __temp; \ + for (int __i = array_size((array)) - 1; __i > (index); __i--) \ + (array)[__i] = (array)[__i - 1]; \ + (array)[(index)] = value; \ +} while(0) \ + + #define array_add(array, value) do { \ void* __temp = array_add_((array), sizeof(*(array))); \ (array) = __temp; \ -- cgit v1.2.3