diff options
author | Mattes D <github@xoft.cz> | 2015-01-24 15:59:06 +0100 |
---|---|---|
committer | Mattes D <github@xoft.cz> | 2015-01-27 14:53:29 +0100 |
commit | f1f12495b2fe33e6ae424e1654a66e220162e926 (patch) | |
tree | f6213441ed9cc6f807158a0d2942f3eb4ca86ba8 /src/OSSupport | |
parent | StringUtils: Fixed bad predicate in MergeStringVectors(). (diff) | |
download | cuberite-f1f12495b2fe33e6ae424e1654a66e220162e926.tar cuberite-f1f12495b2fe33e6ae424e1654a66e220162e926.tar.gz cuberite-f1f12495b2fe33e6ae424e1654a66e220162e926.tar.bz2 cuberite-f1f12495b2fe33e6ae424e1654a66e220162e926.tar.lz cuberite-f1f12495b2fe33e6ae424e1654a66e220162e926.tar.xz cuberite-f1f12495b2fe33e6ae424e1654a66e220162e926.tar.zst cuberite-f1f12495b2fe33e6ae424e1654a66e220162e926.zip |
Diffstat (limited to 'src/OSSupport')
-rw-r--r-- | src/OSSupport/File.cpp | 23 | ||||
-rw-r--r-- | src/OSSupport/File.h | 3 |
2 files changed, 26 insertions, 0 deletions
diff --git a/src/OSSupport/File.cpp b/src/OSSupport/File.cpp index 8957dfaef..1ee9feafe 100644 --- a/src/OSSupport/File.cpp +++ b/src/OSSupport/File.cpp @@ -453,6 +453,29 @@ AString cFile::ReadWholeFile(const AString & a_FileName) +AString cFile::ReplaceFileNameInvalidChars(const AString & a_FileName, char a_Replacement) +{ + AString res(a_FileName); + for (auto & ch: res) + { + switch (ch) + { + case ':': + case '\\': + case '/': + { + ch = a_Replacement; + break; + } + } + } + return res; +} + + + + + int cFile::Printf(const char * a_Fmt, ...) { AString buf; diff --git a/src/OSSupport/File.h b/src/OSSupport/File.h index dfb38e839..b39f71e28 100644 --- a/src/OSSupport/File.h +++ b/src/OSSupport/File.h @@ -126,6 +126,9 @@ public: /** Returns the entire contents of the specified file as a string. Returns empty string on error. */ static AString ReadWholeFile(const AString & a_FileName); + + /** Replaces characters that cannot be in a file name with the specified char. */ + static AString ReplaceFileNameInvalidChars(const AString & a_FileName, char a_Replacement = '_'); // tolua_end |