Parcourir la source

Fix build warnings from use of & to create a pointer to `buffer`.

Use withUnsafeBytes() instead, as recommended.
Kenneth Bongort il y a 6 ans
Parent
commit
4d89ac464d
1 fichiers modifiés avec 9 ajouts et 5 suppressions
  1. 9 5
      XCode/Sources/Socket+File.swift

+ 9 - 5
XCode/Sources/Socket+File.swift

@@ -20,11 +20,15 @@ import Foundation
             }
             var writeCounter = 0
             while writeCounter < readResult {
-                #if os(Linux)
-                    let writeResult = send(target, &buffer + writeCounter, readResult - writeCounter, Int32(MSG_NOSIGNAL))
-                #else
-                    let writeResult = write(target, &buffer + writeCounter, readResult - writeCounter)
-                #endif
+                let writeResult = buffer.withUnsafeBytes { (ptr) -> Int in
+                  let start = ptr.baseAddress! + writeCounter
+                  let len = readResult - writeCounter
+                  #if os(Linux)
+                  return send(target, start, len, Int32(MSG_NOSIGNAL))
+                  #else
+                  return write(target, start, len)
+                  #endif
+                }
                 guard writeResult > 0 else {
                     return Int32(writeResult)
                 }