X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=contrib%2Fsb-simple-streams%2Fimpl.lisp;h=07732f32009acba532bc430250b036eed85e7072;hb=2d93dc5eb5e9a1c93b2163af83f427f83ae2095e;hp=014c8520c455decc60be45a2d93d4c166eea1a37;hpb=be6abfb75a76eb69a417ff09fd6b0f41e708f8c3;p=sbcl.git diff --git a/contrib/sb-simple-streams/impl.lisp b/contrib/sb-simple-streams/impl.lisp index 014c852..07732f3 100644 --- a/contrib/sb-simple-streams/impl.lisp +++ b/contrib/sb-simple-streams/impl.lisp @@ -584,10 +584,12 @@ (index (or start 0) (1+ index)) (end (or end (* (length vector) (vector-elt-width vector)))) (endian-swap (endian-swap-value vector endian-swap)) - (byte (read-byte-internal encap nil nil t) - (read-byte-internal encap nil nil nil))) - ((or (null byte) (>= index end)) index) - (setf (bref vector (logxor index endian-swap)) byte)))))) + (flag t nil)) + ((>= index end) index) + (let ((byte (read-byte-internal encap nil nil flag))) + (unless byte + (return index)) + (setf (bref vector (logxor index endian-swap)) byte))))))) ((or ansi-stream fundamental-stream) (unless (typep vector '(or string (simple-array (signed-byte 8) (*))