use strings instead of vecs to read childs stdio
This commit is contained in:
parent
b90400a1c7
commit
56e7c525a4
|
@ -80,8 +80,8 @@ where
|
||||||
let mut stderr = child.stderr.take().expect("Failed to take stdout");
|
let mut stderr = child.stderr.take().expect("Failed to take stdout");
|
||||||
|
|
||||||
let mut wtr = Writer::from_writer(stdin);
|
let mut wtr = Writer::from_writer(stdin);
|
||||||
let mut captured_out = Vec::new();
|
let mut captured_out = String::new();
|
||||||
let mut captured_err = Vec::new();
|
let mut captured_err = String::new();
|
||||||
|
|
||||||
for entry in entries {
|
for entry in entries {
|
||||||
// write to process' stdin
|
// write to process' stdin
|
||||||
|
@ -92,14 +92,15 @@ where
|
||||||
entry.note.unwrap_or_else(|| "".into()),
|
entry.note.unwrap_or_else(|| "".into()),
|
||||||
entry.sheet,
|
entry.sheet,
|
||||||
])?;
|
])?;
|
||||||
|
wtr.flush()?;
|
||||||
|
|
||||||
// read process' stdout and stderr
|
// read process' stdout and stderr
|
||||||
stdout.read_to_end(&mut captured_out)?;
|
stdout.read_to_string(&mut captured_out)?;
|
||||||
write!(out, "{}", String::from_utf8_lossy(&captured_out))?;
|
write!(out, "{}", &captured_out)?;
|
||||||
captured_out.clear();
|
captured_out.clear();
|
||||||
|
|
||||||
stderr.read_to_end(&mut captured_err)?;
|
stderr.read_to_string(&mut captured_err)?;
|
||||||
write!(err, "{}", String::from_utf8_lossy(&captured_err))?;
|
write!(err, "{}", &captured_err)?;
|
||||||
captured_err.clear();
|
captured_err.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue