diff options
| author | 2025-06-07 09:38:48 -0400 | |
|---|---|---|
| committer | 2025-06-07 09:38:48 -0400 | |
| commit | b403770e7eb6e0a5a8ca14a24f91dbf214ffe917 (patch) | |
| tree | 505c47bd0be142b861fb6a8cb9ec80ed676f05a5 | |
| parent | ec99011aca3a9b92964c653d74d693e693ac052f (diff) | |
| download | libalabaster-b403770e7eb6e0a5a8ca14a24f91dbf214ffe917.tar.gz libalabaster-b403770e7eb6e0a5a8ca14a24f91dbf214ffe917.tar.bz2 libalabaster-b403770e7eb6e0a5a8ca14a24f91dbf214ffe917.zip | |
array: add array_contains()
Signed-off-by: Andrew Opalach <andrew@akon.city>
| -rw-r--r-- | src/array.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/array.c b/src/array.c index 46d7951..37ae7b4 100644 --- a/src/array.c +++ b/src/array.c @@ -74,6 +74,18 @@ } 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_remove(array, elem) \ ({ \ bool removed = false; \ |