From a87236fea27922cfa4fc07784e6d64c55cbde920 Mon Sep 17 00:00:00 2001 From: Mark Thom Date: Sun, 28 Nov 2021 10:21:07 -0700 Subject: [PATCH] keep cursor position after writing to byte stream --- src/machine/streams.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/machine/streams.rs b/src/machine/streams.rs index 4aeba63e..8e2e2c13 100644 --- a/src/machine/streams.rs +++ b/src/machine/streams.rs @@ -110,7 +110,13 @@ impl Read for ByteStream { impl Write for ByteStream { #[inline] fn write(&mut self, buf: &[u8]) -> std::io::Result { - self.0.write(buf) + let pos = self.0.position(); + + self.0.seek(SeekFrom::End(0))?; + let result = self.0.write(buf); + self.0.seek(SeekFrom::Start(pos))?; + + result } #[inline] -- 2.54.0