Skip to content

Commit 7947051

Browse files
committed
Fixed NSString/Swift.String Bridging in Locale
- Also added support for Preferred Languages in Linux
1 parent 5ecb86c commit 7947051

File tree

2 files changed

+8
-8
lines changed

2 files changed

+8
-8
lines changed

CoreFoundation/Locale.subproj/CFLocale.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1080,7 +1080,7 @@ _CFLocaleCalendarDirection _CFLocaleGetCalendarDirection(void) {
10801080
#endif
10811081
}
10821082

1083-
#if DEPLOYMENT_TARGET_MACOSX || DEPLOYMENT_TARGET_EMBEDDED || DEPLOYMENT_TARGET_WINDOWS
1083+
#if DEPLOYMENT_TARGET_MACOSX || DEPLOYMENT_TARGET_EMBEDDED || DEPLOYMENT_TARGET_WINDOWS || DEPLOYMENT_TARGET_LINUX
10841084
static CFArrayRef _CFLocaleCopyPreferredLanguagesFromPrefs(CFArrayRef languagesArray) {
10851085
CFMutableArrayRef newArray = CFArrayCreateMutable(kCFAllocatorSystemDefault, 0, &kCFTypeArrayCallBacks);
10861086
if (languagesArray && (CFArrayGetTypeID() == CFGetTypeID(languagesArray))) {
@@ -1100,7 +1100,7 @@ static CFArrayRef _CFLocaleCopyPreferredLanguagesFromPrefs(CFArrayRef languagesA
11001100
#endif
11011101

11021102
CFArrayRef CFLocaleCopyPreferredLanguages(void) {
1103-
#if DEPLOYMENT_TARGET_MACOSX || DEPLOYMENT_TARGET_EMBEDDED || DEPLOYMENT_TARGET_WINDOWS
1103+
#if DEPLOYMENT_TARGET_MACOSX || DEPLOYMENT_TARGET_EMBEDDED || DEPLOYMENT_TARGET_WINDOWS || DEPLOYMENT_TARGET_LINUX
11041104
CFArrayRef languagesArray = (CFArrayRef)CFPreferencesCopyAppValue(CFSTR("AppleLanguages"), kCFPreferencesCurrentApplication);
11051105
CFArrayRef result = _CFLocaleCopyPreferredLanguagesFromPrefs(languagesArray);
11061106
if (languagesArray) CFRelease(languagesArray);

Foundation/NSLocale.swift

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -109,39 +109,39 @@ extension NSLocale {
109109
open class var isoLanguageCodes: [String] {
110110
var identifiers = Array<String>()
111111
for obj in CFLocaleCopyISOLanguageCodes()._nsObject {
112-
identifiers.append((obj as! NSString)._swiftObject)
112+
identifiers.append(obj as! String)
113113
}
114114
return identifiers
115115
}
116116

117117
open class var isoCountryCodes: [String] {
118118
var identifiers = Array<String>()
119119
for obj in CFLocaleCopyISOCountryCodes()._nsObject {
120-
identifiers.append((obj as! NSString)._swiftObject)
120+
identifiers.append(obj as! String)
121121
}
122122
return identifiers
123123
}
124124

125125
open class var isoCurrencyCodes: [String] {
126126
var identifiers = Array<String>()
127127
for obj in CFLocaleCopyISOCurrencyCodes()._nsObject {
128-
identifiers.append((obj as! NSString)._swiftObject)
128+
identifiers.append(obj as! String)
129129
}
130130
return identifiers
131131
}
132132

133133
open class var commonISOCurrencyCodes: [String] {
134134
var identifiers = Array<String>()
135135
for obj in CFLocaleCopyCommonISOCurrencyCodes()._nsObject {
136-
identifiers.append((obj as! NSString)._swiftObject)
136+
identifiers.append(obj as! String)
137137
}
138138
return identifiers
139139
}
140140

141141
open class var preferredLanguages: [String] {
142142
var identifiers = Array<String>()
143143
for obj in CFLocaleCopyPreferredLanguages()._nsObject {
144-
identifiers.append((obj as! NSString)._swiftObject)
144+
identifiers.append(obj as! String)
145145
}
146146
return identifiers
147147
}
@@ -151,7 +151,7 @@ extension NSLocale {
151151
let values = CFLocaleCreateComponentsFromLocaleIdentifier(kCFAllocatorSystemDefault, string._cfObject)._nsObject
152152
values.enumerateKeysAndObjects(options: []) { (k, v, stop) in
153153
let key = (k as! NSString)._swiftObject
154-
let value = (v as! NSString)._swiftObject
154+
let value = v as! String
155155
comps[key] = value
156156
}
157157
return comps

0 commit comments

Comments
 (0)