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;
--- a/src/version.c
+++ b/src/version.c
@@ -739,6 +739,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    96,
+/**/
     95,
 /**/
     94,