Merge branch 'master' into fix-nsurlresponse

This commit is contained in:
Fred Kiefer 2020-03-26 18:46:33 +01:00 committed by GitHub
commit 77468b0b9e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 73 additions and 14 deletions

View file

@ -3,10 +3,16 @@
* Source/NSURLResponse.m: Fix parsing of NSURLResponse content type
header.
2020-03-12 Fred Kiefer <fredkiefer@gmx.de>
* Source/NSURL.m: Fix compiler warnigns.
* Headers/Foundation/NSLocale.h,
* Source/NSLocale.m: Add a few convenience methods from MacOS 10.12.
2020-03-10 Frederik Seiffert <frederik@algoriddim.com>
* Source/NSURL.m: fix [NSURLComponents setURL:] throwing
exception for URLs that don't have all parts.
* Source/NSURL.m: fix [NSURLComponents setURL:] throwing
exception for URLs that don't have all parts.
2020-03-01 Fred Kiefer <fredkiefer@gmx.de>

View file

@ -37,6 +37,7 @@ extern "C" {
@class NSMutableDictionary;
@class NSString;
@class NSCharacterSet;
typedef NSUInteger NSLocaleLanguageDirection;
enum
@ -232,6 +233,16 @@ GS_EXPORT NSString * const NSISO8601Calendar;
*/
- (id) objectForKey: (id)key;
#if OS_API_VERSION(MAC_OS_X_VERSION_10_12, GS_API_LATEST)
- (NSString *) languageCode;
- (NSString *) countryCode;
- (NSString *) scriptCode;
- (NSString *) variantCode;
- (NSCharacterSet *) exemplarCharacterSet;
- (NSString *) collationIdentifier;
- (NSString *) collatorIdentifier;
#endif
@end
#if defined(__cplusplus)

View file

@ -283,6 +283,11 @@ DEFINE_BLOCK_TYPE(NSComparator, NSComparisonResult, id, id);
}
#endif
/**
* Declare NSExceptionName
*/
typedef NSString* NSExceptionName;
/**
* Declare Apple availability macros for compatibility purposes as no-ops.
*/

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