summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Opalach <andrew@akon.city> 2025-11-30 13:10:30 -0500
committerAndrew Opalach <andrew@akon.city> 2025-11-30 13:10:30 -0500
commitc54cfde860f3449d37d19255f399b216f00a871c (patch)
treea6e10b3c10203158ad70e9c04bee73c68e8d47c2
parent0d1bc6cf7483d2a53c2d5f04d15a0ce3da85f29b (diff)
downloadlibalabaster-c54cfde860f3449d37d19255f399b216f00a871c.tar.gz
libalabaster-c54cfde860f3449d37d19255f399b216f00a871c.tar.bz2
libalabaster-c54cfde860f3449d37d19255f399b216f00a871c.zip
array: Try to avoid common shadowing case
Signed-off-by: Andrew Opalach <andrew@akon.city>
-rw-r--r--src/array.c60
1 files changed, 30 insertions, 30 deletions
diff --git a/src/array.c b/src/array.c
index 8c7f8d3..bde54a8 100644
--- a/src/array.c
+++ b/src/array.c
@@ -77,41 +77,41 @@
} while (0)
#ifdef AL_HAVE_GNU_EXTENSIONS
-#define al_array_contains(array, needle) \
- ({ \
- bool contains = false; \
- for (u32 i = 0; i < (array).count; i++) { \
- if (al_array_at(array, i) == needle) { \
- contains = true; \
- break; \
- } \
- } \
- contains; \
+#define al_array_contains(array, needle) \
+ ({ \
+ bool was_contained = false; \
+ for (u32 ic = 0; ic < (array).count; ic++) { \
+ if (al_array_at(array, ic) == needle) { \
+ was_contained = true; \
+ break; \
+ } \
+ } \
+ was_contained; \
})
-#define al_array_remove(array, elem) \
+#define al_array_remove(array, elem) \
+ ({ \
+ bool did_remove = false; \
+ for (u32 ir = 0; ir < (array).count; ir++) { \
+ if (al_array_at(array, ir) == elem) { \
+ al_array_remove_at(array, ir); \
+ did_remove = true; \
+ break; \
+ } \
+ } \
+ did_remove; \
+ })
+
+#define al_array_remove_all(array, elem) \
({ \
- bool removed = false; \
- for (u32 i = 0; i < (array).count; i++) { \
- if (al_array_at(array, i) == elem) { \
- al_array_remove_at(array, i); \
- removed = true; \
- break; \
+ bool did_remove = false; \
+ for (u32 ir = (array).count; ir-- > 0;) { \
+ if (al_array_at(array, ir) == elem) { \
+ al_array_remove_at(array, ir); \
+ did_remove = true; \
} \
} \
- removed; \
- })
-
-#define al_array_remove_all(array, elem) \
- ({ \
- bool removed = false; \
- for (u32 i = (array).count; i-- > 0;) { \
- if (al_array_at(array, i) == elem) { \
- al_array_remove_at(array, i); \
- removed = true; \
- } \
- } \
- removed; \
+ did_remove; \
})
#endif