Do not create a new Vec in async_process for flatpak env args

This commit is contained in:
Charlie Le 2024-11-21 14:26:14 -05:00
parent 1de2050277
commit 2886b20971

View file

@ -18,15 +18,12 @@ pub async fn async_process<S: AsRef<OsStr>, T: AsRef<OsStr>>(
) -> anyhow::Result<AsyncProcessOut> {
let mut command: Command;
if *IS_FLATPAK && host_spawn {
let mut flatpak_env = vec![];
for (key, value) in env.unwrap_or_default() {
flatpak_env.push(format!("--env={}={}", key, value));
}
command = Command::new("flatpak-spawn");
command.arg("--host")
.args(flatpak_env)
.arg(cmd)
.args(args.unwrap_or_default());
command.arg("--host");
for (key, value) in env.unwrap_or_default() {
command.arg(format!("--env={}={}", key, value));
}
command.arg(cmd).args(args.unwrap_or_default());
} else {
command = Command::new(cmd);
command.args(args.unwrap_or_default()).envs(env.unwrap_or_default());