422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
|
[_extraField release];
[super dealloc];
}
- (bool)matchesEntry: (OFZIPArchiveEntry*)entry
{
if (_minVersionNeeded != [entry minVersionNeeded] ||
_generalPurposeBitFlag != [entry OF_generalPurposeBitFlag] ||
_compressionMethod != [entry compressionMethod] ||
_lastModifiedFileTime != [entry OF_lastModifiedFileTime] ||
_lastModifiedFileDate != [entry OF_lastModifiedFileDate])
return false;
if (!(_generalPurposeBitFlag & (1 << 3)))
if (_CRC32 != [entry CRC32] ||
|
>
>
>
>
>
>
>
>
>
>
|
|
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
|
[_extraField release];
[super dealloc];
}
- (bool)matchesEntry: (OFZIPArchiveEntry*)entry
{
/*
* Bit 11 is the Language Encoding Flag, which some implementations
* only set in the Central Directory Entry, but not in the Local File
* Header. Therefore, ignore it for the comparison of the General
* Purpose Bit Flag.
*/
uint16_t generalPurposeBitFlag = _generalPurposeBitFlag & ~(1 << 11);
uint16_t entryGeneralPurposeBitFlag =
[entry OF_generalPurposeBitFlag] & ~(1 << 11);
if (_minVersionNeeded != [entry minVersionNeeded] ||
generalPurposeBitFlag != entryGeneralPurposeBitFlag ||
_compressionMethod != [entry compressionMethod] ||
_lastModifiedFileTime != [entry OF_lastModifiedFileTime] ||
_lastModifiedFileDate != [entry OF_lastModifiedFileDate])
return false;
if (!(_generalPurposeBitFlag & (1 << 3)))
if (_CRC32 != [entry CRC32] ||
|