ObjFW  Diff

Differences From Artifact [f4015d2b21]:

To Artifact [5f89bfb09f]:


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] ||