Fix for MS Windwos when a path contains a drive letter.

git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@530 8092fc87-c524-0410-9efc-e669fe64eaf9
This commit is contained in:
meep-eep
2003-01-04 23:41:34 +00:00
parent 7f0251ba4d
commit fa6448e719
2 changed files with 15 additions and 3 deletions
+6 -3
View File
@@ -45,7 +45,8 @@ prepareConfigDir (void) {
configDir = realloc (configDir, strlen (configDir) + 1);
// Create the path upto the config dir, if not already existing.
mkdirhier (configDir);
if (mkdirhier (configDir) == -1)
exit (EXIT_FAILURE);
}
void
@@ -61,7 +62,8 @@ prepareSaveDir (void) {
saveDir = realloc (saveDir, strlen (saveDir) + 1);
// Create the path upto the save dir, if not already existing.
mkdirhier (saveDir);
if (mkdirhier (saveDir) == -1)
exit (EXIT_FAILURE);
//#ifdef DEBUG
fprintf(stderr, "Saved games are kept in %s.\n", saveDir);
//#endif
@@ -80,6 +82,7 @@ prepareMeleeDir (void) {
meleeDir = realloc (meleeDir, strlen (meleeDir) + 1);
// Create the path upto the save dir, if not already existing.
mkdirhier (meleeDir);
if (mkdirhier (meleeDir) == -1)
exit (EXIT_FAILURE);
}
+9
View File
@@ -65,6 +65,15 @@ mkdirhier (const char *path)
ptr = buf;
pathstart = path;
#ifdef WIN32
// driveletter + semicolon on Windows.
if (isalpha(pathstart[0]) && pathstart[1] == ':')
{
*(ptr++) = *(pathstart++);
*(ptr++) = *(pathstart++);
}
#endif
if (*pathstart == '/') {
*ptr = '/';
ptr++;