fix for range issue pointed out by Mathias Bauer <mathias_bauer@gmx.net>

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@37685 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Richard Frith-MacDonald 2014-02-13 15:45:06 +00:00
parent 2bd91204be
commit 95b7ba8812

View file

@ -961,6 +961,7 @@ GSICUStringMatchesRegex(NSString *string, NSString *regex, NSStringCompareOption
case NSBeginsWithPredicateOperatorType:
{
NSRange range = NSMakeRange(0, [rightResult length]);
return ([leftResult compare: rightResult
options: compareOptions
range: range] == NSOrderedSame ? YES : NO);
@ -968,9 +969,14 @@ GSICUStringMatchesRegex(NSString *string, NSString *regex, NSStringCompareOption
case NSEndsWithPredicateOperatorType:
{
NSRange range;
NSUInteger ll = [leftResult length];
NSUInteger rl = [rightResult length];
range = NSMakeRange([leftResult length] - [rightResult length],
[rightResult length]);
if (ll < rl)
{
return NO;
}
range = NSMakeRange(ll - rl, rl);
return ([leftResult compare: rightResult
options: compareOptions
range: range] == NSOrderedSame ? YES : NO);