Skip to content

Commit 2d22c77

Browse files
committed
Fixed bug in write_vectored & empty buffers
1 parent 61f591e commit 2d22c77

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

src/libstd/io/buffered.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1091,8 +1091,12 @@ impl<'a, W: Write> Write for LineWriterShim<'a, W> {
10911091

10921092
// Now that the write has succeeded, buffer the rest (or as much of the
10931093
// rest as possible)
1094-
let buffered: usize =
1095-
tail.iter().map(|buf| self.buffer.write_to_buf(buf)).take_while(|&n| n > 0).sum();
1094+
let buffered: usize = tail
1095+
.iter()
1096+
.filter(|buf| !buf.is_empty())
1097+
.map(|buf| self.buffer.write_to_buf(buf))
1098+
.take_while(|&n| n > 0)
1099+
.sum();
10961100

10971101
Ok(flushed + buffered)
10981102
}

0 commit comments

Comments
 (0)