aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2021-12-04 02:26:09 -0500
committerJesse Luehrs <doy@tozt.net>2021-12-04 02:26:09 -0500
commit46d1b6266062fa85267532613d181c51ea884e01 (patch)
treeffb3d3d89738ca0d47bc4d377e334052498f5425
parent1d9aea0ad68c5dc41e8c421b05440d1237dd1ee4 (diff)
downloadttyrec-bin-46d1b6266062fa85267532613d181c51ea884e01.tar.gz
ttyrec-bin-46d1b6266062fa85267532613d181c51ea884e01.zip
eliminate an intermediate process
-rw-r--r--src/bin/ttyrec/main.rs4
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());