@@ -309,24 +309,23 @@ return hash; } - (OFArray*)splitWithDelimiter: (OFString*)delimiter { - OFAutoreleasePool *pool = [[OFAutoreleasePool alloc] init]; + OFAutoreleasePool *pool; OFArray *array = nil; OFString *str; const char *delim = [delimiter cString]; size_t delim_len = [delimiter length]; size_t i, last; array = [OFMutableArray array]; + pool = [[OFAutoreleasePool alloc] init]; if (delim_len > length) { str = [[self copy] autorelease]; [array addObject: str]; - - [array retain]; [pool release]; return array; } @@ -351,19 +350,17 @@ } @finally { free(tmp); } [array addObject: str]; - [array retain]; [pool releaseObjects]; i += delim_len - 1; last = i + 1; } [array addObject: [OFString stringWithCString: string + last]]; - [array retain]; [pool release]; return array; }