X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=src%2Fstrings.lisp;h=0bdeeabe277a0338f6c37bd2439de584da76e39d;hb=0387c7216d0e8d0300323689be5c3c0eaad54171;hp=f41113ba416955665ddcb68617c905dca530b85e;hpb=996ef9dcf5bf917a6a0e977a23b9cafb522c107c;p=uffi.git diff --git a/src/strings.lisp b/src/strings.lisp index f41113b..0bdeeab 100644 --- a/src/strings.lisp +++ b/src/strings.lisp @@ -389,19 +389,20 @@ that LW/CMU automatically converts strings from c-calls." (def-type char-ptr-def (* :unsigned-char)) -#+(or lispworks (and allegro (not ics))) +#+(or (and allegro (not ics)) (and lispworks (not lispworks5))) (defun fast-native-to-string (s len) (declare (optimize (speed 3) (space 0) (safety 0) (compilation-speed 0)) (type char-ptr-def s)) (let* ((len (or len (strlen s))) (str (make-string len))) (declare (fixnum len) - (type (simple-array (signed-byte 8) (*)) str)) + (type (simple-array #+lispworks base-char + #-lispworks (signed-byte 8) (*)) str)) (dotimes (i len str) (setf (aref str i) (uffi:deref-array s '(:array :char) i))))) -#+(and allegro ics) +#+(or (and allegro ics) lispworks5) (defun fast-native-to-string (s len) (declare (optimize (speed 3) (space 0) (safety 0) (compilation-speed 0)) (type char-ptr-def s))