INNER CODE UNIT · Rust
run_command_stdout
0xKarl-dev/claw-codes · rust/crates/commands/src/lib.rs:946
fn run_command_stdout(program: &str, args: &[&str], cwd: &Path) -> io::Result<String> {
let output = Command::new(program).args(args).current_dir(cwd).output()?;
if !output.status.success() {
return Err(io::Error::other(command_failure(program, args, &output)));
}
String::from_utf8(output.stdout)
.map_err(|error| io::Error::new(io::ErrorKind::InvalidData, error))
}
fn run_command_success(program: &str, args: &[&str], cwd: &Path) -> io::Result<()> {
let output = Command::new(program).args(args).current_dir(cwd).output()?;
if !output.status.success() {
return Err(io::Error::other(command_failure(program, args, &output)));
}
Ok(())
}
fn command_failure(program: &str, args: &[&str], output: &std::process::Output) -> String {