Index: src/OFZIPArchive.m ================================================================== --- src/OFZIPArchive.m +++ src/OFZIPArchive.m @@ -73,11 +73,11 @@ OFStream *_stream, *_decompressedStream; OFZIPArchive_LocalFileHeader *_localFileHeader; bool _hasDataDescriptor; uint64_t _size; uint32_t _CRC32; - bool _atEndOfStream; + bool _atEndOfStream, _closed; } - initWithStream: (OFStream*)path localFileHeader: (OFZIPArchive_LocalFileHeader*)localFileHeader; @end @@ -523,11 +523,11 @@ - (size_t)lowlevelReadIntoBuffer: (void*)buffer length: (size_t)length { size_t min, ret; - if (_atEndOfStream) + if (_atEndOfStream || _closed) @throw [OFReadFailedException exceptionWithObject: self requestedLength: length]; if (_hasDataDescriptor) { if ([_decompressedStream isAtEndOfStream]) { @@ -573,8 +573,8 @@ return ret; } - (void)close { - _atEndOfStream = true; + _closed = true; } @end