about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--src/io/posixstream.nim3
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