Fix is_executable_in_path() on Windows (#10468)

* Fix problem that 1byte extra memory was allocated in is_executable_in_path

* Revert "Revert "tests: executable_spec: enable pending test #10443" (#10454)"

This reverts commit 13fbeda0e5.
This commit is contained in:
erw7 2019-07-16 00:39:34 +09:00 committed by Daniel Hahler
parent be949d6c9d
commit 519382646b
2 changed files with 2 additions and 7 deletions

View File

@ -364,7 +364,7 @@ static bool is_executable_in_path(const char_u *name, char_u **abspath)
#ifdef WIN32
// Prepend ".;" to $PATH.
size_t pathlen = strlen(path_env);
char *path = memcpy(xmallocz(pathlen + 3), "." ENV_SEPSTR, 2);
char *path = memcpy(xmallocz(pathlen + 2), "." ENV_SEPSTR, 2);
memcpy(path + 2, path_env, pathlen);
#else
char *path = xstrdup(path_env);

View File

@ -24,12 +24,7 @@ describe('executable()', function()
eq('arg1=lemon;arg2=sky;arg3=tree;',
call('system', sibling_exe..' lemon sky tree'))
end
local is_executable = call('executable', sibling_exe)
if iswin() and is_executable ~= expected then
pending('XXX: sometimes fails on AppVeyor')
else
eq(expected, is_executable)
end
eq(expected, call('executable', sibling_exe))
end)
describe('exec-bit', function()