r3010: final sbcl changes before 1.0.0 release
[uffi.git] / src / objects.lisp
index 7826f56c8bcd6f52d5806876fa9ada05cc8a827b..19cb002d94ea50f698bbfa5db24ce9bc9504dab8 100644 (file)
@@ -7,7 +7,7 @@
 ;;;; Programmer:    Kevin M. Rosenberg
 ;;;; Date Started:  Feb 2002
 ;;;;
-;;;; $Id: objects.lisp,v 1.2 2002/10/14 01:51:15 kevin Exp $
+;;;; $Id: objects.lisp,v 1.3 2002/10/14 07:08:49 kevin Exp $
 ;;;;
 ;;;; This file, part of UFFI, is Copyright (c) 2002 by Kevin M. Rosenberg
 ;;;;
@@ -85,11 +85,11 @@ an array of TYPE with size SIZE. The TYPE parameter is evaluated."
   )
 
 (defmacro make-null-pointer (type)
-  #+(or allegro cmu sbcl mcl) (declare (ignore type))
-  #+cmu `(system:int-sap 0)
-  #+sbcl `(sb-sys:int-sap 0)
+  #+(or allegro mcl) (declare (ignore type))
+  #+cmu `(alien:sap-alien (system:int-sap 0) (* ,(convert-from-uffi-type (eval type) :type)))
+  #+sbcl `(sb-alien:sap-alien (sb-sys:int-sap 0) (* ,(convert-from-uffi-type (eval type) :type)))
+  #+lispworks `(fli:make-pointer :address 0 :type (quote ,(convert-from-uffi-type (eval type) :type)))
   #+allegro 0
-  #+lispworks `(fli:make-pointer :address 0 :type ,type)
   #+mcl `(ccl:%null-ptr)
   )