Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
path: root/src/sys
diff options
context:
space:
mode:
Diffstat (limited to 'src/sys')
-rw-r--r--src/sys/sys.cc11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/sys/sys.cc b/src/sys/sys.cc
index 3aec456..db2be4d 100644
--- a/src/sys/sys.cc
+++ b/src/sys/sys.cc
@@ -10,6 +10,7 @@
#include <windows.h>
#include <sys/types.h>
#include <sys/stat.h>
+#include <direct.h>
#else
@@ -22,6 +23,7 @@
#endif
+#include <stdio.h>
#include <stdlib.h>
#include <string>
@@ -62,12 +64,15 @@ bool isdirectory(std::string const &path)
void mkdir(std::string const &path)
{
#ifdef _WIN32
-/*
std::string p(path);
for (size_t i = 0; i < p.size(); i++)
if (p[i] == '/') p[i] = '\\';
- mkdir(p.c_str());
-*/
+ if (p.size() && (p[p.size()-1] == '\\'))
+ p.erase(p.size() -1, 1);
+
+ if (_mkdir(p.c_str()) != 0) {
+ con_warn << "Could not create directory '" << p << "'" << std::endl;
+ }
#else
::mkdir(path.c_str(), 0777);