Add InputStream.endPos

This commit is contained in:
Zahary Karadjov 2019-07-08 17:12:50 +03:00
commit c8a7409c96
No known key found for this signature in database
GPG key ID: C8936F8A3073D609

View file

@ -36,6 +36,8 @@ type
ByteStreamVar* = ref ByteStream
AsciiStreamVar* = ref AsciiStream
InputStreamVar* = ref ByteStream
proc openFile*(filename: string): ByteStreamVar =
new result
var memFile = memfiles.open(filename)
@ -69,6 +71,10 @@ proc init*(T: type BufferedStream,
asyncReader = AsyncStreamReader(nil)): BufferedStream =
result.init result.buffer, reader, asyncReader
proc endPos*(s: InputStreamVar): int =
# TODO This needs to use a VTable for `system.File` based streams
s.bufferEndPos
proc syncRead(s: var ByteStream): bool =
let bytesRead = s.reader(s.bufferStart, s.bufferSize)
if bytesRead == 0: