Skip to content

Commit 6ce4cf7

Browse files
committed
rustdoc: Make markdown_writer::pandoc_writer UTF-8 safe
1 parent c0cee3e commit 6ce4cf7

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

src/rustdoc/markdown_writer.rs

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -136,13 +136,15 @@ fn readclose(fd: libc::c_int) -> ~str {
136136
// Copied from run::program_output
137137
let file = os::fdopen(fd);
138138
let reader = io::FILE_reader(file, false);
139-
let mut buf = ~"";
140-
while !reader.eof() {
141-
let bytes = reader.read_bytes(4096u);
142-
buf += str::from_bytes(bytes);
143-
}
139+
let buf = io::with_bytes_writer(|writer| {
140+
let mut bytes = [mut 0, ..4096];
141+
while !reader.eof() {
142+
let nread = reader.read(bytes, bytes.len());
143+
writer.write(bytes.view(0, nread));
144+
}
145+
});
144146
os::fclose(file);
145-
return buf;
147+
str::from_bytes(buf)
146148
}
147149
148150
fn generic_writer(+process: fn~(markdown: ~str)) -> Writer {

0 commit comments

Comments
 (0)