chiark
/
gitweb
/
~mdw
/
clg
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
1ea49ab
)
Fixed previous broken change to DEFBINDING
author
espen
<espen>
Tue, 15 Feb 2005 15:28:15 +0000
(15:28 +0000)
committer
espen
<espen>
Tue, 15 Feb 2005 15:28:15 +0000
(15:28 +0000)
glib/ffi.lisp
patch
|
blob
|
blame
|
history
diff --git
a/glib/ffi.lisp
b/glib/ffi.lisp
index 6797b39ed1275c63a23e7d924c04aad32b7ffd39..29dddd0cf59accb1ab8603b798252be63010c862 100644
(file)
--- a/
glib/ffi.lisp
+++ b/
glib/ffi.lisp
@@
-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
;; 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.1
4 2005-02-14 17:49:17
espen Exp $
+;; $Id: ffi.lisp,v 1.1
5 2005-02-15 15:28:15
espen Exp $
(in-package "GLIB")
(in-package "GLIB")
@@
-128,9
+128,10
@@
(defun %defbinding (foreign-name lisp-name lambda-list return-type docs args)
(alien-parameters `(addr ,var))
(alien-bindings
`(,var ,declaration
(alien-parameters `(addr ,var))
(alien-bindings
`(,var ,declaration
- ,(if (eq style :in-out)
- (to-alien-form expr type)
- (make-pointer 0))))
+ ,@(cond
+ ((eq style :in-out) (list (to-alien-form expr type)))
+ ((eq declaration 'system-area-pointer)
+ (list '(make-pointer 0))))))
(return-values (from-alien-form var type)))
((eq style :return)
(alien-types declaration)
(return-values (from-alien-form var type)))
((eq style :return)
(alien-types declaration)