From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: * X-Spam-Status: No, score=1.3 required=5.0 tests=RDNS_NONE autolearn=no autolearn_force=no version=3.4.4 Received: (qmail 3683 invoked from network); 3 Aug 2021 09:19:29 -0000 Received: from unknown (HELO 1ess.inri.net) (216.126.196.35) by inbox.vuxu.org with ESMTPUTF8; 3 Aug 2021 09:19:29 -0000 Received: from mimir.eigenstate.org ([206.124.132.107]) by 1ess; Tue Aug 3 00:18:08 -0400 2021 Received: from abbatoir.myfiosgateway.com (pool-74-108-56-225.nycmny.fios.verizon.net [74.108.56.225]) by mimir.eigenstate.org (OpenSMTPD) with ESMTPSA id 58de2075 (TLSv1.2:ECDHE-RSA-AES256-SHA:256:NO) for <9front@9front.org>; Mon, 2 Aug 2021 21:11:10 -0700 (PDT) Message-ID: <82FC95C9FC70B1C0C9E6C73E07797849@eigenstate.org> To: 9front@9front.org Date: Tue, 03 Aug 2021 00:11:08 -0400 From: ori@eigenstate.org In-Reply-To: <92B827BDFC2D678CA23B1000DEE041AF@felloff.net> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit List-ID: <9front.9front.org> List-Help: X-Glyph: ➈ X-Bullshit: hardware callback hypervisor interface Subject: Re: [9front] make arrays big: qsort edition Reply-To: 9front@9front.org Precedence: bulk Quoth cinap_lenrek@felloff.net: > sbrk() has been fixed to take usize now, > so you can just do: buf = sbrk(LARGE); Ah, good to know! Anyways, updated so we can build the kernel: if there are no objections, will commit in the next day or two. --- /mnt/git/object/7f832df53d2a1d45fb7c7b2129e56b6b9e855682/tree/sys/include/libc.h +++ sys/include/libc.h @@ -424,7 +424,7 @@ extern int postnote(int, int, char *); extern double pow10(int); extern int putenv(char*, char*); -extern void qsort(void*, long, long, int (*)(void*, void*)); +extern void qsort(void*, usize, usize, int (*)(void*, void*)); extern int setjmp(jmp_buf); extern double strtod(char*, char**); extern long strtol(char*, char**, int); --- /mnt/git/object/7f832df53d2a1d45fb7c7b2129e56b6b9e855682/tree/sys/src/9/port/lib.h +++ sys/src/9/port/lib.h @@ -158,7 +158,7 @@ extern int dec64(uchar*, int, char*, int); extern int dec16(uchar*, int, char*, int); extern int encodefmt(Fmt*); -extern void qsort(void*, long, long, int (*)(void*, void*)); +extern void qsort(void*, usize, usize, int (*)(void*, void*)); /* * Syscall data structures --- /mnt/git/object/7f832df53d2a1d45fb7c7b2129e56b6b9e855682/tree/sys/src/libc/port/qsort.c +++ sys/src/libc/port/qsort.c @@ -8,12 +8,12 @@ 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 @@ } static void -swapi(char *ii, char *ij, long es) +swapi(char *ii, char *ij, usize es) { long *i, *j, c; @@ -42,9 +42,9 @@ } 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 @@ } 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 @@ } 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;