This PR handles zero-sized reads on handles correctly by returning an empty array before the syscall is even attempted. Closes: #12138
15 lines
342 B
Text
15 lines
342 B
Text
module
|
|
|
|
/-!
|
|
This test asserts that upon reading 0 bytes from a handle we return an empty array instead of
|
|
handling return codes from std::fread in a wrong fashion.
|
|
-/
|
|
|
|
def main : IO Unit := do
|
|
let stream ← IO.getStdin
|
|
let values ← stream.read 0
|
|
IO.println s!"values: {values.size}"
|
|
|
|
/-- info: values: 0 -/
|
|
#guard_msgs in
|
|
#eval main
|