Fake like and matches by using compare:options:

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@25239 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Fred Kiefer 2007-06-12 11:41:39 +00:00
parent eab08f939e
commit 890dc7c1e0
2 changed files with 10 additions and 12 deletions

View file

@ -1,3 +1,8 @@
2007-06-12 Fred Kiefer <FredKiefer@gmx.de>
* Source/NSPredicate.m: Fake like and matches by using
compare:options: and reverted change for string equality.
2007-06-11 Fred Kiefer <FredKiefer@gmx.de> 2007-06-11 Fred Kiefer <FredKiefer@gmx.de>
* Source/NSPredicate.m: Improved predicate parsing. Handle more * Source/NSPredicate.m: Improved predicate parsing. Handle more

View file

@ -716,22 +716,15 @@
case NSGreaterThanOrEqualToPredicateOperatorType: case NSGreaterThanOrEqualToPredicateOperatorType:
return ([leftResult compare: rightResult] != NSOrderedAscending); return ([leftResult compare: rightResult] != NSOrderedAscending);
case NSEqualToPredicateOperatorType: case NSEqualToPredicateOperatorType:
if ([rightResult isKindOfClass: [NSString class]]) return [leftResult isEqual: rightResult];
{
return [leftResult compare: rightResult options: compareOptions] == NSOrderedSame;
}
else
{
return [leftResult isEqual: rightResult];
}
case NSNotEqualToPredicateOperatorType: case NSNotEqualToPredicateOperatorType:
return ![leftResult isEqual: rightResult]; return ![leftResult isEqual: rightResult];
case NSMatchesPredicateOperatorType: case NSMatchesPredicateOperatorType:
// FIXME: Missing implementation of matches. // FIXME: Missing implementation of matches.
return NO; return [leftResult compare: rightResult options: compareOptions] == NSOrderedSame;
case NSLikePredicateOperatorType: case NSLikePredicateOperatorType:
// FIXME: Missing implementation of like. // FIXME: Missing implementation of like.
return NO; return [leftResult compare: rightResult options: compareOptions] == NSOrderedSame;
case NSBeginsWithPredicateOperatorType: case NSBeginsWithPredicateOperatorType:
{ {
NSRange range = NSMakeRange(0, [rightResult length]); NSRange range = NSMakeRange(0, [rightResult length]);