- (let ((stream (find-user-data stream-id)))
- (typecase stream
- (stream
- (loop for i below length do
- (let ((byte (read-byte stream nil)))
- (if byte
- (setf (gffi::ref-uint-8 data i) byte)
- (return-from stream-read-func :read-error)))))
- ((or symbol function) (funcall stream data length))))
- :success)
+ (block stream-read
+ (let ((stream (find-user-data stream-id)))
+ (typecase stream
+ (stream
+ (loop for i below length do
+ (let ((byte (read-byte stream nil)))
+ (if byte
+ (setf (gffi::ref-uint-8 data i) byte)
+ (return-from stream-read :read-error)))))
+ ((or symbol function) (funcall stream data length))))
+ :success))