* Source/NSURL.m: Fix compiler warnigns.

* Headers/Foundation/NSLocale.h,
* Source/NSLocale.m: Add a few convenience methods from MacOS 10.12.
This commit is contained in:
fredkiefer 2020-03-12 14:58:46 +01:00
parent 4a7325b00e
commit 95abcbd694
4 changed files with 68 additions and 14 deletions

View file

@ -868,6 +868,41 @@ static NSRecursiveLock *classLock = nil;
return result;
}
- (NSString *) languageCode
{
return [self objectForKey: NSLocaleLanguageCode];
}
- (NSString *) countryCode
{
return [self objectForKey: NSLocaleLanguageCode];
}
- (NSString *) scriptCode
{
return [self objectForKey: NSLocaleScriptCode];
}
- (NSString *) variantCode
{
return [self objectForKey: NSLocaleVariantCode];
}
- (NSCharacterSet *) exemplarCharacterSet
{
return [self objectForKey: NSLocaleExemplarCharacterSet];
}
- (NSString *) collationIdentifier
{
return [self objectForKey: NSLocaleCollationIdentifier];
}
- (NSString *) collatorIdentifier
{
return [self objectForKey: NSLocaleCollatorIdentifier];
}
- (NSString *) description
{
return _localeId;

View file

@ -667,7 +667,7 @@ static NSUInteger urlAlign;
isDirectory: isDir]);
}
+ (NSURL*) fileURLWithPathComponents: (NSArray*)components
+ (id) fileURLWithPathComponents: (NSArray*)components
{
return [self fileURLWithPath: [NSString pathWithComponents: components]];
}
@ -2360,19 +2360,21 @@ static NSUInteger urlAlign;
[[url user] stringByAddingPercentEncodingWithAllowedCharacters:
[NSCharacterSet URLUserAllowedCharacterSet]]];
// Find ranges
NSString *urlString = [url absoluteString];
{
// Find ranges
NSString *urlString = [url absoluteString];
#define URL_COMPONENT_RANGE(part) \
(part ? [urlString rangeOfString:part] : NSMakeRange(NSNotFound, 0))
internal->_rangeOfFragment = URL_COMPONENT_RANGE(internal->_fragment);
internal->_rangeOfHost = URL_COMPONENT_RANGE(internal->_host);
internal->_rangeOfPassword = URL_COMPONENT_RANGE(internal->_password);
internal->_rangeOfPath = URL_COMPONENT_RANGE(internal->_path);
internal->_rangeOfPort = URL_COMPONENT_RANGE([internal->_port stringValue]);
internal->_rangeOfQuery = URL_COMPONENT_RANGE(internal->_query);
internal->_rangeOfScheme = URL_COMPONENT_RANGE(internal->_scheme);
internal->_rangeOfUser = URL_COMPONENT_RANGE(internal->_user);
(part ? [urlString rangeOfString:part] : NSMakeRange(NSNotFound, 0))
internal->_rangeOfFragment = URL_COMPONENT_RANGE(internal->_fragment);
internal->_rangeOfHost = URL_COMPONENT_RANGE(internal->_host);
internal->_rangeOfPassword = URL_COMPONENT_RANGE(internal->_password);
internal->_rangeOfPath = URL_COMPONENT_RANGE(internal->_path);
internal->_rangeOfPort = URL_COMPONENT_RANGE([internal->_port stringValue]);
internal->_rangeOfQuery = URL_COMPONENT_RANGE(internal->_query);
internal->_rangeOfScheme = URL_COMPONENT_RANGE(internal->_scheme);
internal->_rangeOfUser = URL_COMPONENT_RANGE(internal->_user);
#undef URL_COMPONENT_RANGE
}
}
- (NSURL *)URLRelativeToURL: (NSURL *)baseURL