adjust default cwd
This commit is contained in:
committed by
Bennet Bleßmann
parent
6c7833b9c7
commit
183761eba4
@@ -17,7 +17,7 @@ process_create(Exe, Args, Options) :-
|
|||||||
([stderr], valid_stdio, stderr(std), stderr(Stderr)),
|
([stderr], valid_stdio, stderr(std), stderr(Stderr)),
|
||||||
([env, environment], valid_env, environment([]), Env),
|
([env, environment], valid_env, environment([]), Env),
|
||||||
([pid], valid_pid, pid(_), pid(Pid)),
|
([pid], valid_pid, pid(_), pid(Pid)),
|
||||||
([cwd], valid_cwd, cwd(_), cwd(Cwd))
|
([cwd], valid_cwd, cwd("."), cwd(Cwd))
|
||||||
],
|
],
|
||||||
Options
|
Options
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -8409,7 +8409,7 @@ impl Machine {
|
|||||||
let stderr_r = self.deref_register(5);
|
let stderr_r = self.deref_register(5);
|
||||||
// [env | environment, [[String, String],...]]
|
// [env | environment, [[String, String],...]]
|
||||||
let env_r = self.deref_register(6);
|
let env_r = self.deref_register(6);
|
||||||
// Var | String
|
// String ("." for keep current cwd)
|
||||||
let cwd_r = self.deref_register(7);
|
let cwd_r = self.deref_register(7);
|
||||||
// Var
|
// Var
|
||||||
let pid_r = self.deref_register(8);
|
let pid_r = self.deref_register(8);
|
||||||
@@ -8469,12 +8469,12 @@ impl Machine {
|
|||||||
})
|
})
|
||||||
.collect::<Result<Vec<_>, MachineStub>>()?;
|
.collect::<Result<Vec<_>, MachineStub>>()?;
|
||||||
|
|
||||||
let cwd = self.machine_st.value_to_str_like(cwd_r);
|
let cwd = self.machine_st.value_to_str_like(cwd_r).unwrap();
|
||||||
|
|
||||||
let mut command = std::process::Command::new(&*exe.as_str());
|
let mut command = std::process::Command::new(&*exe.as_str());
|
||||||
command.args(args);
|
command.args(args);
|
||||||
|
|
||||||
if let Some(cwd) = cwd {
|
if &*cwd.as_str() != "." {
|
||||||
command.current_dir(&*cwd.as_str());
|
command.current_dir(&*cwd.as_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user