@@ -72,11 +72,11 @@ { OFStream *_stream; OFFile *_file; OFZIPArchive_LocalFileHeader *_localFileHeader; bool _hasDataDescriptor; - size_t _size; + uint64_t _size; uint32_t _CRC32; bool _atEndOfStream; } - initWithArchiveFile: (OFString*)path @@ -306,11 +306,11 @@ size_t i; if ((off_t)_centralDirectoryOffset != _centralDirectoryOffset) @throw [OFOutOfRangeException exception]; - [_file seekToOffset: _centralDirectoryOffset + [_file seekToOffset: (off_t)_centralDirectoryOffset whence: SEEK_SET]; _entries = [[OFMutableArray alloc] init]; _pathToEntryMap = [[OFMutableDictionary alloc] init]; @@ -358,11 +358,11 @@ offset = [entry OF_localFileHeaderOffset]; if ((off_t)offset != offset) @throw [OFOutOfRangeException exception]; - [_file seekToOffset: offset + [_file seekToOffset: (off_t)offset whence: SEEK_SET]; localFileHeader = [[[OFZIPArchive_LocalFileHeader alloc] initWithFile: _file] autorelease]; if (![localFileHeader matchesEntry: entry]) @@ -572,11 +572,11 @@ @throw [OFChecksumFailedException exception]; return 0; } - min = (length < _size ? length : _size); + min = (length < _size ? length : (size_t)_size); ret = [_stream readIntoBuffer: buffer length: min]; _size -= ret; }