From a9bccf9e9b1bd408629edaac277f6b3a3a4ab6fb Mon Sep 17 00:00:00 2001 From: Ori Bernstein Date: Wed, 11 Aug 2021 02:27:48 +0000 Subject: [PATCH] qsort: allow usize-sized arrays. As part of the transition to 64 bit userspace APIs, we need to make our libc functions which take arrays all accept and deal with large sizes. This does the work for qsort. --- sys/src/libc/port/qsort.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/sys/src/libc/port/qsort.c b/sys/src/libc/port/qsort.c index c38a49da7..60dafc070 100644 --- a/sys/src/libc/port/qsort.c +++ b/sys/src/libc/port/qsort.c @@ -8,12 +8,12 @@ typedef struct { int (*cmp)(void*, void*); - void (*swap)(char*, char*, long); - long es; + void (*swap)(char*, char*, usize); + usize es; } Sort; static void -swapb(char *i, char *j, long es) +swapb(char *i, char *j, usize es) { char c; @@ -27,7 +27,7 @@ swapb(char *i, char *j, long es) } static void -swapi(char *ii, char *ij, long es) +swapi(char *ii, char *ij, usize es) { long *i, *j, c; @@ -42,9 +42,9 @@ swapi(char *ii, char *ij, long es) } static char* -pivot(char *a, long n, Sort *p) +pivot(char *a, usize n, Sort *p) { - long j; + usize j; char *pi, *pj, *pk; j = n/6 * p->es; @@ -69,9 +69,9 @@ pivot(char *a, long n, Sort *p) } static void -qsorts(char *a, long n, Sort *p) +qsorts(char *a, usize n, Sort *p) { - long j, es; + usize j, es; char *pi, *pj, *pn; es = p->es; @@ -111,7 +111,7 @@ qsorts(char *a, long n, Sort *p) } void -qsort(void *va, long n, long es, int (*cmp)(void*, void*)) +qsort(void *va, usize n, usize es, int (*cmp)(void*, void*)) { Sort s;