core/io: fix bug in MemoryReader::peek_buf()
authorKostya Shishkov <kostya.shishkov@gmail.com>
Mon, 13 Apr 2020 09:29:08 +0000 (11:29 +0200)
committerKostya Shishkov <kostya.shishkov@gmail.com>
Mon, 13 Apr 2020 09:29:08 +0000 (11:29 +0200)
nihav-core/src/io/byteio.rs

index 4463b2ba5563d8504afc4923f151d985712ce1ca..ba3d95c08a3044a4dc9264f38c4de37a03cb6796 100644 (file)
@@ -472,7 +472,7 @@ impl<'a> ByteIO for MemoryReader<'a> {
     }
 
     fn peek_buf(&mut self, buf: &mut [u8]) -> ByteIOResult<usize> {
-        let copy_size = if self.buf.len() - self.pos < buf.len() { self.buf.len() } else { buf.len() };
+        let copy_size = if self.buf.len() - self.pos < buf.len() { self.buf.len() - self.pos } else { buf.len() };
         if copy_size == 0 { return Err(ByteIOError::EOF); }
         let dst = &mut buf[0..copy_size];
         dst.copy_from_slice(&self.buf[self.pos..][..copy_size]);