summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
authorShawn Hoffman <godisgovernment@gmail.com>2009-04-16 17:24:06 +0000
committerShawn Hoffman <godisgovernment@gmail.com>2009-04-16 17:24:06 +0000
commite6dbfb4f24ba011bb6535fa3339710f46f3aa790 (patch)
tree768134383755306e0008911e90bc3bc47e90aa74 /Source
parent508b32b94f043330fbcf06ae3d7a75ecfd69ff93 (diff)
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
Diffstat (limited to 'Source')
-rw-r--r--Source/Core/Common/Src/FileUtil.cpp14
-rw-r--r--Source/Core/Core/Src/HW/EXI_DeviceMemoryCard.cpp9
-rw-r--r--Source/DSPTool/DSPTool.vcproj4
3 files changed, 15 insertions, 12 deletions
diff --git a/Source/Core/Common/Src/FileUtil.cpp b/Source/Core/Common/Src/FileUtil.cpp
index 63464ae256..11fd035ad9 100644
--- a/Source/Core/Common/Src/FileUtil.cpp
+++ b/Source/Core/Common/Src/FileUtil.cpp
@@ -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;
}
}
diff --git a/Source/Core/Core/Src/HW/EXI_DeviceMemoryCard.cpp b/Source/Core/Core/Src/HW/EXI_DeviceMemoryCard.cpp
index abc890f5b1..c9c097ef7b 100644
--- a/Source/Core/Core/Src/HW/EXI_DeviceMemoryCard.cpp
+++ b/Source/Core/Core/Src/HW/EXI_DeviceMemoryCard.cpp
@@ -101,10 +101,7 @@ CEXIMemoryCard::CEXIMemoryCard(const std::string& _rName, const std::string& _rF
}
-
-//////////////////////////////////////////////////////////////////////////////////////////
-// Create new memory card
-// ŻŻŻŻŻŻŻŻŻŻŻŻŻŻ
+// Flush memory card contents to disc
void CEXIMemoryCard::Flush(bool exiting)
{
FILE* pFile = NULL;
@@ -115,7 +112,7 @@ void CEXIMemoryCard::Flush(bool exiting)
std::string dir;
SplitPath(m_strFilename, &dir, 0, 0);
if(!File::IsDirectory(dir.c_str()))
- File::CreateDir(dir.c_str());
+ File::CreateFullPath(dir.c_str());
pFile = fopen(m_strFilename.c_str(), "wb");
}
@@ -134,8 +131,6 @@ void CEXIMemoryCard::Flush(bool exiting)
Core::DisplayMessage(StringFromFormat("Wrote memory card %c contents to %s", card_index ? 'B' : 'A', m_strFilename.c_str()).c_str(), 4000);
}
}
-//////////////////////////////////////
-
CEXIMemoryCard::~CEXIMemoryCard()
{
diff --git a/Source/DSPTool/DSPTool.vcproj b/Source/DSPTool/DSPTool.vcproj
index 982f4e6cf6..715349ed89 100644
--- a/Source/DSPTool/DSPTool.vcproj
+++ b/Source/DSPTool/DSPTool.vcproj
@@ -68,6 +68,7 @@
OutputFile="../../Binary/Win32/$(ProjectName)D.exe"
LinkIncremental="2"
GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(PlatformName)\$(ConfigurationName)\$(TargetName).pdb"
SubSystem="1"
TargetMachine="1"
/>
@@ -143,6 +144,7 @@
OutputFile="../../Binary/x64/$(ProjectName)D.exe"
LinkIncremental="2"
GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(PlatformName)\$(ConfigurationName)\$(TargetName).pdb"
SubSystem="1"
TargetMachine="17"
/>
@@ -218,6 +220,7 @@
OutputFile="../../Binary/Win32/$(ProjectName).exe"
LinkIncremental="1"
GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(PlatformName)\$(ConfigurationName)\$(TargetName).pdb"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
@@ -296,6 +299,7 @@
OutputFile="../../Binary/x64/$(ProjectName).exe"
LinkIncremental="1"
GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(PlatformName)\$(ConfigurationName)\$(TargetName).pdb"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"