|
|
@@ -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)
|
|
|
}
|