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]);