summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Opalach <andrew@akon.city> 2026-09-14 08:45:15 -0400
committerAndrew Opalach <andrew@akon.city> 2026-09-14 08:45:15 -0400
commit117587f66de7f667daabf90f9f4e8bf2089b9a24 (patch)
tree85fd4a9b5a89b0163cf1db6508ec5fef5837d5fc
parent81a7b4ba322aeddf52207fdcd2213e5f5a493471 (diff)
downloadlibalabaster-117587f66de7f667daabf90f9f4e8bf2089b9a24.tar.gz
libalabaster-117587f66de7f667daabf90f9f4e8bf2089b9a24.tar.bz2
libalabaster-117587f66de7f667daabf90f9f4e8bf2089b9a24.zip
array: Better assert for remove_at()
Signed-off-by: Andrew Opalach <andrew@akon.city>
-rw-r--r--src/array.c2
-rw-r--r--tests/array.c2
2 files changed, 3 insertions, 1 deletions
diff --git a/src/array.c b/src/array.c
index d29aa8b..b695219 100644
--- a/src/array.c
+++ b/src/array.c
@@ -64,7 +64,7 @@
if (i == (array).count - 1) { \
(array).count--; \
} else { \
- al_assert((u32)i < (array).count); \
+ al_assert((u32)i < (array).count - 1); \
al_memmove(al_array_offset(array, i), al_array_offset(array, i + 1), \
al_array_item_size(array) * (--(array).count - i)); \
} \
diff --git a/tests/array.c b/tests/array.c
index 35b36e7..fce9d5f 100644
--- a/tests/array.c
+++ b/tests/array.c
@@ -335,6 +335,7 @@ static bool array_test_foreach(void)
u32 iter1;
al_array_foreach_rev(ints, i, iter1) {
+ AL_TEST_LT(i, ints.count, u32);
AL_TEST_EQ(iter1, i, u32);
}
@@ -345,6 +346,7 @@ static bool array_test_foreach(void)
u32 iter2;
al_array_foreach_rev(ints, i, iter2) {
+ AL_TEST_LT(i, ints.count, u32);
AL_TEST_EQ(iter2, i, u32);
al_array_remove_at(ints, i);
}