瀏覽代碼

Fixed pointer operations in Socket (Xcode10 compilation) (#318)

* Fixed pointer operations in Socket.

* Fixed pointer operations in Socket for Linux.
Semyen Ignatov 8 年之前
父節點
當前提交
b366f5ed08
共有 1 個文件被更改,包括 4 次插入3 次删除
  1. 4 3
      Sources/Socket.swift

+ 4 - 3
Sources/Socket.swift

@@ -53,10 +53,11 @@ open class Socket: Hashable, Equatable {
             if getsockname(socketFileDescriptor, UnsafeMutablePointer(OpaquePointer(pointer)), &len) != 0 {
                 throw SocketError.getSockNameFailed(Errno.description())
             }
+            let sin_port = pointer.pointee.sin_port
             #if os(Linux)
-                return ntohs(addr.sin_port)
+                return ntohs(sin_port)
             #else
-                return Int(OSHostByteOrder()) != OSLittleEndian ? addr.sin_port.littleEndian : addr.sin_port.bigEndian
+                return Int(OSHostByteOrder()) != OSLittleEndian ? sin_port.littleEndian : sin_port.bigEndian
             #endif
         }
     }
@@ -68,7 +69,7 @@ open class Socket: Hashable, Equatable {
             if getsockname(socketFileDescriptor, UnsafeMutablePointer(OpaquePointer(pointer)), &len) != 0 {
                 throw SocketError.getSockNameFailed(Errno.description())
             }
-            return Int32(addr.sin_family) == AF_INET
+            return Int32(pointer.pointee.sin_family) == AF_INET
         }
     }