From 76a69ab66f50a75db5f20c57590d968fa70b32ff Mon Sep 17 00:00:00 2001 From: fredkiefer Date: Tue, 12 Jun 2007 11:41:39 +0000 Subject: [PATCH] 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 --- ChangeLog | 5 +++++ Source/NSPredicate.m | 17 +++++------------ 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/ChangeLog b/ChangeLog index 73bf507d4..f9356c77d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2007-06-12 Fred Kiefer + + * Source/NSPredicate.m: Fake like and matches by using + compare:options: and reverted change for string equality. + 2007-06-11 Fred Kiefer * Source/NSPredicate.m: Improved predicate parsing. Handle more diff --git a/Source/NSPredicate.m b/Source/NSPredicate.m index fdfade6e2..045e4ea0e 100644 --- a/Source/NSPredicate.m +++ b/Source/NSPredicate.m @@ -716,22 +716,15 @@ case NSGreaterThanOrEqualToPredicateOperatorType: return ([leftResult compare: rightResult] != NSOrderedAscending); case NSEqualToPredicateOperatorType: - if ([rightResult isKindOfClass: [NSString class]]) - { - return [leftResult compare: rightResult options: compareOptions] == NSOrderedSame; - } - else - { - return [leftResult isEqual: rightResult]; - } + return [leftResult isEqual: rightResult]; case NSNotEqualToPredicateOperatorType: return ![leftResult isEqual: rightResult]; case NSMatchesPredicateOperatorType: - // FIXME: Missing implementation of matches. - return NO; + // FIXME: Missing implementation of matches. + return [leftResult compare: rightResult options: compareOptions] == NSOrderedSame; case NSLikePredicateOperatorType: - // FIXME: Missing implementation of like. - return NO; + // FIXME: Missing implementation of like. + return [leftResult compare: rightResult options: compareOptions] == NSOrderedSame; case NSBeginsWithPredicateOperatorType: { NSRange range = NSMakeRange(0, [rightResult length]);