From d53b94babac8d233c40871f4ae22ec2d61c9b413 Mon Sep 17 00:00:00 2001 From: Richard Frith-MacDonald Date: Wed, 13 Apr 2016 12:45:03 +0000 Subject: [PATCH] If we are doing a numeric search, use the superclass method (with ICU numeric collation). git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39662 72102866-910b-0410-8b05-ffd578937521 --- Source/GSString.m | 34 ++++++++++++---------------------- 1 file changed, 12 insertions(+), 22 deletions(-) diff --git a/Source/GSString.m b/Source/GSString.m index 77c939af9..1f68221ea 100644 --- a/Source/GSString.m +++ b/Source/GSString.m @@ -3854,6 +3854,10 @@ transmute(GSStr self, NSString *aString) options: (NSUInteger)mask range: (NSRange)aRange { + if (mask & NSNumericSearch) + { + return [super compare: aString options: mask range: aRange]; + } GS_RANGE_CHECK(aRange, _count); if (aString == nil) [NSException raise: NSInvalidArgumentException @@ -4229,6 +4233,10 @@ agree, create a new GSCInlineString otherwise. options: (NSUInteger)mask range: (NSRange)aRange { + if (mask & NSNumericSearch) + { + return [super compare: aString options: mask range: aRange]; + } GS_RANGE_CHECK(aRange, _count); if (aString == nil) [NSException raise: NSInvalidArgumentException @@ -4439,28 +4447,6 @@ agree, create a new GSCInlineString otherwise. return rangeOfCharacter_u((GSStr)self, aSet, mask, aRange); } -/* -- (NSRange) rangeOfString: (NSString*)aString - options: (NSUInteger)mask - range: (NSRange)aRange -{ - GS_RANGE_CHECK(aRange, _count); - if (aString == nil) - [NSException raise: NSInvalidArgumentException - format: @"[%@ -%@] nil string argument", - NSStringFromClass([self class]), NSStringFromSelector(_cmd)]; - if (GSObjCIsInstance(aString) == NO) - [NSException raise: NSInvalidArgumentException - format: @"[%@ -%@] not a string argument", - NSStringFromClass([self class]), NSStringFromSelector(_cmd)]; - if ((mask & NSRegularExpressionSearch) == NSRegularExpressionSearch) - { - return [super rangeOfString: aString options: mask range: aRange]; - } - return rangeOfString_u((GSStr)self, aString, mask, aRange); -} -*/ - - (NSStringEncoding) smallestEncoding { return NSUnicodeStringEncoding; @@ -4702,6 +4688,10 @@ agree, create a new GSUInlineString otherwise. options: (NSUInteger)mask range: (NSRange)aRange { + if (mask & NSNumericSearch) + { + return [super compare: aString options: mask range: aRange]; + } GS_RANGE_CHECK(aRange, _count); if (aString == nil) [NSException raise: NSInvalidArgumentException