diff --git a/CHANGELOG.md b/CHANGELOG.md index 449fd42376f9d36cc3a8ce7b9336caf059c1acc5..ff42fd55e944fbd2499569c5dfdfa554f266eb42 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,8 @@ ## Unreleased + Fix bug with determining type of entries in v7 archives. ++ If given a gray stream that does not implement `stream-element-type`, assume + it is `(unsigned-byte 8)`. ## v0.1.2 - September 25, 2021 diff --git a/src/blocked-stream.lisp b/src/blocked-stream.lisp index 3228b8d2dddc490894dc6af62ce62ff68897eb53..91113d601b21dd3f6d9f5598ca0d1280d671f64d 100644 --- a/src/blocked-stream.lisp +++ b/src/blocked-stream.lisp @@ -83,7 +83,8 @@ of the wrapped stream when instantiated.")) (defmethod initialize-instance :after ((blocked-stream blocked-stream) &key stream) - (let ((element-type (stream-element-type stream))) + (let ((element-type (or (ignore-errors (stream-element-type stream)) + '(unsigned-byte 8)))) (assert (subtypep element-type 'integer) nil "STREAM must be a binary stream") ;; Create the buffer.