From 7811a2edbbd08372d16b5e81cbc6fa39d64d1395 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Sat, 20 Jun 2020 16:22:19 -0600 Subject: [PATCH] cs: fix io _uintptr bbinding for rktio and 32-bit platforms Little-endian byte order hides this mistake, but it showed up immediate on big-endian ppc32. --- racket/src/cs/io.sls | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/racket/src/cs/io.sls b/racket/src/cs/io.sls index bccc119723..0c6caa9716 100644 --- a/racket/src/cs/io.sls +++ b/racket/src/cs/io.sls @@ -60,7 +60,7 @@ (define-ftype uintptr_t uptr) (define-ftype rktio_int64_t integer-64) (define-ftype function-pointer uptr) - (define _uintptr _uint64) + (define _uintptr (if (> (fixnum-width) 32) _uint64 _uint32)) (define NULL 0) (define (<< a b) (bitwise-arithmetic-shift-left a b))