Mercurial > vim
changeset 2147:2bd29808d1f6 v7.2.429
updated for version 7.2.429
Problem: A file that exists but access is denied may result in a "new file"
message. E.g. when its directory is unreadable.
Solution: Specifically check for ENOENT to decide a file doesn't exist.
(partly by James Vega)
author | Bram Moolenaar <bram@zimbu.org> |
---|---|
date | Fri, 14 May 2010 18:56:38 +0200 |
parents | c17a42da3920 |
children | 99b225e0dbc1 |
files | src/fileio.c src/version.c |
diffstat | 2 files changed, 10 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/fileio.c +++ b/src/fileio.c @@ -595,7 +595,11 @@ readfile(fname, sfname, from, lines_to_s #endif if (newfile) { - if (perm < 0) + if (perm < 0 +#ifdef ENOENT + && errno == ENOENT +#endif + ) { /* * Set the 'new-file' flag, so that when the file has @@ -664,6 +668,9 @@ readfile(fname, sfname, from, lines_to_s # ifdef EFBIG (errno == EFBIG) ? _("[File too big]") : # endif +# ifdef EOVERFLOW + (errno == EOVERFLOW) ? _("[File too big]") : +# endif _("[Permission Denied]")), 0); curbuf->b_p_ro = TRUE; /* must use "w!" now */ }