Преглед изворни кода

Merge pull request #23 from bygri/swift1.2

Build in Xcode 6.3/Swift 1.2
Damian Kołakowski пре 11 година
родитељ
комит
fa660cbd8e
3 измењених фајлова са 12 додато и 9 уклоњено
  1. 4 1
      Common/ActiveRecord/SwifterActiveRecord.swift
  2. 6 6
      Common/HttpParser.swift
  3. 2 2
      Common/Socket.swift

+ 4 - 1
Common/ActiveRecord/SwifterActiveRecord.swift

@@ -7,7 +7,10 @@
 import Foundation
 
 struct SwifterActiveRecordField {
-    let name: String? = "unknonw"
+    let name: String?
+    init(name: String?) {
+        self.name = name ?? "unknonw"
+    }
 }
 
 protocol WithInit {

+ 6 - 6
Common/HttpParser.swift

@@ -14,7 +14,7 @@ class HttpParser {
     
     func nextHttpRequest(socket: CInt, error:NSErrorPointer = nil) -> HttpRequest? {
         if let statusLine = nextLine(socket, error: error) {
-            let statusTokens = split(statusLine, { $0 == " " })
+            let statusTokens = split(statusLine, isSeparator: { $0 == " " })
             println(statusTokens)
             if ( statusTokens.count < 3 ) {
                 if error != nil { error.memory = err("Invalid status line: \(statusLine)") }
@@ -39,9 +39,9 @@ class HttpParser {
     }
     
     private func extractUrlParams(url: String) -> [(String, String)] {
-        if let query = split(url, { $0 == "?" }).last {
-            return map(split(query, { $0 == "&" }), { (param:String) -> (String, String) in
-                let tokens = split(param, { $0 == "=" })
+        if let query = split(url, isSeparator: { $0 == "?" }).last {
+            return map(split(query, isSeparator: { $0 == "&" }), { (param:String) -> (String, String) in
+                let tokens = split(param, isSeparator: { $0 == "=" })
                 if tokens.count >= 2 {
                     let key = tokens[0].stringByRemovingPercentEncoding
                     let value = tokens[1].stringByRemovingPercentEncoding
@@ -74,7 +74,7 @@ class HttpParser {
             if ( headerLine.isEmpty ) {
                 return headers
             }
-            let headerTokens = split(headerLine, { $0 == ":" })
+            let headerTokens = split(headerLine, isSeparator: { $0 == ":" })
             if ( headerTokens.count >= 2 ) {
                 // RFC 2616 - "Hypertext Transfer Protocol -- HTTP/1.1", paragraph 4.2, "Message Headers":
                 // "Each header field consists of a name followed by a colon (":") and the field value. Field names are case-insensitive."
@@ -91,7 +91,7 @@ class HttpParser {
 
     private func nextInt8(socket: CInt) -> Int {
         var buffer = [UInt8](count: 1, repeatedValue: 0);
-        let next = recv(socket, &buffer, UInt(buffer.count), 0)
+        let next = recv(socket as Int32, &buffer, Int(buffer.count), 0)
         if next <= 0 { return next }
         return Int(buffer[0])
     }

+ 2 - 2
Common/Socket.swift

@@ -35,7 +35,7 @@ struct Socket {
             sin_port: port_htons(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(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, Int(sizeof(sockaddr_in)))
         if ( bind(s, &sock_addr, socklen_t(sizeof(sockaddr_in))) == -1 ) {
             release(s)
             if error != nil { error.memory = lastErr("bind(...) failed.") }
@@ -67,7 +67,7 @@ struct Socket {
         var sent = 0
         let unsafePointer = UnsafePointer<UInt8>(data.bytes)
         while ( sent < data.length ) {
-            let s = write(socket, unsafePointer + sent, UInt(data.length - sent))
+            let s = write(socket, unsafePointer + sent, Int(data.length - sent))
             if ( s <= 0 ) {
                 if error != nil { error.memory = lastErr("write(...) failed.") }
                 return false