mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-23 06:09:50 -06:00
fix CreateFullPath, fix memcards not being created if the path didn't exist for some reason, don't put dsptool .pdb files in the binary dir
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2984 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
@ -172,9 +172,13 @@ bool CreateFullPath(const char *fullPath)
|
||||
return true;
|
||||
}
|
||||
|
||||
const char *position = fullPath;
|
||||
// safety check to ensure we have good dir seperators
|
||||
std::string strFullPath(fullPath);
|
||||
NormalizeDirSep(&strFullPath);
|
||||
|
||||
const char *position = strFullPath.c_str();
|
||||
while (true) {
|
||||
// Find next sub path, support both \ and / directory separators
|
||||
// Find next sub path
|
||||
position = strchr(position, DIR_SEP_CHR);
|
||||
|
||||
// we're done, yay!
|
||||
@ -184,9 +188,9 @@ bool CreateFullPath(const char *fullPath)
|
||||
position++;
|
||||
|
||||
// Create next sub path
|
||||
int sLen = (int)(position - fullPath);
|
||||
int sLen = (int)(position - strFullPath.c_str());
|
||||
if (sLen > 0) {
|
||||
char *subPath = strndup(fullPath, sLen);
|
||||
char *subPath = strndup(strFullPath.c_str(), sLen);
|
||||
if (!File::IsDirectory(subPath)) {
|
||||
File::CreateDir(subPath);
|
||||
}
|
||||
@ -196,7 +200,7 @@ bool CreateFullPath(const char *fullPath)
|
||||
// A safety check
|
||||
panicCounter--;
|
||||
if (panicCounter <= 0) {
|
||||
ERROR_LOG(COMMON, "CreateFullPath: directory stracture too deep");
|
||||
ERROR_LOG(COMMON, "CreateFullPath: directory structure too deep");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user