浏览代码

Removed hardcoded values.

Damian Kołakowski 12 年之前
父节点
当前提交
cce8956595

二进制
Swifter.xcodeproj/project.xcworkspace/xcuserdata/damiankolakowski.xcuserdatad/UserInterfaceState.xcuserstate


+ 23 - 0
Swifter.xcodeproj/xcuserdata/damiankolakowski.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Bucket
+   type = "1"
+   version = "2.0">
+   <Breakpoints>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "Swifter/Socket.swift"
+            timestampString = "424022966.473838"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "61"
+            endingLineNumber = "61"
+            landmarkName = "nosigpipe(_:)"
+            landmarkType = "5">
+         </BreakpointContent>
+      </BreakpointProxy>
+   </Breakpoints>
+</Bucket>

+ 6 - 9
Swifter/Socket.swift

@@ -17,21 +17,18 @@ struct Socket {
             return (-1, "socket() failed \(errno) - \(strerror(errno))")
             return (-1, "socket() failed \(errno) - \(strerror(errno))")
         }
         }
         var value: Int32 = 1;
         var value: Int32 = 1;
-        if ( setsockopt(s, SOL_SOCKET, SO_REUSEADDR, &value, 4) == -1 ) {
+        if ( setsockopt(s, SOL_SOCKET, SO_REUSEADDR, &value, socklen_t(sizeof(Int32))) == -1 ) {
             let error = "setsockopt(...) failed \(errno) - \(strerror(errno))"
             let error = "setsockopt(...) failed \(errno) - \(strerror(errno))"
             release(s)
             release(s)
             return (-1, error)
             return (-1, error)
         }
         }
         nosigpipe(s)
         nosigpipe(s)
-        var addr: sockaddr_in = sockaddr_in(sin_len: sizeof(sockaddr_in).bridgeToObjectiveC().unsignedCharValue,
-            sin_family: sa_family_t(AF_INET),
-            sin_port: port,
-            sin_addr: in_addr(s_addr: inet_addr("0.0.0.0")),
-            sin_zero: (0, 0, 0, 0, 0, 0, 0, 0))
+        var addr: sockaddr_in = sockaddr_in(sin_len: __uint8_t(sizeof(sockaddr_in)), sin_family: sa_family_t(AF_INET),
+            sin_port: port, sin_addr: in_addr(s_addr: inet_addr("0.0.0.0")), sin_zero: (0, 0, 0, 0, 0, 0, 0, 0))
         
         
         var sock_addr: sockaddr = sockaddr(sa_len: 0, sa_family: 0, sa_data: (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0))
         var sock_addr: sockaddr = sockaddr(sa_len: 0, sa_family: 0, sa_data: (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0))
         memcpy(&sock_addr, &addr, UInt(sizeof(sockaddr_in)))
         memcpy(&sock_addr, &addr, UInt(sizeof(sockaddr_in)))
-        if ( bind(s, &sock_addr, sizeof(sockaddr_in).bridgeToObjectiveC().unsignedIntValue) == -1 ) {
+        if ( bind(s, &sock_addr, socklen_t(sizeof(sockaddr_in))) == -1 ) {
             let error = "bind(...) failed \(errno) - \(strerror(errno))"
             let error = "bind(...) failed \(errno) - \(strerror(errno))"
             release(s)
             release(s)
             return (-1, error)
             return (-1, error)
@@ -61,11 +58,11 @@ struct Socket {
     static func nosigpipe(socket: CInt) {
     static func nosigpipe(socket: CInt) {
         // prevents crashes when blocking calls are pending and the app is paused ( via Home button )
         // prevents crashes when blocking calls are pending and the app is paused ( via Home button )
         var no_sig_pipe: Int32 = 1;
         var no_sig_pipe: Int32 = 1;
-        setsockopt(socket, SOL_SOCKET, SO_NOSIGPIPE, &no_sig_pipe, 4);
+        setsockopt(socket, SOL_SOCKET, SO_NOSIGPIPE, &no_sig_pipe, socklen_t(sizeof(Int32)));
     }
     }
     
     
     static func release(socket: CInt) {
     static func release(socket: CInt) {
-        shutdown(socket, 2)
+        shutdown(socket, SHUT_RDWR)
         close(socket)
         close(socket)
     }
     }
 }
 }