Differences From Artifact [40dcf1c644]:
- File
src/OFMapTable.m
— part of check-in
[3d16a30f41]
at
2013-06-22 12:12:36
on branch trunk
— Rework exceptions.
This mostly removes the argument for the class in which the exception
occurred. As backtraces were recently added for all platforms, the
passed class does not give any extra information on where the exception
occurred anymore.This also removes a few other arguments which were not too helpful. In
the past, the idea was to pass as many arguments as possible so that it
is easier to find the origin of the exception. However, as backtraces
are a much better way to find the origin, those are not useful anymore
and just make the exception more cumbersome to use. The rule is now to
only pass arguments that might help in recovering from the exception or
provide information that is otherwise not easily accessible. (user: js, size: 15634) [annotate] [blame] [check-ins using]
To Artifact [360a62d844]:
- File src/OFMapTable.m — part of check-in [aae02e7970] at 2013-08-10 23:12:07 on branch trunk — Add -[OFMutableDictionary removeAllObjects]. (user: js, size: 16401) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
490 491 492 493 494 495 496 497 498 499 500 501 502 503 | _mutations++; [self OF_resizeForCount: _count]; return; } } } - (bool)containsValue: (void*)value { uint32_t i; if (value == NULL || _count == 0) return false; | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 | _mutations++; [self OF_resizeForCount: _count]; return; } } } - (void)removeAllValues { uint32_t i; for (i = 0; i < _capacity; i++) { if (_buckets[i] != NULL) { if (_buckets[i] == &deleted) { _buckets[i] = NULL; continue; } _keyFunctions.release(_buckets[i]->key); _valueFunctions.release(_buckets[i]->value); [self freeMemory: _buckets[i]]; _buckets[i] = NULL; } } _count = 0; _capacity = MIN_CAPACITY; _buckets = [self resizeMemory: _buckets size: sizeof(*_buckets) count: _capacity]; /* * Get a new random value for _rotate, so that it is not less secure * than creating a new hash map. */ if (of_hash_seed != 0) #if defined(HAVE_ARC4RANDOM) _rotate = arc4random() & 31; #elif defined(HAVE_RANDOM) _rotate = random() & 31; #else _rotate = rand() & 31; #endif } - (bool)containsValue: (void*)value { uint32_t i; if (value == NULL || _count == 0) return false; |
︙ | ︙ |