comparison src/eval.c @ 1541:0d0bf7598dcb v7.1.256

updated for version 7.1-256
author vimboss
date Wed, 20 Feb 2008 11:24:52 +0000
parents 8abc0abf8cbd
children 8d74df00f7da
comparison
equal deleted inserted replaced
1540:ca5b52e99385 1541:0d0bf7598dcb
9201 typval_T *rettv; 9201 typval_T *rettv;
9202 { 9202 {
9203 rettv->vval.v_number = filewritable(get_tv_string(&argvars[0])); 9203 rettv->vval.v_number = filewritable(get_tv_string(&argvars[0]));
9204 } 9204 }
9205 9205
9206 static void findfilendir __ARGS((typval_T *argvars, typval_T *rettv, int dir)); 9206 static void findfilendir __ARGS((typval_T *argvars, typval_T *rettv, int find_what));
9207 9207
9208 static void 9208 static void
9209 findfilendir(argvars, rettv, dir) 9209 findfilendir(argvars, rettv, find_what)
9210 typval_T *argvars; 9210 typval_T *argvars;
9211 typval_T *rettv; 9211 typval_T *rettv;
9212 int dir; 9212 int find_what;
9213 { 9213 {
9214 #ifdef FEAT_SEARCHPATH 9214 #ifdef FEAT_SEARCHPATH
9215 char_u *fname; 9215 char_u *fname;
9216 char_u *fresult = NULL; 9216 char_u *fresult = NULL;
9217 char_u *path = *curbuf->b_p_path == NUL ? p_path : curbuf->b_p_path; 9217 char_u *path = *curbuf->b_p_path == NUL ? p_path : curbuf->b_p_path;
9252 { 9252 {
9253 if (rettv->v_type == VAR_STRING) 9253 if (rettv->v_type == VAR_STRING)
9254 vim_free(fresult); 9254 vim_free(fresult);
9255 fresult = find_file_in_path_option(first ? fname : NULL, 9255 fresult = find_file_in_path_option(first ? fname : NULL,
9256 first ? (int)STRLEN(fname) : 0, 9256 first ? (int)STRLEN(fname) : 0,
9257 0, first, path, dir, curbuf->b_ffname, 9257 0, first, path,
9258 dir ? (char_u *)"" : curbuf->b_p_sua); 9258 find_what,
9259 curbuf->b_ffname,
9260 find_what == FINDFILE_DIR
9261 ? (char_u *)"" : curbuf->b_p_sua);
9259 first = FALSE; 9262 first = FALSE;
9260 9263
9261 if (fresult != NULL && rettv->v_type == VAR_LIST) 9264 if (fresult != NULL && rettv->v_type == VAR_LIST)
9262 list_append_string(rettv->vval.v_list, fresult, -1); 9265 list_append_string(rettv->vval.v_list, fresult, -1);
9263 9266
9443 static void 9446 static void
9444 f_finddir(argvars, rettv) 9447 f_finddir(argvars, rettv)
9445 typval_T *argvars; 9448 typval_T *argvars;
9446 typval_T *rettv; 9449 typval_T *rettv;
9447 { 9450 {
9448 findfilendir(argvars, rettv, TRUE); 9451 findfilendir(argvars, rettv, FINDFILE_DIR);
9449 } 9452 }
9450 9453
9451 /* 9454 /*
9452 * "findfile({fname}[, {path}[, {count}]])" function 9455 * "findfile({fname}[, {path}[, {count}]])" function
9453 */ 9456 */
9454 static void 9457 static void
9455 f_findfile(argvars, rettv) 9458 f_findfile(argvars, rettv)
9456 typval_T *argvars; 9459 typval_T *argvars;
9457 typval_T *rettv; 9460 typval_T *rettv;
9458 { 9461 {
9459 findfilendir(argvars, rettv, FALSE); 9462 findfilendir(argvars, rettv, FINDFILE_FILE);
9460 } 9463 }
9461 9464
9462 /* 9465 /*
9463 * "fnamemodify({fname}, {mods})" function 9466 * "fnamemodify({fname}, {mods})" function
9464 */ 9467 */