Author: rfm
Date: Thu May 21 18:56:27 2015
New Revision: 38516
URL: http://svn.gna.org/viewcvs/gnustep?rev=38516&view=rev
Log:
Avoid some expensive checks when handling a new element.
Modified:
libs/webservices/trunk/GWSElement.m
Modified: libs/webservices/trunk/GWSElement.m
URL:
http://svn.gna.org/viewcvs/gnustep/libs/webservices/trunk/GWSElement.m?rev=38516&r1=38515&r2=38516&view=diff
==============================================================================
--- libs/webservices/trunk/GWSElement.m (original)
+++ libs/webservices/trunk/GWSElement.m Thu May 21 18:56:27 2015
@@ -546,28 +546,21 @@
attributes: (NSDictionary*)attributes
{
NSString *prefix = @"";
-
- NSAssert([name length] > 0, NSInvalidArgumentException);
- NSAssert(0 == [name rangeOfString: @":"].length,
- NSInvalidArgumentException);
+ NSUInteger nl = [name length];
+
+ NSAssert(nl > 0, NSInvalidArgumentException);
if (nil != qualified)
{
- NSRange r = [qualified rangeOfString: @":"];
-
- if (0 == r.length)
- {
- NSAssert([qualified isEqualToString: name],
+ NSUInteger ql = [qualified length];
+
+ NSAssert(ql >= nl, NSInvalidArgumentException);
+ if (ql > nl)
+ {
+ NSAssert(ql > nl + 1
+ && [qualified characterAtIndex: ql - nl] == ':',
NSInvalidArgumentException);
- }
- else
- {
- NSString *n;
-
- prefix = [qualified substringToIndex: r.location];
- n = [qualified substringFromIndex: NSMaxRange(r)];
- NSAssert([n isEqualToString: name],
- NSInvalidArgumentException);
+ prefix = [qualified substringToIndex: ql - nl - 1];
}
}
_______________________________________________
Gnustep-cvs mailing list
[email protected]
https://mail.gna.org/listinfo/gnustep-cvs