Problem: On MS-Windows the viminfo file is (always) given the hidden
attribute. (raulnac)
Solution: Check the hidden attribute in a different way. (Ken Takata)
struct stat st_old; /* mch_stat() of existing viminfo file */
#endif
#ifdef WIN3264
- long perm = -1;
+ int hidden = FALSE;
#endif
if (no_viminfo())
#endif
#ifdef WIN3264
/* Get the file attributes of the existing viminfo file. */
- perm = mch_getperm(fname);
+ hidden = mch_ishidden(fname);
#endif
/*
#ifdef WIN3264
/* If the viminfo file was hidden then also hide the new file. */
- if (perm > 0 && (perm & FILE_ATTRIBUTE_HIDDEN))
+ if (hidden)
mch_hide(fname);
#endif
}
win32_setattrs(name, attrs);
}
+/*
+ * Return TRUE if file "name" exists and is hidden.
+ */
+ int
+mch_ishidden(char_u *name)
+{
+ int f = win32_getattrs(name);
+
+ if (f == -1)
+ return FALSE; /* file does not exist at all */
+
+ return (f & FILE_ATTRIBUTE_HIDDEN) != 0;
+}
+
/*
* return TRUE if "name" is a directory
* return FALSE if "name" is not a directory or upon error
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 906,
/**/
905,
/**/