}
#if !defined(DJGPP)
-long cm_FreelanceMountPointExists(char * filename)
+long cm_FreelanceMountPointExists(char * filename, int prefix_ok)
{
char* cp;
char line[512];
found = 1;
break;
}
+
+ if (prefix_ok && strlen(shortname) - strlen(filename) == 1 && !strncmp(shortname, filename, strlen(filename))) {
+ found = 1;
+ break;
+ }
}
RegCloseKey(hkFreelance);
}
return found;
}
-long cm_FreelanceSymlinkExists(char * filename)
+long cm_FreelanceSymlinkExists(char * filename, int prefix_ok)
{
char* cp;
char line[512];
found = 1;
break;
}
+
+ if (prefix_ok && strlen(shortname) - strlen(filename) == 1 && !strncmp(shortname, filename, strlen(filename))) {
+ found = 1;
+ break;
+ }
}
for ( dwIndex = 0; dwIndex < dwSymlinks; dwIndex++ ) {
TCHAR szValueName[16];
}
#if !defined(DJGPP)
- if ( cm_FreelanceMountPointExists(filename) ||
- cm_FreelanceSymlinkExists(filename) )
+ if ( cm_FreelanceMountPointExists(filename, 0) ||
+ cm_FreelanceSymlinkExists(filename, 0) )
return -1;
#endif
}
#if !defined(DJGPP)
- if ( cm_FreelanceMountPointExists(filename) ||
- cm_FreelanceSymlinkExists(filename) )
+ if ( cm_FreelanceMountPointExists(filename, 0) ||
+ cm_FreelanceSymlinkExists(filename, 0) )
return CM_ERROR_EXISTS;
#endif