Skip to content

Commit 660193d

Browse files
mbvreddyparkera
authored andcommitted
Fix cross platform write function in NSData.swift (#333)
1 parent 5dcaadb commit 660193d

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

Foundation/NSData.swift

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -411,7 +411,11 @@ extension NSData {
411411
while bytesRemaining > 0 {
412412
var bytesWritten : Int
413413
repeat {
414-
bytesWritten = Glibc.write(fd, buf.advanced(by: length - bytesRemaining), bytesRemaining)
414+
#if os(OSX) || os(iOS)
415+
bytesWritten = Darwin.write(fd, buf.advanced(by: length - bytesRemaining), bytesRemaining)
416+
#elseif os(Linux)
417+
bytesWritten = Glibc.write(fd, buf.advanced(by: length - bytesRemaining), bytesRemaining)
418+
#endif
415419
} while (bytesWritten < 0 && errno == EINTR)
416420
if bytesWritten <= 0 {
417421
throw _NSErrorWithErrno(errno, reading: false, path: path)

0 commit comments

Comments
 (0)