(once-only ((len `(read-var-integer ,vec ,index)))
(once-only ((res `(make-string ,len)))
`(progn
- (%byte-blt ,vec ,index ,res 0 ,len)
- (incf ,index ,len)
+ (loop for i from 0 below ,len
+ do (setf (aref ,res i)
+ (code-char (read-var-integer ,vec ,index))))
,res))))
;;; Write STRING into VEC (adjustable, with fill-pointer) represented
(let ((len (length string)))
(write-var-integer len vec)
(dotimes (i len)
- (vector-push-extend (char-code (schar string i)) vec)))
+ (write-var-integer (char-code (schar string i)) vec)))
(values))
\f
;;;; packed bit vectors