@@ -95,13 +95,14 @@ } - addToPool: (OFObject*)obj { if (objects == nil) - objects = [[OFArray alloc] initWithItemSize: sizeof(char*)]; + objects = [[OFArray alloc] init]; - [objects add: &obj]; + [objects add: obj]; + [obj release]; return self; } - release @@ -111,23 +112,14 @@ return [super release]; } - releaseObjects { - size_t i, size; - IMP get_item; - if (objects == nil) return self; - size = [objects items]; - get_item = [objects methodFor: @selector(item:)]; - - for (i = 0; i < size; i++) - [*((OFObject**)get_item(objects, @selector(item:), i)) release]; - [objects release]; objects = nil; return self; } @end