comparison src/eval.c @ 1668:0b796e045c42 v7.2b.000

updated for version 7.2b-000
author vimboss
date Sun, 13 Jul 2008 17:41:49 +0000
parents ac6d15d91466
children fddea6c03dee
comparison
equal deleted inserted replaced
1667:131dbd3d2a4b 1668:0b796e045c42
8 */ 8 */
9 9
10 /* 10 /*
11 * eval.c: Expression evaluation. 11 * eval.c: Expression evaluation.
12 */ 12 */
13 #if defined(MSDOS) || defined(MSWIN) 13 #if defined(MSDOS) || defined(WIN16) || defined(WIN32) || defined(_WIN64)
14 # include "vimio.h" /* for mch_open(), must be before vim.h */ 14 # include "vimio.h" /* for mch_open(), must be before vim.h */
15 #endif 15 #endif
16 16
17 #include "vim.h" 17 #include "vim.h"
18 18
9695 static void 9695 static void
9696 f_filereadable(argvars, rettv) 9696 f_filereadable(argvars, rettv)
9697 typval_T *argvars; 9697 typval_T *argvars;
9698 typval_T *rettv; 9698 typval_T *rettv;
9699 { 9699 {
9700 FILE *fd; 9700 int fd;
9701 char_u *p; 9701 char_u *p;
9702 int n; 9702 int n;
9703 9703
9704 #ifndef O_NONBLOCK
9705 # define O_NONBLOCK 0
9706 #endif
9704 p = get_tv_string(&argvars[0]); 9707 p = get_tv_string(&argvars[0]);
9705 if (*p && !mch_isdir(p) && (fd = mch_fopen((char *)p, "r")) != NULL) 9708 if (*p && !mch_isdir(p) && (fd = mch_open((char *)p,
9709 O_RDONLY | O_NONBLOCK, 0)) >= 0)
9706 { 9710 {
9707 n = TRUE; 9711 n = TRUE;
9708 fclose(fd); 9712 close(fd);
9709 } 9713 }
9710 else 9714 else
9711 n = FALSE; 9715 n = FALSE;
9712 9716
9713 rettv->vval.v_number = n; 9717 rettv->vval.v_number = n;
21973 * resulting path. 21977 * resulting path.
21974 */ 21978 */
21975 ch = *endp; 21979 ch = *endp;
21976 *endp = 0; 21980 *endp = 0;
21977 short_fname = save_fname; 21981 short_fname = save_fname;
21978 len = STRLEN(short_fname) + 1; 21982 len = (int)STRLEN(short_fname) + 1;
21979 if (get_short_pathname(&short_fname, &pbuf_unused, &len) == FAIL) 21983 if (get_short_pathname(&short_fname, &pbuf_unused, &len) == FAIL)
21980 { 21984 {
21981 retval = FAIL; 21985 retval = FAIL;
21982 goto theend; 21986 goto theend;
21983 } 21987 }