From: espen Date: Mon, 26 Sep 2005 21:27:31 +0000 (+0000) Subject: Fix for SBCL 9.x X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/clg/commitdiff_plain/177abaa0c3347e6de9389348cbb06cfe2cc3aa11?ds=inline Fix for SBCL 9.x --- diff --git a/glib/ffi.lisp b/glib/ffi.lisp index 5f2fc0c..a6e6b3a 100644 --- a/glib/ffi.lisp +++ b/glib/ffi.lisp @@ -20,7 +20,7 @@ ;; TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE ;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -;; $Id: ffi.lisp,v 1.20 2005-04-23 16:48:50 espen Exp $ +;; $Id: ffi.lisp,v 1.21 2005-09-26 21:27:31 espen Exp $ (in-package "GLIB") @@ -189,7 +189,10 @@ (defun mkbinding (name return-type &rest arg-types) (%heap-alien (make-heap-alien-info :type (parse-alien-type ftype #+sbcl nil) - :sap-form (foreign-symbol-address name)))) + :sap-form (let ((address (foreign-symbol-address name))) + (etypecase address + (integer (int-sap address)) + (system-area-pointer address)))))) (translate-arguments (mapcar #'to-alien-function arg-types)) (translate-return-value (from-alien-function return-type)) (cleanup-arguments (mapcar #'cleanup-function arg-types)))