Mercurial > vim
changeset 5494:645358801356 v7.4.096
updated for version 7.4.096
Problem: Can't change directory to an UNC path.
Solution: Use win32_getattrs() in mch_getperm(). (Christian Brabandt)
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Thu, 21 Nov 2013 12:34:11 +0100 |
parents | e9690e60c34b |
children | 02374b3a9983 |
files | src/os_win32.c src/version.c |
diffstat | 2 files changed, 11 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/src/os_win32.c +++ b/src/os_win32.c @@ -2841,18 +2841,20 @@ mch_dirname( } /* - * get file permissions for `name' - * -1 : error - * else mode_t + * Get file permissions for "name". + * Return mode_t or -1 for error. */ long mch_getperm(char_u *name) { struct stat st; - int n; - + int n; + + if (name[0] == '\\' && name[1] == '\\') + /* UNC path */ + return (long)win32_getattrs(name); n = mch_stat(name, &st); - return n == 0 ? (int)st.st_mode : -1; + return n == 0 ? (long)st.st_mode : -1L; } @@ -3094,8 +3096,7 @@ win32_fileinfo(char_u *fname, BY_HANDLE_ * -1 : error * else FILE_ATTRIBUTE_* defined in winnt.h */ - static - int + static int win32_getattrs(char_u *name) { int attr;