a tiny bit more safety by assigning the torrent directly, instead of getting the index

This commit is contained in:
Mitchell Livingston 2013-03-04 04:12:54 +00:00
parent ac7b2ee6a7
commit 7f03e04538
1 changed files with 5 additions and 5 deletions

View File

@ -4740,19 +4740,19 @@ static void sleepCallback(void * controller, io_service_t y, natural_t messageTy
@autoreleasepool
{
//get the torrent
Torrent * torrent = nil;
__block Torrent * torrent = nil;
if (torrentStruct != NULL && (type != TR_RPC_TORRENT_ADDED && type != TR_RPC_SESSION_CHANGED && type != TR_RPC_SESSION_CLOSE))
{
const NSUInteger index = [fTorrents indexOfObjectWithOptions:NSEnumerationConcurrent passingTest: ^BOOL(Torrent * checkTorrent, NSUInteger idx, BOOL * stop) {
return torrentStruct == [checkTorrent torrentStruct];
[fTorrents enumerateObjectsWithOptions: NSEnumerationConcurrent usingBlock: ^(Torrent * checkTorrent, NSUInteger idx, BOOL *stop) {
if (torrentStruct == [checkTorrent torrentStruct])
torrent = checkTorrent;
}];
if (index == NSNotFound)
if (!torrent)
{
NSLog(@"No torrent found matching the given torrent struct from the RPC callback!");
return;
}
torrent = [fTorrents objectAtIndex: index];
}
dispatch_async(dispatch_get_main_queue(), ^{