Skip to content

Commit fd8cde6

Browse files
Update _variadicArgumentsToArray:args: method
Update method to have better pre-ARC memory management syntax (I think).
1 parent 908ba9d commit fd8cde6

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

Source/OCMock/OCMockObject.m

+7-7
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ + (id)mockForProtocols:(Protocol *)aProtocol, ...
5858
{
5959
va_list args;
6060
va_start(args, aProtocol);
61-
id mock = [[[OCProtocolMockObject alloc] initWithProtocols:[self _variadicArgumentsToArray:aProtocol args:args]] autorelease];
61+
id mock = [[[OCProtocolMockObject alloc] initWithProtocols:[self _variadicArgumentsToArray:aProtocol args:&args]] autorelease];
6262
va_end(args);
6363
return mock;
6464
}
@@ -83,7 +83,7 @@ + (id)niceMockForProtocols:(Protocol *)aProtocol, ...
8383
{
8484
va_list args;
8585
va_start(args, aProtocol);
86-
id mock = [self _makeNice:[[[OCProtocolMockObject alloc] initWithProtocols:[self _variadicArgumentsToArray:aProtocol args:args]] autorelease]];
86+
id mock = [self _makeNice:[[[OCProtocolMockObject alloc] initWithProtocols:[self _variadicArgumentsToArray:aProtocol args:&args]] autorelease]];
8787
va_end(args);
8888
return mock;
8989
}
@@ -451,25 +451,25 @@ - (NSString *)_stubDescriptions:(BOOL)onlyExpectations
451451
return outputString;
452452
}
453453

454-
+ (NSArray *)_variadicArgumentsToArray:(id)firstObject args:(va_list)args
454+
+ (NSArray *)_variadicArgumentsToArray:(id)firstObject args:(va_list *)args
455455
{
456456
NSMutableArray *variadicObjects = nil;
457457

458458
if(firstObject)
459459
{
460-
variadicObjects = [[NSMutableArray alloc] init];
460+
variadicObjects = [[[NSMutableArray alloc] init] autorelease];
461461
[variadicObjects addObject:firstObject];
462462

463-
if(args != nil)
463+
if(args)
464464
{
465465
id eachObject;
466-
while ((eachObject = va_arg(args, id)) && eachObject != nil) {
466+
while ((eachObject = va_arg(*args, typeof(firstObject)))) {
467467
[variadicObjects addObject:eachObject];
468468
}
469469
}
470470
}
471471

472-
return [variadicObjects copy];
472+
return variadicObjects;
473473
}
474474

475475
@end

0 commit comments

Comments
 (0)