From 985594cbb8274e21c65f88485f3c4d83d6ff60d2 Mon Sep 17 00:00:00 2001 From: Araq Date: Mon, 28 Sep 2015 16:39:52 +0200 Subject: [PATCH] added streams.readAll proc --- lib/pure/streams.nim | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/lib/pure/streams.nim b/lib/pure/streams.nim index 406a0ec6e8..68f31e9fea 100644 --- a/lib/pure/streams.nim +++ b/lib/pure/streams.nim @@ -101,6 +101,18 @@ proc readData*(s: Stream, buffer: pointer, bufLen: int): int = ## low level proc that reads data into an untyped `buffer` of `bufLen` size. result = s.readDataImpl(s, buffer, bufLen) +proc readAll*(s: Stream): string = + ## Reads all available data. + result = newString(1000) + var r = 0 + while true: + let readBytes = readData(s, addr(result[r]), 1000) + if readBytes < 1000: + setLen(result, r+readBytes) + break + inc r, 1000 + setLen(result, r+1000) + proc readData*(s, unused: Stream, buffer: pointer, bufLen: int): int {.deprecated.} = ## low level proc that reads data into an untyped `buffer` of `bufLen` size.