From: Bram Moolenaar Date: Tue, 7 Jun 2005 21:04:49 +0000 (+0000) Subject: updated for version 7.0082 X-Git-Tag: v7.0082~2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c4a06d34471d21532a3e0535e547b3d797992350;p=vim updated for version 7.0082 --- diff --git a/src/misc2.c b/src/misc2.c index 345036298..b3ab1f241 100644 --- a/src/misc2.c +++ b/src/misc2.c @@ -5592,3 +5592,41 @@ vimpty_getenv(string) # endif #endif /* !defined(HAVE_SETENV) && !defined(HAVE_PUTENV) */ + +#if defined(FEAT_EVAL) || defined(FEAT_SYN_HL) || defined(PROTO) +/* + * Return 0 for not writable, 1 for writable file, 2 for a dir which we have + * rights to write into. + */ + int +filewritable(fname) + char_u *fname; +{ + int retval = 0; +#if defined(UNIX) || defined(VMS) + int perm = 0; +#endif + +#if defined(UNIX) || defined(VMS) + perm = mch_getperm(fname); +#endif +#ifndef MACOS_CLASSIC /* TODO: get either mch_writable or mch_access */ + if ( +# ifdef WIN3264 + mch_writable(fname) && +# else +# if defined(UNIX) || defined(VMS) + (perm & 0222) && +# endif +# endif + mch_access((char *)fname, W_OK) == 0 + ) +#endif + { + ++retval; + if (mch_isdir(fname)) + ++retval; + } + return retval; +} +#endif