summaryrefslogtreecommitdiff
path: root/src/utils
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2013-02-21 00:54:47 +0300
committerAndrei Karas <akaras@inbox.ru>2013-02-21 01:19:46 +0300
commitde51abd18f3cd9cd486837da69264b841d6cfff6 (patch)
tree0e3bd3244046c7ea88ad726e6219d7dd033e7bbc /src/utils
parentad465929229a928d418c68b7786c18f95f170eba (diff)
downloadmanaplus-de51abd18f3cd9cd486837da69264b841d6cfff6.tar.gz
manaplus-de51abd18f3cd9cd486837da69264b841d6cfff6.tar.bz2
manaplus-de51abd18f3cd9cd486837da69264b841d6cfff6.tar.xz
manaplus-de51abd18f3cd9cd486837da69264b841d6cfff6.zip
Improve physfs calls to get dir separator.
Diffstat (limited to 'src/utils')
-rw-r--r--src/utils/paths.cpp2
-rw-r--r--src/utils/physfstools.cpp11
-rw-r--r--src/utils/physfstools.h3
3 files changed, 14 insertions, 2 deletions
diff --git a/src/utils/paths.cpp b/src/utils/paths.cpp
index 271178c23..f97ccafcb 100644
--- a/src/utils/paths.cpp
+++ b/src/utils/paths.cpp
@@ -79,7 +79,7 @@ bool checkPath(std::string path)
std::string &fixDirSeparators(std::string &str)
{
- if (*PhysFs::getDirSeparator() == '/')
+ if (dirSeparator[0] == '/')
return str;
return replaceAll(str, "/", "\\");
diff --git a/src/utils/physfstools.cpp b/src/utils/physfstools.cpp
index 06df8fccf..1fcb8fb1b 100644
--- a/src/utils/physfstools.cpp
+++ b/src/utils/physfstools.cpp
@@ -20,11 +20,20 @@
#include "utils/physfstools.h"
+#include "logger.h"
+
+const char *dirSeparator = nullptr;
+
namespace PhysFs
{
+ void updateDirSeparator()
+ {
+ dirSeparator = PHYSFS_getDirSeparator();
+ }
+
const char *getDirSeparator()
{
- return PHYSFS_getDirSeparator();
+ return dirSeparator;
}
const char *getBaseDir()
diff --git a/src/utils/physfstools.h b/src/utils/physfstools.h
index f917a0841..7bfe6b14d 100644
--- a/src/utils/physfstools.h
+++ b/src/utils/physfstools.h
@@ -25,6 +25,7 @@
namespace PhysFs
{
+ void updateDirSeparator();
const char *getDirSeparator();
const char *getBaseDir();
const char *getUserDir();
@@ -42,4 +43,6 @@ namespace PhysFs
bool mkdir(const char *dirName);
}
+extern const char *dirSeparator;
+
#endif // UTILS_PHYSFS_H