diff --git a/core/os/os2/file_linux.odin b/core/os/os2/file_linux.odin index 3843c1105..8f298be88 100644 --- a/core/os/os2/file_linux.odin +++ b/core/os/os2/file_linux.odin @@ -121,6 +121,9 @@ _read :: proc(f: ^File, p: []byte) -> (i64, Error) { if n < 0 { return -1, _get_platform_error(n) } + if n == 0 { + return 0, .EOF + } return i64(n), nil } @@ -135,6 +138,9 @@ _read_at :: proc(f: ^File, p: []byte, offset: i64) -> (n: i64, err: Error) { if m < 0 { return -1, _get_platform_error(m) } + if m == 0 { + return 0, .EOF + } n += i64(m) b = b[m:] offset += i64(m)