Skip to content

Commit

Permalink
Merge pull request #300 from alanzeino/41
Browse files Browse the repository at this point in the history
Update Socket.swift with immutable let from return of sockaddr_in()
  • Loading branch information
damian-kolakowski authored May 12, 2018
2 parents fdc2cff + 9204a50 commit c43513b
Showing 1 changed file with 5 additions and 3 deletions.
8 changes: 5 additions & 3 deletions Sources/Swifter/Socket.swift
Original file line number Diff line number Diff line change
Expand Up @@ -51,27 +51,29 @@ public class Socket: Hashable, Equatable {

public func port() throws -> in_port_t {
var addr = sockaddr_in()
let addr_copy = addr
return try withUnsafePointer(to: &addr) { pointer in
var len = socklen_t(MemoryLayout<sockaddr_in>.size)
if getsockname(socketFileDescriptor, UnsafeMutablePointer(OpaquePointer(pointer)), &len) != 0 {
throw SocketError.getSockNameFailed(Process.lastErrno)
}
#if os(Linux)
return ntohs(addr.sin_port)
return ntohs(addr_copy.sin_port)
#else
return Int(OSHostByteOrder()) != OSLittleEndian ? addr.sin_port.littleEndian : addr.sin_port.bigEndian
return Int(OSHostByteOrder()) != OSLittleEndian ? addr_copy.sin_port.littleEndian : addr_copy.sin_port.bigEndian
#endif
}
}

public func isIPv4() throws -> Bool {
var addr = sockaddr_in()
let addr_copy = addr
return try withUnsafePointer(to: &addr) { pointer in
var len = socklen_t(MemoryLayout<sockaddr_in>.size)
if getsockname(socketFileDescriptor, UnsafeMutablePointer(OpaquePointer(pointer)), &len) != 0 {
throw SocketError.getSockNameFailed(Process.lastErrno)
}
return Int32(addr.sin_family) == AF_INET
return Int32(addr_copy.sin_family) == AF_INET
}
}

Expand Down

0 comments on commit c43513b

Please sign in to comment.