diff options
author | Jesse Luehrs <doy@tozt.net> | 2021-12-04 02:26:09 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2021-12-04 02:26:09 -0500 |
commit | 46d1b6266062fa85267532613d181c51ea884e01 (patch) | |
tree | ffb3d3d89738ca0d47bc4d377e334052498f5425 | |
parent | 1d9aea0ad68c5dc41e8c421b05440d1237dd1ee4 (diff) | |
download | ttyrec-bin-46d1b6266062fa85267532613d181c51ea884e01.tar.gz ttyrec-bin-46d1b6266062fa85267532613d181c51ea884e01.zip |
eliminate an intermediate process
-rw-r--r-- | src/bin/ttyrec/main.rs | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/bin/ttyrec/main.rs b/src/bin/ttyrec/main.rs index 353b0bc..c594c87 100644 --- a/src/bin/ttyrec/main.rs +++ b/src/bin/ttyrec/main.rs @@ -16,7 +16,9 @@ fn get_cmd( cmd: Option<std::ffi::OsString>, ) -> (std::ffi::OsString, Vec<std::ffi::OsString>) { if let Some(cmd) = cmd { - ("/bin/sh".into(), vec!["-c".into(), cmd]) + let mut exec_cmd = std::ffi::OsString::from("exec "); + exec_cmd.push(cmd); + ("/bin/sh".into(), vec!["-c".into(), exec_cmd]) } else { let shell = std::env::var_os("SHELL").unwrap_or_else(|| "/bin/sh".into()); |