Skip to content

Commit f2b8404

Browse files
author
Oliver Schneider
committed
prettier Buffer::read_until
1 parent 3bf41da commit f2b8404

File tree

1 file changed

+8
-10
lines changed

1 file changed

+8
-10
lines changed

src/libstd/io/mod.rs

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1436,33 +1436,31 @@ pub trait Buffer: Reader {
14361436
fn read_until(&mut self, byte: u8) -> IoResult<Vec<u8>> {
14371437
let mut res = Vec::new();
14381438

1439-
let mut used;
14401439
loop {
1441-
{
1440+
let (done, used) = {
14421441
let available = match self.fill_buf() {
14431442
Ok(n) => n,
14441443
Err(ref e) if res.len() > 0 && e.kind == EndOfFile => {
1445-
used = 0;
1446-
break
1444+
return Ok(res);
14471445
}
14481446
Err(e) => return Err(e)
14491447
};
14501448
match available.iter().position(|&b| b == byte) {
14511449
Some(i) => {
14521450
res.push_all(&available[..(i + 1)]);
1453-
used = i + 1;
1454-
break
1451+
(true, i + 1)
14551452
}
14561453
None => {
14571454
res.push_all(available);
1458-
used = available.len();
1455+
(false, available.len())
14591456
}
14601457
}
1458+
};
1459+
buffer.consume(used);
1460+
if done {
1461+
return Ok(res);
14611462
}
1462-
self.consume(used);
14631463
}
1464-
self.consume(used);
1465-
Ok(res)
14661464
}
14671465

14681466
/// Reads the next utf8-encoded character from the underlying stream.

0 commit comments

Comments
 (0)