diff options
-rw-r--r-- | src/io/posixstream.nim | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/io/posixstream.nim b/src/io/posixstream.nim index e24facde..970a50e6 100644 --- a/src/io/posixstream.nim +++ b/src/io/posixstream.nim @@ -38,8 +38,9 @@ proc psReadData(s: Stream, buffer: pointer, len: int): int = assert len != 0 let s = cast[PosixStream](s) let wasend = s.isend + let buffer = cast[ptr UncheckedArray[uint8]](buffer) while result < len: - let n = read(s.fd, cast[pointer](cast[int](buffer) + result), len) + let n = read(s.fd, addr buffer[result], len - result) if n < 0: if result == 0: result = n |