diff --git a/AlienBlue.xcodeproj/project.pbxproj b/AlienBlue.xcodeproj/project.pbxproj index 155cca2..dbeb72f 100755 --- a/AlienBlue.xcodeproj/project.pbxproj +++ b/AlienBlue.xcodeproj/project.pbxproj @@ -500,9 +500,15 @@ /* Begin PBXProject section */ 29B97313FDCFA39411CA2CEA /* Project object */ = { isa = PBXProject; + attributes = { + }; buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "AlienBlue" */; compatibilityVersion = "Xcode 3.1"; + developmentRegion = English; hasScannedForEncodings = 1; + knownRegions = ( + en, + ); mainGroup = 29B97314FDCFA39411CA2CEA /* NeuReddit */; projectDirPath = ""; projectRoot = ""; @@ -638,6 +644,7 @@ GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = AlienBlue_Prefix.pch; INFOPLIST_FILE = "AlienBlue-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; PRODUCT_NAME = AlienBlue; }; name = Debug; @@ -654,6 +661,7 @@ GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = AlienBlue_Prefix.pch; INFOPLIST_FILE = "AlienBlue-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; PRODUCT_NAME = AlienBlue; }; name = Release; @@ -686,6 +694,7 @@ GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = AlienBlue_Prefix.pch; INFOPLIST_FILE = "AlienBlue-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; PRODUCT_NAME = AlienBlue; }; name = Distribution; diff --git a/Classes/CommentsTableViewController.m b/Classes/CommentsTableViewController.m index 585555d..2861560 100755 --- a/Classes/CommentsTableViewController.m +++ b/Classes/CommentsTableViewController.m @@ -90,11 +90,22 @@ - (NSMutableArray *) parseBodyForUndescribedLinks:(NSMutableDictionary *) commen int link_counter = 0; BOOL linksAvailable = TRUE; // NSLog(@"Body Text: %@",body); - while (linksAvailable) { + while (linksAvailable) { + + //no crashes here, move it along + if ([body rangeOfString:@"http://" options:NSCaseInsensitiveSearch range:NSMakeRange (pos, bodyLength - pos)].location == NSNotFound) + break; + start_link_pos = [body rangeOfString:@"http://" options:NSCaseInsensitiveSearch range:NSMakeRange (pos, bodyLength - pos)].location; - end_link_pos = [body rangeOfString:@" " options:NSCaseInsensitiveSearch range:NSMakeRange (start_link_pos, bodyLength - start_link_pos)].location; + + if ([body rangeOfString:@" " options:NSCaseInsensitiveSearch range:NSMakeRange (start_link_pos, bodyLength - start_link_pos)].location != NSNotFound) + end_link_pos = [body rangeOfString:@" " options:NSCaseInsensitiveSearch range:NSMakeRange (start_link_pos, bodyLength - start_link_pos)].location; + // also try newline character if space is not found - int new_line_pos = [body rangeOfString:@"\n" options:NSCaseInsensitiveSearch range:NSMakeRange (start_link_pos, bodyLength - start_link_pos)].location; + int new_line_pos; + if ([body rangeOfString:@"\n" options:NSCaseInsensitiveSearch range:NSMakeRange (start_link_pos, bodyLength - start_link_pos)].location != NSNotFound) + new_line_pos = [body rangeOfString:@"\n" options:NSCaseInsensitiveSearch range:NSMakeRange (start_link_pos, bodyLength - start_link_pos)].location; + // use the one that is closest to the http if (new_line_pos != NSNotFound) { @@ -153,10 +164,16 @@ - (NSMutableArray *) parseBodyForDescribedLinks:(NSMutableDictionary *) comment BOOL linksAvailable = TRUE; while (linksAvailable) { - lsqb = [body rangeOfString:@"[" options:NSCaseInsensitiveSearch range:NSMakeRange (pos, bodyLength - pos)].location + 1; - rsqb = [body rangeOfString:@"](" options:NSCaseInsensitiveSearch range:NSMakeRange (lsqb, bodyLength - lsqb)].location; + + //do a check for ending brackets first + if ([body rangeOfString:@"])"].location == NSNotFound) + break; + + lsqb = [body rangeOfString:@"[" options:NSCaseInsensitiveSearch range:NSMakeRange (pos, bodyLength - pos)].location + 1; //index of left square bracket + rsqb = [body rangeOfString:@"](" options:NSCaseInsensitiveSearch range:NSMakeRange (lsqb, bodyLength - lsqb)].location; ////index of right square bracket lrb = rsqb + 2; rrb = [body rangeOfString:@")" options:NSCaseInsensitiveSearch range:NSMakeRange (lrb, bodyLength - lrb)].location; + if (lsqb != NSNotFound && rsqb != NSNotFound && rrb != NSNotFound) { link_counter++;