1
0
mirror of https://foundry.openuru.org/gitblit/r/CWE-ou-minkata.git synced 2025-07-17 10:52:46 +00:00

Fix a plFileSystem::CreateDir failure when called with a trailing slash

and requesting the whole tree to be created.
This commit is contained in:
2013-02-04 19:47:13 -08:00
parent 9873b33cb3
commit 04ecc27e8e

View File

@ -333,19 +333,25 @@ bool plFileSystem::Copy(const plFileName &from, const plFileName &to)
bool plFileSystem::CreateDir(const plFileName &dir, bool checkParents)
{
plFileName fdir = dir;
if (fdir.GetFileName().IsEmpty()) {
hsDebugMessage("WARNING: CreateDir called with useless trailing slash", 0);
fdir = fdir.StripFileName();
}
if (checkParents) {
plFileName parent = dir.StripFileName();
plFileName parent = fdir.StripFileName();
if (parent.IsValid() && !plFileInfo(parent).Exists() && !CreateDir(parent, true))
return false;
}
if (plFileInfo(dir).Exists())
if (plFileInfo(fdir).Exists())
return true;
#if HS_BUILD_FOR_WIN32
return CreateDirectoryW(dir.AsString().ToWchar(), nullptr);
return CreateDirectoryW(fdir.AsString().ToWchar(), nullptr);
#else
return (mkdir(dir.AsString().c_str(), 0755) == 0);
return (mkdir(fdir.AsString().c_str(), 0755) == 0);
#endif
}