+
+
+int wincheck(struct vol *vol, const char *path)
+{
+ int len;
+
+ if (!(vol->v_flags & AFPVOL_MSWINDOWS))
+ return 1;
+
+ /* empty paths are not allowed */
+ if ((len = strlen(path)) == 0)
+ return 0;
+
+ /* leading or trailing whitespaces are not allowed */
+ if ((*path == ' ') || (path[len-1] == ' '))
+ return 0;
+
+ /* certain characters are not allowed */
+ if (strpbrk(path, MSWINDOWS_BADCHARS))
+ return 0;
+
+ /* everything else is okay */
+ return 1;
+}