diff --git a/core/os/os_darwin.odin b/core/os/os_darwin.odin index b7a92db75..c252cf05c 100644 --- a/core/os/os_darwin.odin +++ b/core/os/os_darwin.odin @@ -170,7 +170,7 @@ write :: proc(fd: Handle, data: []u8) -> (int, Errno) { assert(fd != -1); if len(data) == 0 { - return 0, 1; + return 0, 0; } bytes_written := _unix_write(fd, &data[0], len(data)); if(bytes_written == -1) { diff --git a/core/os/os_linux.odin b/core/os/os_linux.odin index 13eab5def..dc3cdde93 100644 --- a/core/os/os_linux.odin +++ b/core/os/os_linux.odin @@ -238,6 +238,9 @@ read :: proc(fd: Handle, data: []byte) -> (int, Errno) { } write :: proc(fd: Handle, data: []byte) -> (int, Errno) { + if len(data) == 0 { + return 0, ERROR_NONE; + } bytes_written := _unix_write(fd, &data[0], len(data)); if bytes_written == -1 { return -1, Errno(get_last_error());