X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=src%2Faggregates.cl;h=3bb97f9ae59f46c37cb94771bc3b24b16fa8608b;hb=e1ba5e8ff148275ed252b179f43a4b045c1dcaf6;hp=b0438d9a4c501e9756b3113ae71e2d7ce1f50479;hpb=192193db6e4fbda90a840474d4aa2e8762597927;p=uffi.git diff --git a/src/aggregates.cl b/src/aggregates.cl index b0438d9..3bb97f9 100644 --- a/src/aggregates.cl +++ b/src/aggregates.cl @@ -1,4 +1,4 @@ -;;;; -*- Mode: LISP; Syntax: ANSI-Common-Lisp; Base: 10 -*- +;;;; -*- Mode: ANSI-Lisp; Syntax: ANSI-Common-Lisp; Base: 10 -*- ;;;; ************************************************************************* ;;;; FILE IDENTIFICATION ;;;; @@ -7,24 +7,13 @@ ;;;; Programmer: Kevin M. Rosenberg ;;;; Date Started: Feb 2002 ;;;; -;;;; Copyright (c) 2002 Kevin M. Rosenberg +;;;; $Id: aggregates.cl,v 1.6 2002/03/17 17:33:30 kevin Exp $ ;;;; -;;;; $Id: aggregates.cl,v 1.1 2002/03/09 19:55:33 kevin Exp $ +;;;; This file, part of UFFI, is Copyright (c) 2002 by Kevin M. Rosenberg ;;;; -;;;; This file is part of the UFFI. -;;;; -;;;; UFFI is free software; you can redistribute it and/or modify -;;;; it under the terms of the GNU General Public License (version 2) as -;;;; published by the Free Software Foundation. -;;;; -;;;; UFFI is distributed in the hope that it will be useful, -;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;;;; GNU General Public License for more details. -;;;; -;;;; You should have received a copy of the GNU General Public License -;;;; along with UFFI; if not, write to the Free Software -;;;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +;;;; UFFI users are granted the rights to distribute and use this software +;;;; as governed by the terms of the Lisp Lesser GNU Public License +;;;; (http://opensource.franz.com/preamble.html), also known as the LLGPL. ;;;; ************************************************************************* (declaim (optimize (debug 3) (speed 3) (safety 1) (compilation-speed 0))) @@ -37,6 +26,7 @@ of the enum-name name, separator-string, and field-name" (let ((counter 0) (cmds nil) (constants nil)) + (declare (fixnum counter)) (dolist (arg args) (let ((name (if (listp arg) (car arg) arg)) (value (if (listp arg) @@ -62,7 +52,7 @@ of the enum-name name, separator-string, and field-name" (defmacro def-array (name-array type) #+allegro `(ff:def-foreign-type ,name-array - (:struct (:my-field (:array ,(convert-from-uffi-type type :array))))) + (:array ,(convert-from-uffi-type type :array))) #+lispworks `(fli:define-c-typedef ,name-array (:pointer (:pointer ,(convert-from-uffi-type type :array)))) @@ -95,7 +85,7 @@ of the enum-name name, separator-string, and field-name" ) -(defmacro get-slot-value (obj slot type) +(defmacro get-slot-value (obj type slot) #+(or lispworks cmu) (declare (ignore type)) #+allegro `(ff:fslot-value-typed ,type :c ,obj ,slot) @@ -105,7 +95,7 @@ of the enum-name name, separator-string, and field-name" `(alien:slot ,obj ,slot) ) -(defmacro get-slot-pointer (obj slot type) +(defmacro get-slot-pointer (obj type slot) #+(or lispworks cmu) (declare (ignore type)) #+allegro `(ff:fslot-value-typed ,type :c ,obj ,slot) @@ -115,12 +105,12 @@ of the enum-name name, separator-string, and field-name" `(alien:slot ,obj ,slot) ) -(defmacro deref-array (obj i type) +(defmacro deref-array (obj type i) "Returns a field from a row" #+(or lispworks cmu) (declare (ignore type)) #+cmu `(alien:deref ,obj ,i) #+lispworks `(fli:dereference ,obj :index ,i) - #+allegro `(ff:fslot-value-typed ,type :c ,obj ':my-field ,i) + #+allegro `(ff:fslot-value-typed ,type :c ,obj ,i) )