Fix some bugs in vector->string.
authorChris Hanson <org/chris-hanson/cph>
Sun, 19 Mar 2017 02:47:29 +0000 (19:47 -0700)
committerChris Hanson <org/chris-hanson/cph>
Sun, 19 Mar 2017 02:47:29 +0000 (19:47 -0700)
src/runtime/ustring.scm

index 1aaac2170502fd6431cd00d6228775f8e6b6c7c6..2e08dabf340ce0f8470c804260ec0564fec40d52 100644 (file)
@@ -1028,12 +1028,12 @@ USA.
              ((not (fix:>= i start)) chars))))))
 
 (define (vector->string vector #!optional start end)
-  (let* ((end (fix:end-index end (vector-length string) 'vector->string))
+  (let* ((end (fix:end-index end (vector-length vector) 'vector->string))
         (start (fix:start-index start end 'vector->string))
         (to
          (if (do ((i start (fix:+ i 1))
                   (8-bit? #t (and 8-bit? (char-8-bit? (vector-ref vector i)))))
-                 ((not (fix:< start end)) 8-bit?))
+                 ((not (fix:< i end)) 8-bit?))
              (legacy-string-allocate (fix:- end start))
              (full-string-allocate (fix:- end start)))))
     (copy-loop string-set! to 0