diff options
| author | 2026-09-14 08:45:15 -0400 | |
|---|---|---|
| committer | 2026-09-14 08:45:15 -0400 | |
| commit | 117587f66de7f667daabf90f9f4e8bf2089b9a24 (patch) | |
| tree | 85fd4a9b5a89b0163cf1db6508ec5fef5837d5fc | |
| parent | 81a7b4ba322aeddf52207fdcd2213e5f5a493471 (diff) | |
| download | libalabaster-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.c | 2 | ||||
| -rw-r--r-- | tests/array.c | 2 |
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); } |