846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
|
if (URL->_URLEncodedFragment != _URLEncodedFragment &&
![URL->_URLEncodedFragment isEqual: _URLEncodedFragment])
return false;
return true;
}
- (uint32_t)hash
{
uint32_t hash;
OF_HASH_INIT(hash);
OF_HASH_ADD_HASH(hash, _URLEncodedScheme.hash);
OF_HASH_ADD_HASH(hash, _URLEncodedHost.hash);
|
|
|
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
|
if (URL->_URLEncodedFragment != _URLEncodedFragment &&
![URL->_URLEncodedFragment isEqual: _URLEncodedFragment])
return false;
return true;
}
- (unsigned long)hash
{
uint32_t hash;
OF_HASH_INIT(hash);
OF_HASH_ADD_HASH(hash, _URLEncodedScheme.hash);
OF_HASH_ADD_HASH(hash, _URLEncodedHost.hash);
|
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
|
if ([path isEqual: @"/"]) {
objc_autoreleasePoolPop(pool);
return @"/";
}
if ([path hasSuffix: @"/"])
path = [path substringWithRange: of_range(0, path.length - 1)];
UTF8String = lastComponent = path.UTF8String;
length = path.UTF8StringLength;
for (size_t i = 1; i <= length; i++) {
if (UTF8String[length - i] == '/') {
lastComponent = UTF8String + (length - i) + 1;
|
|
|
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
|
if ([path isEqual: @"/"]) {
objc_autoreleasePoolPop(pool);
return @"/";
}
if ([path hasSuffix: @"/"])
path = [path substringToIndex: path.length - 1];
UTF8String = lastComponent = path.UTF8String;
length = path.UTF8StringLength;
for (size_t i = 1; i <= length; i++) {
if (UTF8String[length - i] == '/') {
lastComponent = UTF8String + (length - i) + 1;
|