diff options
author | Ori Bernstein <ori@eigenstate.org> | 2021-08-11 02:27:48 +0000 |
---|---|---|
committer | Ori Bernstein <ori@eigenstate.org> | 2021-08-11 02:27:48 +0000 |
commit | a9bccf9e9b1bd408629edaac277f6b3a3a4ab6fb (patch) | |
tree | f848694591fb38d3d0391b8ce7a59e562fe2419b | |
parent | c6a9c55de7e5d1d510a717cffd42648d249269db (diff) | |
download | plan9front-a9bccf9e9b1bd408629edaac277f6b3a3a4ab6fb.tar.xz |
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.
-rw-r--r-- | sys/src/libc/port/qsort.c | 18 |
1 files 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; |