]> git.lizzy.rs Git - minetest.git/blobdiff - src/filesys.cpp
Fix client profiler print interval
[minetest.git] / src / filesys.cpp
index 2fd90c237c4e5e44e4a6f08ac9ec281ccd6daa02..99a0a6ef882b710a43b9f6cf1215fd8706e6810b 100644 (file)
@@ -28,7 +28,7 @@ namespace fs
 #ifdef _WIN32 // WINDOWS
 
 #define _WIN32_WINNT 0x0501
-#include <Windows.h>
+#include <windows.h>
 #include <stdio.h>
 #include <malloc.h>
 #include <tchar.h> 
@@ -157,7 +157,11 @@ bool RecursiveDelete(std::string path)
        
        int r = SHFileOperation(&sfo);
 
-       return (r == 0);
+       if(r != 0)
+               std::cerr<<"SHFileOperation returned "<<r<<std::endl;
+
+       //return (r == 0);
+       return true;
 }
 
 #else // POSIX
@@ -250,7 +254,7 @@ bool RecursiveDelete(std::string path)
                execv(argv[0], argv);
                
                // Execv shouldn't return. Failed.
-               return false;
+               _exit(1);
        }
        else
        {
@@ -275,7 +279,7 @@ bool RecursiveDeleteContent(std::string path)
        {
                if(trim(list[i].name) == "." || trim(list[i].name) == "..")
                        continue;
-               std::string childpath = path + "/" + list[i].name;
+               std::string childpath = path + DIR_DELIM + list[i].name;
                bool r = RecursiveDelete(childpath);
                if(r == false)
                {
@@ -286,5 +290,24 @@ bool RecursiveDeleteContent(std::string path)
        return true;
 }
 
+bool CreateAllDirs(std::string path)
+{
+
+       size_t pos;
+       std::vector<std::string> tocreate;
+       std::string basepath = path;
+       while(!PathExists(basepath))
+       {
+               tocreate.push_back(basepath);
+               pos = basepath.rfind(DIR_DELIM_C);
+               if(pos == std::string::npos)
+                       return false;
+               basepath = basepath.substr(0,pos);
+       }
+       for(int i=tocreate.size()-1;i>=0;i--)
+               CreateDir(tocreate[i]);
+       return true;
+}
+
 } // namespace fs