@@ -42,9 +42,9 @@ @interface FICImageTable () {
4242 off_t _fileLength;
4343
4444 NSUInteger _entryCount;
45- off_t _entryLength;
45+ NSInteger _entryLength;
4646 NSUInteger _entriesPerChunk;
47- off_t _imageLength;
47+ NSInteger _imageLength;
4848
4949 size_t _chunkLength;
5050 NSInteger _chunkCount;
@@ -134,7 +134,7 @@ - (instancetype)initWithFormat:(FICImageFormat *)imageFormat {
134134
135135 CGSize pixelSize = [_imageFormat pixelSize ];
136136 NSInteger bytesPerPixel = [_imageFormat bytesPerPixel ];
137- _imageRowLength = FICByteAlignForCoreAnimation (pixelSize.width * bytesPerPixel);
137+ _imageRowLength = ( NSInteger ) FICByteAlignForCoreAnimation (pixelSize.width * bytesPerPixel);
138138 _imageLength = _imageRowLength * (NSInteger )pixelSize.height ;
139139
140140 _chunkMapTable = [NSMapTable mapTableWithKeyOptions: NSMapTableStrongMemory valueOptions: NSMapTableWeakMemory ];
@@ -156,16 +156,16 @@ - (instancetype)initWithFormat:(FICImageFormat *)imageFormat {
156156 if (_fileDescriptor >= 0 ) {
157157 // The size of each entry in the table needs to be page-aligned. This will cause each entry to have a page-aligned base
158158 // address, which will help us avoid Core Animation having to copy our images when we eventually set them on layers.
159- _entryLength = FICByteAlign (_imageLength + sizeof (FICImageTableEntryMetadata), [FICImageTable pageSize ]);
159+ _entryLength = ( NSInteger ) FICByteAlign (_imageLength + sizeof (FICImageTableEntryMetadata), [FICImageTable pageSize ]);
160160
161161 // Each chunk will map in n entries. Try to keep the chunkLength around 2MB.
162162 NSInteger goalChunkLength = 2 * (1024 * 1024 );
163163 NSInteger goalEntriesPerChunk = goalChunkLength / _entryLength;
164164 _entriesPerChunk = MAX (4 , goalEntriesPerChunk);
165- _chunkLength = _entryLength * _entriesPerChunk;
165+ _chunkLength = ( size_t )( _entryLength * _entriesPerChunk) ;
166166
167167 _fileLength = lseek (_fileDescriptor, 0 , SEEK_END);
168- _entryCount = _fileLength / _entryLength;
168+ _entryCount = ( NSInteger )( _fileLength / _entryLength) ;
169169 _chunkCount = (_entryCount + _entriesPerChunk - 1 ) / _entriesPerChunk;
170170
171171 if ([_indexMap count ] > _entryCount) {
@@ -218,10 +218,10 @@ - (FICImageTableChunk *)_chunkAtIndex:(NSInteger)index {
218218 chunk = [self _cachedChunkAtIndex: index];
219219
220220 if (chunk == nil ) {
221- size_t chunkLength = _chunkLength;
221+ size_t chunkLength = _chunkLength;
222222 off_t chunkOffset = index * (off_t )_chunkLength;
223223 if (chunkOffset + chunkLength > _fileLength) {
224- chunkLength = _fileLength - chunkOffset;
224+ chunkLength = ( size_t )( _fileLength - chunkOffset) ;
225225 }
226226
227227 chunk = [[FICImageTableChunk alloc ] initWithFileDescriptor: _fileDescriptor index: index length: chunkLength];
@@ -423,7 +423,7 @@ - (FICImageTableEntry *)_entryDataAtIndex:(NSInteger)index {
423423
424424 if (index < _entryCount) {
425425 off_t entryOffset = index * _entryLength;
426- size_t chunkIndex = entryOffset / _chunkLength;
426+ size_t chunkIndex = ( size_t )( entryOffset / _chunkLength) ;
427427
428428 FICImageTableChunk *chunk = [self _chunkAtIndex: chunkIndex];
429429 if (chunk != nil ) {
0 commit comments