diff src/os_win32.c @ 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 4dfba3df303c
children 0e21e2a38ec6
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;