Author: rfm
Date: Fri May 22 17:34:25 2015
New Revision: 38524
URL: http://svn.gna.org/viewcvs/gnustep?rev=38524&view=rev
Log:
optimisation and compatiblity tweaks
Modified:
libs/base/trunk/ChangeLog
libs/base/trunk/Source/NSKeyValueCoding.m
libs/base/trunk/Source/NSString.m
Modified: libs/base/trunk/ChangeLog
URL:
http://svn.gna.org/viewcvs/gnustep/libs/base/trunk/ChangeLog?rev=38524&r1=38523&r2=38524&view=diff
==============================================================================
--- libs/base/trunk/ChangeLog (original)
+++ libs/base/trunk/ChangeLog Fri May 22 17:34:25 2015
@@ -1,3 +1,10 @@
+2015-05-22 Richard Frith-Macdonald <[email protected]>
+
+ * Source/NSString.m:
+ * Source/GSString.m:
+ Some optimisation. Fix -hasPrefix: and -hasSuffix: to use literal
+ search as on OSX.
+
2015-05-15 Richard Frith-Macdonald <[email protected]>
* Documentation/install.texi:
Modified: libs/base/trunk/Source/NSKeyValueCoding.m
URL:
http://svn.gna.org/viewcvs/gnustep/libs/base/trunk/Source/NSKeyValueCoding.m?rev=38524&r1=38523&r2=38524&view=diff
==============================================================================
--- libs/base/trunk/Source/NSKeyValueCoding.m (original)
+++ libs/base/trunk/Source/NSKeyValueCoding.m Fri May 22 17:34:25 2015
@@ -287,7 +287,7 @@
- (NSMutableSet*) mutableSetValueForKeyPath: (NSString*)aKey
{
- NSRange r = [aKey rangeOfString: @"."];
+ NSRange r = [aKey rangeOfString: @"." options: NSLiteralSearch];
if (r.length == 0)
{
@@ -309,7 +309,7 @@
- (NSMutableArray*) mutableArrayValueForKeyPath: (NSString*)aKey
{
- NSRange r = [aKey rangeOfString: @"."];
+ NSRange r = [aKey rangeOfString: @"." options: NSLiteralSearch];
if (r.length == 0)
{
@@ -373,7 +373,7 @@
- (void) setValue: (id)anObject forKeyPath: (NSString*)aKey
{
- NSRange r = [aKey rangeOfString: @"."];
+ NSRange r = [aKey rangeOfString: @"." options: NSLiteralSearch];
#ifdef WANT_DEPRECATED_KVC_COMPAT
IMP o = [self methodForSelector: @selector(takeValue:forKeyPath:)];
@@ -499,7 +499,7 @@
forKeyPath: (NSString*)aKey
error: (NSError**)anError
{
- NSRange r = [aKey rangeOfString: @"."];
+ NSRange r = [aKey rangeOfString: @"." options: NSLiteralSearch];
if (r.length == 0)
{
@@ -532,7 +532,7 @@
- (id) valueForKeyPath: (NSString*)aKey
{
- NSRange r = [aKey rangeOfString: @"."];
+ NSRange r = [aKey rangeOfString: @"." options: NSLiteralSearch];
if (r.length == 0)
{
@@ -858,7 +858,7 @@
- (void) takeValue: (id)anObject forKeyPath: (NSString*)aKey
{
- NSRange r = [aKey rangeOfString: @"."];
+ NSRange r = [aKey rangeOfString: @"." options: NSLiteralSearch];
GSOnceMLog(@"This method is deprecated, use -setValue:forKeyPath:");
if (r.length == 0)
Modified: libs/base/trunk/Source/NSString.m
URL:
http://svn.gna.org/viewcvs/gnustep/libs/base/trunk/Source/NSString.m?rev=38524&r1=38523&r2=38524&view=diff
==============================================================================
--- libs/base/trunk/Source/NSString.m (original)
+++ libs/base/trunk/Source/NSString.m Fri May 22 17:34:25 2015
@@ -2532,7 +2532,7 @@
}
- (NSUInteger) indexOfString: (NSString*)substring
- fromIndex: (NSUInteger)index
+ fromIndex: (NSUInteger)index
{
NSRange range = {index, [self length] - index};
@@ -2638,9 +2638,10 @@
- (BOOL) hasPrefix: (NSString*)aString
{
NSRange range = NSMakeRange(0, [self length]);
+ NSUInteger mask = NSLiteralSearch | NSAnchoredSearch;
range = [self rangeOfString: aString
- options: NSAnchoredSearch
+ options: mask
range: range
locale: nil];
return (range.length > 0) ? YES : NO;
@@ -2652,9 +2653,10 @@
- (BOOL) hasSuffix: (NSString*)aString
{
NSRange range = NSMakeRange(0, [self length]);
+ NSUInteger mask = NSLiteralSearch | NSAnchoredSearch | NSBackwardsSearch;
range = [self rangeOfString: aString
- options: NSAnchoredSearch | NSBackwardsSearch
+ options: mask
range: range
locale: nil];
return (range.length > 0) ? YES : NO;
_______________________________________________
Gnustep-cvs mailing list
[email protected]
https://mail.gna.org/listinfo/gnustep-cvs