@@ -1,7 +1,7 @@ /* - * Copyright (c) 2008-2021 Jonathan Schleifer + * Copyright (c) 2008-2022 Jonathan Schleifer * * All rights reserved. * * This file is part of ObjFW. It may be distributed under the terms of the * Q Public License 1.0, which can be found in the file LICENSE.QPL included in @@ -237,22 +237,25 @@ - (id const *)objects { size_t count = self.count; id *buffer = OFAllocMemory(count, sizeof(id)); + id const *ret; @try { [self getObjects: buffer inRange: OFRangeMake(0, count)]; - return [[OFData dataWithItemsNoCopy: buffer - count: count - itemSize: sizeof(id) - freeWhenDone: true] items]; + ret = [[OFData dataWithItemsNoCopy: buffer + count: count + itemSize: sizeof(id) + freeWhenDone: true] items]; } @catch (id e) { OFFreeMemory(buffer); @throw e; } + + return ret; } - (id)copy { return [self retain]; @@ -810,18 +813,10 @@ [ret makeImmutable]; return ret; } -- (OFArray *)arrayByRemovingObject: (id)object -{ - OFMutableArray *ret = [[self mutableCopy] autorelease]; - [ret removeObject: object]; - [ret makeImmutable]; - return ret; -} - #ifdef OF_HAVE_BLOCKS - (OFArray *)mappedArrayUsingBlock: (OFArrayMapBlock)block { OFArray *ret; size_t count = self.count;