File tree Expand file tree Collapse file tree 2 files changed +16
-4
lines changed Expand file tree Collapse file tree 2 files changed +16
-4
lines changed Original file line number Diff line number Diff line change @@ -118,7 +118,7 @@ open class Host: NSObject {
118
118
return addresses. firstIndex { aHost. addresses. contains ( $0) } != nil
119
119
}
120
120
121
- internal func _resolveCurrent( ) {
121
+ internal func _resolveCurrent( withInfo info : String ) {
122
122
#if os(Windows)
123
123
var szAddress : [ WCHAR ] =
124
124
Array < WCHAR > ( repeating: 0 , count: Int ( NI_MAXHOST) )
@@ -165,6 +165,7 @@ open class Host: NSObject {
165
165
166
166
pAdapter = pAdapter!. pointee. Next
167
167
}
168
+ _names = [ info]
168
169
_resolved = true
169
170
#else
170
171
var ifaddr : UnsafeMutablePointer < ifaddrs > ? = nil
@@ -189,6 +190,7 @@ open class Host: NSObject {
189
190
}
190
191
ifa = ifaValue. ifa_next
191
192
}
193
+ _names = [ info]
192
194
_resolved = true
193
195
#endif
194
196
}
@@ -197,7 +199,7 @@ open class Host: NSObject {
197
199
guard _resolved == false else { return }
198
200
#if os(Windows)
199
201
if let info = _info {
200
- if _type == . current { return _resolveCurrent ( ) }
202
+ if _type == . current { return _resolveCurrent ( withInfo : info ) }
201
203
202
204
var hints : ADDRINFOW = ADDRINFOW ( )
203
205
memset ( & hints, 0 , MemoryLayout< ADDRINFOW> . size)
@@ -266,7 +268,7 @@ open class Host: NSObject {
266
268
case . address:
267
269
flags = AI_PASSIVE | AI_CANONNAME | AI_NUMERICHOST
268
270
case . current:
269
- _resolveCurrent ( )
271
+ _resolveCurrent ( withInfo : info )
270
272
return
271
273
}
272
274
var hints = addrinfo ( )
Original file line number Diff line number Diff line change @@ -12,7 +12,8 @@ class TestHost: XCTestCase {
12
12
static var allTests : [ ( String , ( TestHost ) -> ( ) throws -> Void ) ] {
13
13
return [
14
14
( " test_addressesDoNotGrow " , test_addressesDoNotGrow) ,
15
- ( " test_isEqual " , test_isEqual)
15
+ ( " test_isEqual " , test_isEqual) ,
16
+ ( " test_localNamesNonEmpty " , test_localNamesNonEmpty) ,
16
17
]
17
18
}
18
19
@@ -49,5 +50,14 @@ class TestHost: XCTestCase {
49
50
let google = Host ( name: " google.com " )
50
51
XCTAssertFalse ( swift0. isEqual ( to: google) )
51
52
}
53
+
54
+ // SR-14197
55
+ func test_localNamesNonEmpty( ) {
56
+ let local = Host . current ( )
57
+ XCTAssertTrue ( local. names. count > 0 )
58
+
59
+ let swift = Host ( name: " localhost " )
60
+ XCTAssertTrue ( swift. names. count > 0 )
61
+ }
52
62
}
53
63
You can’t perform that action at this time.
0 commit comments