From f1b31442090438f7774ef5d9f7874f9efa9b3066 Mon Sep 17 00:00:00 2001 From: Richard Frith-Macdonald Date: Mon, 31 Jan 2022 12:18:24 +0000 Subject: [PATCH] Rewrite last change to be a little more efficient --- Source/NSPredicate.m | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Source/NSPredicate.m b/Source/NSPredicate.m index f7a293f92..290cbe6fe 100644 --- a/Source/NSPredicate.m +++ b/Source/NSPredicate.m @@ -1341,18 +1341,18 @@ GSICUStringMatchesRegex(NSString *string, NSString *regex, NSStringCompareOption { if ([_obj isKindOfClass: [NSArray class]]) { - NSMutableArray *tmp = [(NSArray*)_obj mutableCopy]; - NSUInteger count = [tmp count]; - NSUInteger index; + NSUInteger count = [(NSArray*)_obj count]; + NSMutableArray *tmp = [NSMutableArray arrayWithCapacity: count]; + NSUInteger index = 0; - for (index = 0; index < count; index++) + while (index < count) { - NSExpression *e = [tmp objectAtIndex: index]; + NSExpression *e = [(NSArray*)_obj objectAtIndex: index++]; id o = [e expressionValueWithObject: e context: context]; - [tmp replaceObjectAtIndex: index withObject: o]; + [tmp addObject: o]; } - return AUTORELEASE(tmp); + return tmp; } else {