0.8.18.30:
authorChristophe Rhodes <csr21@cam.ac.uk>
Thu, 13 Jan 2005 22:23:23 +0000 (22:23 +0000)
committerChristophe Rhodes <csr21@cam.ac.uk>
Thu, 13 Jan 2005 22:23:23 +0000 (22:23 +0000)
One more octets bugfix from Robert Macomber

src/code/octets.lisp
version.lisp-expr

index 494b306..943cd38 100644 (file)
@@ -613,6 +613,7 @@ one-past-the-end"
                 (type array-range astart aend))
        (let ((string (make-array 0 :adjustable t :fill-pointer 0 :element-type 'character)))
          (loop with pos = astart
+               while (< pos aend)
                do (multiple-value-bind (bytes invalid)
                       (,(make-od-name 'bytes-per-utf8-character accessor) array pos aend)
                     (declare (type (or null string) invalid))
@@ -622,8 +623,7 @@ one-past-the-end"
                       (t
                        (dotimes (i (length invalid))
                          (vector-push-extend (char invalid i) string))))
-                    (incf pos bytes))
-               while (< pos aend))
+                    (incf pos bytes)))
          (coerce string 'simple-string))))))
 (instantiate-octets-definition define-utf8->string)
 \f
index ef84804..ebd5155 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.8.18.29"
+"0.8.18.30"