From 902d313c6a1b1db73ecf3f50e82927267a96b89b Mon Sep 17 00:00:00 2001 From: gingerBill Date: Sun, 24 Nov 2019 10:08:08 +0000 Subject: [PATCH] Fix issue with os.write on *nix with writing nothing --- core/os/os_darwin.odin | 2 +- core/os/os_linux.odin | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) 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());