summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndrew Opalach <andrew@akon.city> 2024-10-19 11:19:32 -0400
committerAndrew Opalach <andrew@akon.city> 2024-10-19 11:22:21 -0400
commit96f1ca95d5fbe8ff5bcf8802bb40d366409ea2fb (patch)
tree3b263a66b29557179ee225fd0ff591942ad9493f /src
parent6c36b3da63ce0c0a4a2281d182f1b4de2e5bef69 (diff)
downloadlibalabaster-96f1ca95d5fbe8ff5bcf8802bb40d366409ea2fb.tar.gz
libalabaster-96f1ca95d5fbe8ff5bcf8802bb40d366409ea2fb.tar.bz2
libalabaster-96f1ca95d5fbe8ff5bcf8802bb40d366409ea2fb.zip
array: Add test for array_sort()
Signed-off-by: Andrew Opalach <andrew@akon.city>
Diffstat (limited to 'src')
-rw-r--r--src/array.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/array.c b/src/array.c
index cbeb256..8803c54 100644
--- a/src/array.c
+++ b/src/array.c
@@ -1,3 +1,7 @@
+#if !defined AL_ARRAY_MALLOC || !defined AL_ARRAY_REALLOC || !defined AL_ARRAY_FREE
+#error "define all of AL_ARRAY_MALLOC, AL_ARRAY_REALLOC, and AL_ARRAY_FREE before including array.c"
+#endif
+
#include "../include/al/lib.h"
#include "../include/al/array_sort.h"
@@ -70,8 +74,11 @@
} \
} while (0)
-#define al_array_sort(arr, type, cmp) \
- AL_INSERSION_SORT((arr).data, type, (arr).size, cmp)
+#if AL_USE_STDLIB
+#define al_array_sort(arr, type, cmp) AL_STDLIB_QSORT((arr).data, type, (arr).size, cmp)
+#else
+#define al_array_sort(arr, type, cmp) AL_INSERSION_SORT((arr).data, type, (arr).size, cmp)
+#endif
#define al_array_free(arr) \
if ((arr).alloc) AL_ARRAY_FREE((arr).data)