aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval.c
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2015-08-11 16:34:45 -0400
committerJustin M. Keyes <justinkz@gmail.com>2015-08-17 01:06:00 -0400
commit3ce1b4015f8e830af72b679b6d39ab0bf4f69768 (patch)
treea1932bc8e50f3f2f6cdd55a5fb1f12a5cc40d16c /src/nvim/eval.c
parent616b787d129b3550dc4b103868cf09e267195210 (diff)
downloadrneovim-3ce1b4015f8e830af72b679b6d39ab0bf4f69768.tar.gz
rneovim-3ce1b4015f8e830af72b679b6d39ab0bf4f69768.tar.bz2
rneovim-3ce1b4015f8e830af72b679b6d39ab0bf4f69768.zip
fs.c: implement os_file_is_readable()
Use access() because: - We already use it for os_file_is_writable() - Vim's old check_file_readonly() ends up using access() after all.
Diffstat (limited to 'src/nvim/eval.c')
-rw-r--r--src/nvim/eval.c23
1 files changed, 4 insertions, 19 deletions
diff --git a/src/nvim/eval.c b/src/nvim/eval.c
index c7c67cfca4..bf9a219e28 100644
--- a/src/nvim/eval.c
+++ b/src/nvim/eval.c
@@ -8562,27 +8562,12 @@ static void f_feedkeys(typval_T *argvars, typval_T *rettv)
}
}
-/*
- * "filereadable()" function
- */
+/// "filereadable()" function
static void f_filereadable(typval_T *argvars, typval_T *rettv)
{
- int fd;
- char_u *p;
- int n;
-
-#ifndef O_NONBLOCK
-# define O_NONBLOCK 0
-#endif
- p = get_tv_string(&argvars[0]);
- if (*p && !os_isdir(p) && (fd = os_open((char *)p,
- O_RDONLY | O_NONBLOCK, 0)) >= 0) {
- n = TRUE;
- close(fd);
- } else
- n = FALSE;
-
- rettv->vval.v_number = n;
+ char_u *p = get_tv_string(&argvars[0]);
+ rettv->vval.v_number =
+ (*p && !os_isdir(p) && os_file_is_readable((char*)p));
}
/*