Index: src/OFMutableSet.m ================================================================== --- src/OFMutableSet.m +++ src/OFMutableSet.m @@ -77,19 +77,6 @@ while ((object = [enumerator nextObject]) != nil) [self addObject: object]; [pool release]; } - -- (int)countByEnumeratingWithState: (of_fast_enumeration_state_t*)state - objects: (id*)objects - count: (int)count -{ - int ret = [super countByEnumeratingWithState: state - objects: objects - count: count]; - - state->mutationsPtr = &mutations; - - return ret; -} @end Index: src/OFSet.m ================================================================== --- src/OFSet.m +++ src/OFSet.m @@ -271,43 +271,13 @@ - (int)countByEnumeratingWithState: (of_fast_enumeration_state_t*)state objects: (id*)objects count: (int)count { - OFAutoreleasePool *pool = state->extra.pointers[0]; - OFEnumerator *enumerator = state->extra.pointers[1]; - int i; - - state->itemsPtr = objects; - state->mutationsPtr = (unsigned long*)self; - - if (state->state == -1) - return 0; - - if (state->state == 0) { - pool = [[OFAutoreleasePool alloc] init]; - enumerator = [dictionary keyEnumerator]; - - state->extra.pointers[0] = pool; - state->extra.pointers[1] = enumerator; - - state->state = 1; - } - - for (i = 0; i < count; i++) { - id object = [enumerator nextObject]; - - if (object == nil) { - [pool release]; - state->state = -1; - return i; - } - - objects[i] = object; - } - - return count; + return [dictionary countByEnumeratingWithState: state + objects: objects + count: count]; } #ifdef OF_HAVE_BLOCKS - (void)enumerateObjectsUsingBlock: (of_set_enumeration_block_t)block {