jobstart(): Return -1 if cmd is not executable. #5671

Closes #5465
This commit is contained in:
Aaron Williamson
2016-11-24 17:23:54 -07:00
committed by Justin M. Keyes
parent f344e40699
commit c8d5e9230e
4 changed files with 9 additions and 4 deletions

View File

@@ -11608,9 +11608,6 @@ static char **tv_to_argv(typval_T *cmd_tv, char **cmd)
const char_u *exe = get_tv_string_chk(&argl->lv_first->li_tv);
if (!exe || !os_can_exe(exe, NULL, true)) {
// String is not executable
if (exe) {
EMSG2(e_jobexe, exe);
}
return NULL;
}
@@ -11646,6 +11643,7 @@ static void f_jobstart(typval_T *argvars, typval_T *rettv, FunPtr fptr)
char **argv = tv_to_argv(&argvars[0], NULL);
if (!argv) {
rettv->vval.v_number = -1; // Return -1 on error.
return; // Did error message in tv_to_argv.
}
@@ -16470,6 +16468,7 @@ static void f_termopen(typval_T *argvars, typval_T *rettv, FunPtr fptr)
char *cmd;
char **argv = tv_to_argv(&argvars[0], &cmd);
if (!argv) {
rettv->vval.v_number = -1; // Return -1 on error.
return; // Did error message in tv_to_argv.
}