summary refs log tree commit diff stats
path: root/lib/pure/streams.nim
diff options
context:
space:
mode:
Diffstat (limited to 'lib/pure/streams.nim')
-rw-r--r--lib/pure/streams.nim8
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/pure/streams.nim b/lib/pure/streams.nim
index f6c65466c..f51c979eb 100644
--- a/lib/pure/streams.nim
+++ b/lib/pure/streams.nim
@@ -242,7 +242,7 @@ proc peekLine*(s: Stream, line: var TaintedString): bool =
   ## otherwise. If ``false`` is returned `line` contains no new data.
   let pos = getPosition(s)
   defer: setPosition(s, pos)
-  readLine(s, line)
+  result = readLine(s, line)
 
 proc readLine*(s: Stream): TaintedString =
   ## Reads a line from a stream `s`. Note: This is not very efficient. Raises
@@ -263,7 +263,7 @@ proc peekLine*(s: Stream): TaintedString =
   ## `EIO` if an error occurred.
   let pos = getPosition(s)
   defer: setPosition(s, pos)
-  readLine(s)
+  result = readLine(s)
 
 type
   StringStream* = ref StringStreamObj ## a stream that encapsulates a string
@@ -458,3 +458,7 @@ when defined(testing):
   assert(ss.getPosition == 5) # did move
   assert(ss.peekLine() == "uick brown fox jumped over the lazy dog.")
   assert(ss.getPosition == 5) # haven't moved
+  var str = newString(100)
+  assert(ss.peekLine(str))
+  assert(str == "uick brown fox jumped over the lazy dog.")
+  assert(ss.getPosition == 5) # haven't moved