From: Kevin M. Rosenberg Date: Mon, 30 Dec 2002 20:39:25 +0000 (+0000) Subject: r3704: *** empty log message *** X-Git-Tag: v1.6.1~241 X-Git-Url: http://git.kpe.io/?p=uffi.git;a=commitdiff_plain;h=1e1e3631aa2f7f3f0927e05bc1f2d9866c20c685 r3704: *** empty log message *** --- diff --git a/debian/changelog b/debian/changelog index df12f9e..9bb90db 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +cl-uffi (1.2.5-1) unstable; urgency=low + + * Rework allocate-foreign-array to evaluate type + + -- Kevin M. Rosenberg Sat, 28 Dec 2002 01:12:30 -0700 + cl-uffi (1.2.4-1) unstable; urgency=low * Fix syntax error from last version diff --git a/debian/cl-uffi.doc-base b/debian/cl-uffi.doc-base index add1e0c..49e1aed 100644 --- a/debian/cl-uffi.doc-base +++ b/debian/cl-uffi.doc-base @@ -3,8 +3,8 @@ Title: UFFI Manual Author: Kevin M. Rosenberg Abstract: This manual describes the use the UFFI (Universal Foreign Function Interface) - Common Lisp library. This library supports CMUCL, - AllegroCL, Lispworks, and MCL. + Common Lisp library. This library supports CMUCL, SBCL, + AllegroCL, Lispworks, SCL, OpenMCL, and MCL. Section: programming Format: postscript diff --git a/src/objects.lisp b/src/objects.lisp index 0265259..740b684 100644 --- a/src/objects.lisp +++ b/src/objects.lisp @@ -7,7 +7,7 @@ ;;;; Programmer: Kevin M. Rosenberg ;;;; Date Started: Feb 2002 ;;;; -;;;; $Id: objects.lisp,v 1.8 2002/12/03 06:58:39 kevin Exp $ +;;;; $Id: objects.lisp,v 1.9 2002/12/30 20:39:22 kevin Exp $ ;;;; ;;;; This file, part of UFFI, is Copyright (c) 2002 by Kevin M. Rosenberg ;;;; @@ -44,11 +44,11 @@ an array of TYPE with size SIZE. The TYPE parameter is evaluated." #+sbcl `(sb-alien:make-alien ,(convert-from-uffi-type (eval type) :allocation)) #+lispworks - `(fli:allocate-foreign-object :type ',(convert-from-uffi-type type :allocate)) + `(fli:allocate-foreign-object :type ',(convert-from-uffi-type (eval type) :allocate)) #+allegro - `(ff:allocate-fobject ',(convert-from-uffi-type type :allocate) :c) + `(ff:allocate-fobject ',(convert-from-uffi-type (eval type) :allocate) :c) #+mcl - `(new-ptr ,(size-of-foreign-type (convert-from-uffi-type type :allocation))) + `(new-ptr ,(size-of-foreign-type (convert-from-uffi-type (eval type) :allocation))) ) (progn #+(or cmu scl) @@ -56,11 +56,11 @@ an array of TYPE with size SIZE. The TYPE parameter is evaluated." #+sbcl `(sb-alien:make-alien ,(convert-from-uffi-type (eval type) :allocation) ,size) #+lispworks - `(fli:allocate-foreign-object :type ',(convert-from-uffi-type type :allocate) :nelems ,size) + `(fli:allocate-foreign-object :type ',(convert-from-uffi-type (eval type) :allocate) :nelems ,size) #+allegro - `(ff:allocate-fobject (list :array (quote ,(convert-from-uffi-type type :allocate)) ,size) :c) + `(ff:allocate-fobject (list :array (quote ,(convert-from-uffi-type (eval type) :allocate)) ,size) :c) #+mcl - `(new-ptr (* ,size ,(size-of-foreign-type (convert-from-uffi-type type :allocation)))) + `(new-ptr (* ,size ,(size-of-foreign-type (convert-from-uffi-type (eval type) :allocation)))) ))) (defmacro free-foreign-object (obj)