diff options
| author | binarycat <binarycat@envs.net> | 2024-09-06 16:28:22 -0400 |
|---|---|---|
| committer | binarycat <binarycat@envs.net> | 2024-09-06 16:28:22 -0400 |
| commit | dfdbf6343ae1ea97b504b36ec1933e181ec7198e (patch) | |
| tree | 732f527cd05ffd122c73d307643ce17cc79094cc /library/std/src/io/buffered/bufreader/buffer.rs | |
| parent | 17b322fa69eed7216dccc9f097eb68237cf62234 (diff) | |
| download | rust-dfdbf6343ae1ea97b504b36ec1933e181ec7198e.tar.gz rust-dfdbf6343ae1ea97b504b36ec1933e181ec7198e.zip | |
properly handle EOF in BufReader::peek
previously this would cause an infinite loop due to it being unable to read `n` bytes.
Diffstat (limited to 'library/std/src/io/buffered/bufreader/buffer.rs')
| -rw-r--r-- | library/std/src/io/buffered/bufreader/buffer.rs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/library/std/src/io/buffered/bufreader/buffer.rs b/library/std/src/io/buffered/bufreader/buffer.rs index ccd67fafb45..1bf84d8bef3 100644 --- a/library/std/src/io/buffered/bufreader/buffer.rs +++ b/library/std/src/io/buffered/bufreader/buffer.rs @@ -98,7 +98,7 @@ impl Buffer { } /// Read more bytes into the buffer without discarding any of its contents - pub fn read_more(&mut self, mut reader: impl Read) -> io::Result<()> { + pub fn read_more(&mut self, mut reader: impl Read) -> io::Result<usize> { let mut buf = BorrowedBuf::from(&mut self.buf[self.pos..]); let old_init = self.initialized - self.pos; unsafe { @@ -107,7 +107,7 @@ impl Buffer { reader.read_buf(buf.unfilled())?; self.filled += buf.len(); self.initialized += buf.init_len() - old_init; - Ok(()) + Ok(buf.len()) } /// Remove bytes that have already been read from the buffer. |
