@@ -16,11 +16,11 @@ #import "OFAutoreleasePool.h" #import "OFArray.h" #import "OFExceptions.h" #ifdef OF_THREADS -#import "threading.h" +# import "threading.h" static of_tlskey_t first_key, last_key; #else static OFAutoreleasePool *first = nil, *last = nil; #endif @@ -119,10 +119,36 @@ if (prev != nil) prev->next = self; return self; } + +- (void)addObject: (OFObject*)obj +{ + if (objects == nil) + objects = [[OFMutableArray alloc] init]; + + [objects addObject: obj]; + [obj release]; +} + +- (void)releaseObjects +{ + [next releaseObjects]; + [objects release]; + objects = nil; +} + +- (void)release +{ + [self dealloc]; +} + +- (void)drain +{ + [self dealloc]; +} - (void)dealloc { [next dealloc]; [objects release]; @@ -159,44 +185,10 @@ #endif [super dealloc]; } -- addObject: (OFObject*)obj -{ - if (objects == nil) - objects = [[OFMutableArray alloc] init]; - - [objects addObject: obj]; - [obj release]; - - return self; -} - -- releaseObjects -{ - [next releaseObjects]; - - if (objects == nil) - return self; - - [objects release]; - objects = nil; - - return self; -} - -- (void)release -{ - [self dealloc]; -} - -- (void)drain -{ - [self dealloc]; -} - - retain { @throw [OFNotImplementedException newWithClass: isa selector: _cmd]; }