aboutsummaryrefslogtreecommitdiff
path: root/array.h
diff options
context:
space:
mode:
authorRiley Beckett <rbeckettvt@gmail.com>2025-10-26 19:55:26 -0400
committerRiley Beckett <rbeckettvt@gmail.com>2025-10-26 19:55:26 -0400
commit500cd948a40a9ad2ee8e123254d66259c46464d6 (patch)
tree8a0d1a8364fbf11d02e7df40ceb4b8081644e903 /array.h
parent8003084ccf17b26e932b565cfc0bb30302af3dd7 (diff)
refactor keybinds
Diffstat (limited to 'array.h')
-rw-r--r--array.h16
1 files changed, 10 insertions, 6 deletions
diff --git a/array.h b/array.h
index 852461c..37c2cc8 100644
--- a/array.h
+++ b/array.h
@@ -27,12 +27,16 @@ void* array_resize_(void* array, size_t item_size, size_t 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--; \
- } \
+#define array_erase(array, index) do { \
+ for (int __i = (index); __i < array_size((array)) - 1; __i++) \
+ (array)[__i] = (array)[__i + 1]; \
+ ((array_info*)(array))[-1].size--; \
+} while(0)
+
+#define array_erase_range(array, startinc, endinc) do { \
+ for (int __i = (startinc); __i < array_size((array)) - ((endinc) - (startinc) + 1); __i++) \
+ (array)[__i] = (array)[__i + ((endinc) - (startinc) + 1)]; \
+ ((array_info*)(array))[-1].size -= ((endinc) - (startinc) + 1); \
} while(0)
#define array_insert(array, index, value) do { \