1
0
forked from aniani/vim

patch 8.2.0032: MS-Windows: test for blank job fails

Problem:    MS-Windows: test for blank job fails
Solution:   Check before escaping.
This commit is contained in:
Bram Moolenaar
2019-12-22 18:28:51 +01:00
parent ba0a7475c5
commit 7c2a2f869b
3 changed files with 6 additions and 3 deletions

View File

@@ -5921,7 +5921,7 @@ job_start(
{ {
// Command is a string. // Command is a string.
cmd = argvars[0].vval.v_string; cmd = argvars[0].vval.v_string;
if (cmd == NULL || *cmd == NUL) if (cmd == NULL || *skipwhite(cmd) == NUL)
{ {
emsg(_(e_invarg)); emsg(_(e_invarg));
goto theend; goto theend;
@@ -5945,13 +5945,12 @@ job_start(
goto theend; goto theend;
// Empty command is invalid. // Empty command is invalid.
#ifdef USE_ARGV
if (argc == 0 || *skipwhite((char_u *)argv[0]) == NUL) if (argc == 0 || *skipwhite((char_u *)argv[0]) == NUL)
{ {
emsg(_(e_invarg)); emsg(_(e_invarg));
goto theend; goto theend;
} }
#else #ifndef USE_ARGV
if (win32_build_cmd(l, &ga) == FAIL) if (win32_build_cmd(l, &ga) == FAIL)
goto theend; goto theend;
cmd = ga.ga_data; cmd = ga.ga_data;

View File

@@ -1962,6 +1962,8 @@ func Test_empty_job()
" This was crashing on MS-Windows. " This was crashing on MS-Windows.
call assert_fails('let job = job_start([""])', 'E474:') call assert_fails('let job = job_start([""])', 'E474:')
call assert_fails('let job = job_start([" "])', 'E474:') call assert_fails('let job = job_start([" "])', 'E474:')
call assert_fails('let job = job_start("")', 'E474:')
call assert_fails('let job = job_start(" ")', 'E474:')
endfunc endfunc
" Do this last, it stops any channel log. " Do this last, it stops any channel log.

View File

@@ -742,6 +742,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
32,
/**/ /**/
31, 31,
/**/ /**/