X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=src%2Fprimitives.cl;h=0048668d9779c1bd0289c9d4a6c2efcb03021950;hb=fb93b1923db347f01bdebc7226e5e1eaacacc9f9;hp=2555b4c5b0f2d28a9a1dae588c9b2f2897a0dc38;hpb=76ae1bdbadaaf87603ebbe987e59dd1a105f1872;p=uffi.git diff --git a/src/primitives.cl b/src/primitives.cl index 2555b4c..0048668 100644 --- a/src/primitives.cl +++ b/src/primitives.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,7 +7,7 @@ ;;;; Programmer: Kevin M. Rosenberg ;;;; Date Started: Feb 2002 ;;;; -;;;; $Id: primitives.cl,v 1.7 2002/03/16 22:54:06 kevin Exp $ +;;;; $Id: primitives.cl,v 1.8 2002/03/17 17:33:30 kevin Exp $ ;;;; ;;;; This file, part of UFFI, is Copyright (c) 2002 by Kevin M. Rosenberg ;;;; @@ -42,12 +42,6 @@ supports takes advantage of this optimization." t nil)) -(defmacro ensure-char (val) - `(etypecase ,val - (integer - (code-char ,val)) - (character - ,val))) (defmacro def-foreign-type (name type) #+lispworks `(fli:define-c-typedef ,name ,(convert-from-uffi-type type :type)) @@ -94,7 +88,7 @@ supports takes advantage of this optimization." '((* . *) (:void . :void) (:short . :short) (:pointer-void . (* :void)) - (:cstring . (* :char)) + (:cstring . (* :unsigned-char)) (:char . :char) (:unsigned-char . :unsigned-char) (:byte . :byte) @@ -106,9 +100,10 @@ supports takes advantage of this optimization." (defconstant +type-conversion-list+ '((* . :pointer) (:void . :void) (:short . :short) - (:pointer-void . (:pointer :void)) - (:cstring . (:pointer :char)) - (:char . :char) + (:pointer-void . (:pointer :unsigned :void)) + (:cstring . (:pointer (:unsigned :char))) + (:char . :char) + (:byte :byte) (:unsigned-char . (:unsigned :char)) (:int . :int) (:unsigned-int . (:unsigned :int)) (:long . :long) (:unsigned-long . (:unsigned :long))