r10344: 2005-02-22 Kevin Rosenberg (kevin@rosenberg.net)
authorKevin M. Rosenberg <kevin@rosenberg.net>
Tue, 22 Feb 2005 17:12:01 +0000 (17:12 +0000)
committerKevin M. Rosenberg <kevin@rosenberg.net>
Tue, 22 Feb 2005 17:12:01 +0000 (17:12 +0000)
        * src/primitives.lisp, src/strings.lisp: Better support
        for sb-unicode [from Yoshinori Tahara and R. Mattes]

ChangeLog
debian/changelog
src/primitives.lisp
src/strings.lisp

index c8d7c694268be457ca5598dc68a932375164881a..46eba703f23216071db15b56aab0af370185eb69 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2005-02-22 Kevin Rosenberg (kevin@rosenberg.net)
+       * src/primitives.lisp, src/strings.lisp: Better support 
+       for sb-unicode [from Yoshinori Tahara and R. Mattes]
+
 2005-01-22 Kevin Rosenberg (kevin@rosenberg.net)
        * src/primitives.lisp: Better support SBCL-AMD64
        
index 14ec424535fdb6151a6c30a7604aa279005eced0..e6750de88547f80069c876989e3a946f57339867 100644 (file)
@@ -1,3 +1,9 @@
+cl-uffi (1.4.32-1) unstable; urgency=low
+
+  * New upstream
+
+ -- Kevin M. Rosenberg <kmr@debian.org>  Tue, 22 Feb 2005 10:10:03 -0700
+
 cl-uffi (1.4.31-1) unstable; urgency=low
 
   * New upstream
index 087802648e052cd65e70796a5251ef93f0980c5f..5522f5a73e55e79f4baea4a7d0e844d46357d53b 100644 (file)
@@ -147,7 +147,8 @@ supports takes advantage of this optimization."
 (setq *type-conversion-list*
     '((* . *) (:void . sb-alien:void) 
       (:pointer-void . (* t))
-      (:cstring . sb-alien:c-string)
+      #-sb-unicode(:cstring . sb-alien:c-string)
+      #+sb-unicode(:cstring . sb-alien:utf8-string)
       (:char . sb-alien:char) 
       (:unsigned-char . (sb-alien:unsigned 8))
       (:byte . (sb-alien:signed 8))
index b8965b151068cbcee667cb54060abe1648431205..d91142747219aee42d7a6abda37e7a64e621e0e5 100644 (file)
@@ -329,8 +329,9 @@ that LW/CMU automatically converts strings from c-calls."
       (declare (optimize (speed 3) (safety 0)))
       (cond
         (null-terminated-p
-        (let ((casted (sb-alien:cast
-                       (sb-alien:sap-alien sap (* char)) sb-alien:c-string)))
+        (let ((casted (sb-alien:cast (sb-alien:sap-alien sap (* char))
+                                     #+sb-unicode sb-alien:utf8-string
+                                     #-sb-unicode sb-alien:c-string)))
           (if length
               (copy-seq (subseq casted 0 length))
               (copy-seq casted))))