Index: src/OFZIPArchive.m ================================================================== --- src/OFZIPArchive.m +++ src/OFZIPArchive.m @@ -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; } Index: utils/OFZIP.m ================================================================== --- utils/OFZIP.m +++ utils/OFZIP.m @@ -176,11 +176,11 @@ OFEnumerator *componentEnumerator; OFString *component, *directory; OFStream *stream; OFFile *output; char buffer[BUFFER_SIZE]; - off_t written = 0, size = [entry uncompressedSize]; + uint64_t written = 0, size = [entry uncompressedSize]; int_fast8_t percent = -1, newPercent; if (!all && ![files containsObject: fileName]) continue;