diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/array.c | 11 |
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) |