From 6e23fcda5f908438057d9e53ba0a5aa559b02522 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Wed, 13 Oct 2010 08:41:29 -0600 Subject: [PATCH] fix `_short' and other non-`_int' integer types, and add `_intptr' test --- collects/ffi/unsafe.rkt | 2 +- collects/tests/racket/foreign-test.rktl | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/collects/ffi/unsafe.rkt b/collects/ffi/unsafe.rkt index 76ebe5993c..8f2271e5bd 100644 --- a/collects/ffi/unsafe.rkt +++ b/collects/ffi/unsafe.rkt @@ -47,7 +47,7 @@ ;; utility for the next few definitions (define (sizeof->3ints c-type) - (case (compiler-sizeof 'int) + (case (compiler-sizeof c-type) [(2) (values _int16 _uint16 _int16)] [(4) (values _int32 _uint32 _int32)] [(8) (values _int64 _uint64 _int64)] diff --git a/collects/tests/racket/foreign-test.rktl b/collects/tests/racket/foreign-test.rktl index cdbdce41b3..a8ef509b5c 100644 --- a/collects/tests/racket/foreign-test.rktl +++ b/collects/tests/racket/foreign-test.rktl @@ -234,6 +234,11 @@ (test 1 ptr-ref v _int16 0) (test 3 ptr-ref v _int16 3)) +;; Test intptr: +(let ([v (malloc _pointer)]) + (ptr-set! v _pointer (ptr-add #f 107)) + (test 107 ptr-ref v _intptr)) + (delete-test-files) (report-errs)