Skip to content

Commit 7c09cd5

Browse files
committed
Use early return in std::io::read_to_end
1 parent 3bde5e7 commit 7c09cd5

File tree

1 file changed

+2
-11
lines changed

1 file changed

+2
-11
lines changed

src/libstd/io/mod.rs

+2-11
Original file line numberDiff line numberDiff line change
@@ -366,7 +366,6 @@ fn append_to_string<F>(buf: &mut String, f: F) -> Result<usize>
366366
fn read_to_end<R: Read + ?Sized>(r: &mut R, buf: &mut Vec<u8>) -> Result<usize> {
367367
let start_len = buf.len();
368368
let mut g = Guard { len: buf.len(), buf: buf };
369-
let ret;
370369
loop {
371370
if g.len == g.buf.len() {
372371
unsafe {
@@ -378,20 +377,12 @@ fn read_to_end<R: Read + ?Sized>(r: &mut R, buf: &mut Vec<u8>) -> Result<usize>
378377
}
379378

380379
match r.read(&mut g.buf[g.len..]) {
381-
Ok(0) => {
382-
ret = Ok(g.len - start_len);
383-
break;
384-
}
380+
Ok(0) => return Ok(g.len - start_len),
385381
Ok(n) => g.len += n,
386382
Err(ref e) if e.kind() == ErrorKind::Interrupted => {}
387-
Err(e) => {
388-
ret = Err(e);
389-
break;
390-
}
383+
Err(e) => return Err(e),
391384
}
392385
}
393-
394-
ret
395386
}
396387

397388
/// The `Read` trait allows for reading bytes from a source.

0 commit comments

Comments
 (0)