diff options
author | Justus Winter <justus@sequoia-pgp.org> | 2023-03-23 11:19:47 +0100 |
---|---|---|
committer | Justus Winter <justus@sequoia-pgp.org> | 2023-03-23 11:19:47 +0100 |
commit | 7db963d430e29beb41548b8467465e99908df534 (patch) | |
tree | 03b3355db8156df567c0c4df88c585f39d00a1ce /buffered-reader | |
parent | 9fc6834ecf50d49ffaabe89ffea9f7304dce6302 (diff) |
buffered-reader: Hoist accessing lazy static out of the loop.
Diffstat (limited to 'buffered-reader')
-rw-r--r-- | buffered-reader/src/lib.rs | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/buffered-reader/src/lib.rs b/buffered-reader/src/lib.rs index 5637a794..a130ca7c 100644 --- a/buffered-reader/src/lib.rs +++ b/buffered-reader/src/lib.rs @@ -759,13 +759,14 @@ pub trait BufferedReader<C> : io::Read + fmt::Debug + fmt::Display + Send + Sync assert!(t[0] <= t[1]); } + let buf_size = default_buf_size(); let mut total = 0; let position = 'outer: loop { let len = { // Try self.buffer. Only if it is empty, use // self.data. let buffer = if self.buffer().is_empty() { - self.data(default_buf_size())? + self.data(buf_size)? } else { self.buffer() }; @@ -848,12 +849,13 @@ pub trait BufferedReader<C> : io::Read + fmt::Debug + fmt::Display + Send + Sync /// discards it. A consequence of this is that an error may occur /// after we have consumed some of the data. fn drop_eof(&mut self) -> Result<bool, std::io::Error> { + let buf_size = default_buf_size(); let mut at_least_one_byte = false; loop { - let n = self.data(default_buf_size())?.len(); + let n = self.data(buf_size)?.len(); at_least_one_byte |= n > 0; self.consume(n); - if n < default_buf_size() { + if n < buf_size { // EOF. break; } |