diff options
Diffstat (limited to 'src/os/fs.c')
-rw-r--r-- | src/os/fs.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/os/fs.c b/src/os/fs.c index b55c132027..6ae48ab269 100644 --- a/src/os/fs.c +++ b/src/os/fs.c @@ -175,11 +175,16 @@ int mch_is_absolute_path(char_u *fname) int mch_isdir(char_u *name) { uv_fs_t request; - if (0 != uv_fs_stat(uv_default_loop(), &request, (const char*) name, NULL)) { + int result = uv_fs_stat(uv_default_loop(), &request, (const char*) name, NULL); + uint64_t mode = request.statbuf.st_mode; + + uv_fs_req_cleanup(&request); + + if (0 != result) { return FALSE; } - if (!S_ISDIR(request.statbuf.st_mode)) { + if (!S_ISDIR(mode)) { return FALSE; } |