diff --git a/NetDb.cpp b/NetDb.cpp index bf9a64f0..d1f8ef14 100644 --- a/NetDb.cpp +++ b/NetDb.cpp @@ -250,21 +250,20 @@ namespace data LogPrint (directory.string(), " doesn't exist, trying to create it."); if (!boost::filesystem::create_directory (directory)) { - LogPrint("Failed to create directory ", directory.string()); + LogPrint (eLogError, "Failed to create directory ", directory); return false; } // list of chars might appear in base64 string const char * chars = GetBase64SubstitutionTable (); // 64 bytes - boost::filesystem::path suffix; for (int i = 0; i < 64; i++) { -#ifndef _WIN32 - suffix = std::string ("/r") + chars[i]; -#else - suffix = std::string ("\\r") + chars[i]; -#endif - if (!boost::filesystem::create_directory( boost::filesystem::path (directory / suffix) )) return false; + auto p = directory / (std::string ("r") + chars[i]); + if (!boost::filesystem::exists (p) && !boost::filesystem::create_directory (p)) + { + LogPrint (eLogError, "Failed to create directory ", p); + return false; + } } return true; } diff --git a/Profiling.cpp b/Profiling.cpp index 8b1a6bc3..9bfd4de9 100644 --- a/Profiling.cpp +++ b/Profiling.cpp @@ -57,7 +57,7 @@ namespace data for (int i = 0; i < 64; i++) { auto path1 = path / (std::string ("p") + chars[i]); - if (!boost::filesystem::create_directory (path1)) + if (!boost::filesystem::exists (path1) && !boost::filesystem::create_directory (path1)) { LogPrint (eLogError, "Failed to create directory ", path1); return;