Automated commit for upstream build of version 2.1.0 v2.1.0
authorKevin M. Rosenberg <kevin@rosenberg.net>
Mon, 19 Dec 2011 17:26:17 +0000 (10:26 -0700)
committerKevin M. Rosenberg <kevin@rosenberg.net>
Mon, 19 Dec 2011 17:26:17 +0000 (10:26 -0700)
ChangeLog
debian/changelog
src/strings.lisp

index 07c8141fc81ca0163c98bafd155dfcf105c6743d..f3a1afd7c7c7f26a176282b268ebdbf6f807033e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2011-12-20 Kevin Rosenberg <kevin@rosenberg.net>
+       * src/strings.lisp: Improvments for sb-unicode from
+       Elias Martenson
+
 2010-10-20 Kevin Rosenberg <kevin@rosenberg.net>
        * src/{strings,i18n}.lisp: Rework foreign string
        conversion for Lispworks so that wide-character strings
index 6749dc3dbf69d0f83108a1d315e466dbe2617eb4..6086e5d225257edaab1f13e4fa972f093e27dd92 100644 (file)
@@ -1,3 +1,9 @@
+cl-uffi (2.1.0-1) unstable; urgency=low
+
+  * New upstream
+
+ -- Kevin M. Rosenberg <kmr@debian.org>  Mon, 19 Dec 2011 10:01:23 -0700
+
 cl-uffi (2.0.0-1) unstable; urgency=low
 
   * Update upstream version for ASDF version dependency checking
index f5b5634e411447429dc1ce37a187324fd03da778..4f2eae3c7e430456dd4355b8462fddedefe58eba 100644 (file)
@@ -144,7 +144,8 @@ that LW/CMU automatically converts strings from c-calls."
     (string
      (locally
          (declare (optimize (speed 3) (safety 0)))
-       (let* ((fe (or encoding *default-foreign-encoding*))
+       (let* ((fe (or encoding *default-foreign-encoding*
+                      sb-impl::*default-external-format*))
               (ife (when fe (lookup-foreign-encoding fe))))
          (if ife
              (let* ((octets (sb-ext:string-to-octets str :external-format ife))
@@ -154,7 +155,7 @@ that LW/CMU automatically converts strings from c-calls."
                (setq storage (sb-alien:cast storage (* (sb-alien:unsigned 8))))
                (dotimes (i size)
                  (declare (fixnum i))
-                 (setf (sb-alien:deref storage i) (svref octets i)))
+                 (setf (sb-alien:deref storage i) (aref octets i)))
                ;; terminate with 2 nulls, maybe needed for some encodings
                (setf (sb-alien:deref storage size) 0)
                (setf (sb-alien:deref storage (1+ size)) 0)
@@ -395,10 +396,10 @@ that LW/CMU automatically converts strings from c-calls."
 (defun foreign-string-length (foreign-string)
   #+allegro `(ff:foreign-strlen ,foreign-string)
   #-allegro
-  `(loop with size = 0
-    until (char= (deref-array ,foreign-string '(:array :unsigned-char) size) #\Null)
-    do (incf size)
-    finally return size))
+  `(loop
+      for size from 0
+      until (char= (deref-array ,foreign-string '(:array :unsigned-char) size) #\Null)
+      finally (return size)))
 
 
 (defmacro with-foreign-string ((foreign-string lisp-string &optional encoding)