chiark / gitweb /
Locations to hold foreign values return by reference initialized to NULL
authorespen <espen>
Mon, 14 Feb 2005 17:49:17 +0000 (17:49 +0000)
committerespen <espen>
Mon, 14 Feb 2005 17:49:17 +0000 (17:49 +0000)
glib/ffi.lisp

index a50499ed2e8f86ab6749375acb6613cfb26ae103..bc33d633ae42346a9edf6c2cc1a8f50b3487c54d 100644 (file)
@@ -15,7 +15,7 @@
 ;; License along with this library; if not, write to the Free Software
 ;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
-;; $Id: ffi.lisp,v 1.13 2005/02/03 23:09:03 espen Exp $
+;; $Id: ffi.lisp,v 1.14 2005/02/14 17:49:17 espen Exp $
 
 (in-package "GLIB")
 
@@ -128,8 +128,9 @@ (defun %defbinding (foreign-name lisp-name lambda-list return-type docs args)
             (alien-parameters `(addr ,var))
             (alien-bindings
              `(,var ,declaration
-               ,@(when (eq style :in-out)
-                   (list (to-alien-form expr type)))))
+               ,(if (eq style :in-out)
+                    (to-alien-form expr type)
+                  (make-pointer 0))))
             (return-values (from-alien-form var type)))
            ((eq style :return)
             (alien-types declaration)