aboutsummaryrefslogtreecommitdiff
path: root/src/os/fs.c
diff options
context:
space:
mode:
authorThomas Wienecke <wienecke.t@gmail.com>2014-03-04 20:50:48 +0100
committerThiago de Arruda <tpadilha84@gmail.com>2014-03-05 15:01:19 -0300
commit8bb672e6a088eb77d98d182bd46551986b52eb49 (patch)
tree8ac1a7d0ffd2839da23a1a4a01e5a8a7d301d7a3 /src/os/fs.c
parent1e5a6acebd9f4c5fec9f31a9b7863fc90167a648 (diff)
downloadrneovim-8bb672e6a088eb77d98d182bd46551986b52eb49.tar.gz
rneovim-8bb672e6a088eb77d98d182bd46551986b52eb49.tar.bz2
rneovim-8bb672e6a088eb77d98d182bd46551986b52eb49.zip
Port mch_isdir to libuv.
Diffstat (limited to 'src/os/fs.c')
-rw-r--r--src/os/fs.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/os/fs.c b/src/os/fs.c
index 0b83ca319e..bf9de63355 100644
--- a/src/os/fs.c
+++ b/src/os/fs.c
@@ -160,3 +160,22 @@ int mch_is_full_name(char_u *fname)
return *fname == '/' || *fname == '~';
}
+/*
+ * return TRUE if "name" is a directory
+ * return FALSE if "name" is not a directory
+ * return FALSE for error
+ */
+int mch_isdir(char_u *name)
+{
+ uv_fs_t request;
+ if (0 != uv_fs_stat(uv_default_loop(), &request, (const char*) name, NULL)) {
+ return FALSE;
+ }
+
+ if (!S_ISDIR(request.statbuf.st_mode)) {
+ return FALSE;
+ }
+
+ return TRUE;
+}
+