fix how commands are called

This commit is contained in:
Oliver Atkinson 2024-11-26 09:12:48 -07:00
parent 51c7528556
commit 00b4583f3b

View File

@ -109,20 +109,23 @@ impl Command {
let cmd = Command::init( let cmd = Command::init(
cmd.file_name().into_string().unwrap(), cmd.file_name().into_string().unwrap(),
vec![], vec![],
Box::new(move |args| { Box::new(move |args: Param| {
let name = cmd.path().to_str().unwrap().to_owned(); let name = cmd.path().to_str().unwrap().to_owned();
let out = process::Command::new(name) let out = process::Command::new(name)
.args(args) .args(&args[1..])
.output() .output()
.expect("Failed to call external program"); .expect("Failed to call external program");
// FIXME not printing to out
//
let output = String::from_utf8_lossy(&out.stdout);
let errout = String::from_utf8_lossy(&out.stderr);
// TODO load into env // TODO load into env
let status = out.status.code(); let status = out.status.code();
println!("{:?} output: {output}", status); if !out.stdout.is_empty()
println!("{:?} err: {errout}", status); {
let output = String::from_utf8_lossy(&out.stdout);
println!("{output}");
}
if !out.stderr.is_empty() {
let errout = String::from_utf8_lossy(&out.stderr);
println!("{errout}");
}
}), }),
); );
v.push(cmd); v.push(cmd);