Overview
Comment: | Merge trunk into branch "objfwtest" |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | objfwtest |
Files: | files | file ages | folders |
SHA3-256: |
89869c188f0723cd6eaf65ac461dfef5 |
User & Date: | js on 2024-02-18 13:53:41 |
Other Links: | branch diff | manifest | tags |
Context
2024-02-18
| ||
17:44 | Migrate OFDataTests to ObjFWTest check-in: f3bfdcf17a user: js tags: objfwtest | |
13:53 | Merge trunk into branch "objfwtest" check-in: 89869c188f user: js tags: objfwtest | |
13:53 | OFMapTable: Improve enumeration mutation detection check-in: ab14af79d2 user: js tags: trunk | |
12:51 | Make GCC happy again check-in: 69a0cfcb13 user: js tags: objfwtest | |
Changes
Modified src/OFMapTable.m from [3e827255d3] to [77fd4c4f10].
︙ | ︙ | |||
468 469 470 471 472 473 474 | for (i = rotatedHash & (_capacity - 1); i < last && _buckets[i] != NULL; i++) { if (_buckets[i] == &deletedBucket) continue; if (_keyFunctions.equal(_buckets[i]->key, key)) { | < < > | 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 | for (i = rotatedHash & (_capacity - 1); i < last && _buckets[i] != NULL; i++) { if (_buckets[i] == &deletedBucket) continue; if (_keyFunctions.equal(_buckets[i]->key, key)) { _keyFunctions.release(_buckets[i]->key); _objectFunctions.release(_buckets[i]->object); OFFreeMemory(_buckets[i]); _buckets[i] = &deletedBucket; _count--; _mutations++; resizeForCount(self, _count); return; } } if (i < last) |
︙ | ︙ | |||
614 615 616 617 618 619 620 621 622 623 | #ifdef OF_HAVE_BLOCKS - (void)enumerateKeysAndObjectsUsingBlock: (OFMapTableEnumerationBlock)block { bool stop = false; unsigned long mutations = _mutations; for (size_t i = 0; i < _capacity && !stop; i++) { if (_mutations != mutations) @throw [OFEnumerationMutationException exceptionWithObject: self]; | > > > < < < | 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 | #ifdef OF_HAVE_BLOCKS - (void)enumerateKeysAndObjectsUsingBlock: (OFMapTableEnumerationBlock)block { bool stop = false; unsigned long mutations = _mutations; for (size_t i = 0; i < _capacity && !stop; i++) { if (_buckets[i] != NULL && _buckets[i] != &deletedBucket) block(_buckets[i]->key, _buckets[i]->object, &stop); if (_mutations != mutations) @throw [OFEnumerationMutationException exceptionWithObject: self]; } } - (void)replaceObjectsUsingBlock: (OFMapTableReplaceBlock)block { unsigned long mutations = _mutations; |
︙ | ︙ |