From c9820ad6002e6952080482f1ff9220f598abc554 Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Tue, 5 Feb 2013 18:43:19 +0100 Subject: [PATCH] a #f array is the null pointer * figl/gl/types.scm (array->pointer, define-array-foreign-type): Allow #f to indicate a null pointer. --- figl/gl/types.scm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/figl/gl/types.scm b/figl/gl/types.scm index e6df6e3..297ea5f 100644 --- a/figl/gl/types.scm +++ b/figl/gl/types.scm @@ -98,11 +98,17 @@ (define-simple-foreign-type void-* '*) (define-simple-foreign-type const-GLvoid-* '*) +(define (array->pointer x) + (lambda (x) + (if x + (ffi:bytevector->pointer x) + ffi:%null-pointer))) + (define-syntax define-array-foreign-type (syntax-rules () ((_ name element-type) (define-foreign-type name '* - ffi:bytevector->pointer + array->pointer (lambda (x) x))))) (define-array-foreign-type GLboolean-* GLboolean) -- 2.20.1