diff --git a/SoObjects/SOGo/NSArray+Utilities.m b/SoObjects/SOGo/NSArray+Utilities.m index 3d56cf3ec..913ecdb17 100644 --- a/SoObjects/SOGo/NSArray+Utilities.m +++ b/SoObjects/SOGo/NSArray+Utilities.m @@ -250,7 +250,7 @@ { currentRange = [currentRangePtr pointerValue]; if (NSLocationInRange (testRange.location, *currentRange) - || NSLocationInRange (NSMaxRange (testRange), *currentRange)) + || NSLocationInRange (currentRange->location, testRange)) response = YES; } diff --git a/SoObjects/SOGo/NSString+Utilities.m b/SoObjects/SOGo/NSString+Utilities.m index d9a2027d4..d3657e201 100644 --- a/SoObjects/SOGo/NSString+Utilities.m +++ b/SoObjects/SOGo/NSString+Utilities.m @@ -226,17 +226,13 @@ static NSMutableCharacterSet *urlStartChars = nil; matchRange.location = startLocation + 1; currentUrlRange = [selfCopy _rangeOfURLInRange: matchRange]; - if ([ranges hasRangeIntersection: currentUrlRange]) - rest.location = NSMaxRange (currentUrlRange); - else - { - if (currentUrlRange.length > matchLength) - [newRanges addNonNSObject: ¤tUrlRange - withSize: sizeof (NSRange) - copy: YES]; - rest.location = NSMaxRange (currentUrlRange); - } - + if (![ranges hasRangeIntersection: currentUrlRange]) + if (currentUrlRange.length > matchLength) + [newRanges addNonNSObject: ¤tUrlRange + withSize: sizeof (NSRange) + copy: YES]; + + rest.location = NSMaxRange (currentUrlRange); length = [selfCopy length]; rest.length = length - rest.location; matchRange = [selfCopy rangeOfString: match @@ -258,7 +254,7 @@ static NSMutableCharacterSet *urlStartChars = nil; offset += ([newUrlText length] - [urlText length]); // Add range for further substitutions - currentUrlRange = NSMakeRange (currentUrlRange.location, [newUrlText length]); + currentUrlRange = NSMakeRange (rangePtr->location, [newUrlText length]); [ranges addNonNSObject: ¤tUrlRange withSize: sizeof (NSRange) copy: YES];