diff options
author | Andrei Karas <akaras@inbox.ru> | 2017-03-02 02:55:29 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2017-03-02 02:55:29 +0300 |
commit | a70addadba0be1880bc55f13701034585aa19128 (patch) | |
tree | 5412e7844cc5a08532b82e4776b4bd3c9bff4818 /src/fs | |
parent | 38846eb9dda3b1656a0b36acb2945edf7b314fa0 (diff) | |
download | mv-a70addadba0be1880bc55f13701034585aa19128.tar.gz mv-a70addadba0be1880bc55f13701034585aa19128.tar.bz2 mv-a70addadba0be1880bc55f13701034585aa19128.tar.xz mv-a70addadba0be1880bc55f13701034585aa19128.zip |
Fix possible leaks on exit and asserts about adding non existing zips and directories.
Diffstat (limited to 'src/fs')
-rw-r--r-- | src/fs/physfs/virtfs.cpp | 11 | ||||
-rw-r--r-- | src/fs/virtfs.h | 3 | ||||
-rw-r--r-- | src/fs/virtfs/virtfs.cpp | 15 |
3 files changed, 29 insertions, 0 deletions
diff --git a/src/fs/physfs/virtfs.cpp b/src/fs/physfs/virtfs.cpp index d19d112a3..9608dfd28 100644 --- a/src/fs/physfs/virtfs.cpp +++ b/src/fs/physfs/virtfs.cpp @@ -110,11 +110,22 @@ namespace VirtFs return VirtFsPhys::addDirToSearchPath(newDir, append); } + bool addDirToSearchPathSilent(const std::string &restrict newDir, + const Append append) + { + return VirtFsPhys::addDirToSearchPath(newDir, append); + } + bool removeDirFromSearchPath(const std::string &restrict oldDir) { return VirtFsPhys::removeDirFromSearchPath(oldDir); } + bool removeDirFromSearchPathSilent(const std::string &restrict oldDir) + { + return VirtFsPhys::removeDirFromSearchPath(oldDir); + } + bool addZipToSearchPath(const std::string &restrict newDir, const Append append) { diff --git a/src/fs/virtfs.h b/src/fs/virtfs.h index 9a24ad8ba..f0876029d 100644 --- a/src/fs/virtfs.h +++ b/src/fs/virtfs.h @@ -48,7 +48,10 @@ namespace VirtFs bool setWriteDir(const std::string &restrict newDir); bool addDirToSearchPath(const std::string &restrict newDir, const Append append); + bool addDirToSearchPathSilent(const std::string &restrict newDir, + const Append append); bool removeDirFromSearchPath(const std::string &restrict oldDir); + bool removeDirFromSearchPathSilent(const std::string &restrict oldDir); bool addZipToSearchPath(const std::string &restrict newDir, const Append append); bool removeZipFromSearchPath(const std::string &restrict oldDir); diff --git a/src/fs/virtfs/virtfs.cpp b/src/fs/virtfs/virtfs.cpp index efa50922a..1069b8f7e 100644 --- a/src/fs/virtfs/virtfs.cpp +++ b/src/fs/virtfs/virtfs.cpp @@ -42,6 +42,7 @@ namespace VirtFs void init(const std::string &restrict name) { VirtFsDir::init(name); + VirtFsZip::init(); updateDirSeparator(); } @@ -155,6 +156,14 @@ namespace VirtFs #endif // UNITTESTS } + bool addDirToSearchPathSilent(const std::string &restrict newDir, + const Append append) + { + return VirtFsDir::addToSearchPathSilent(newDir, + append, + SkipError_false); + } + bool removeDirFromSearchPath(const std::string &restrict oldDir) { #ifdef UNITTESTS @@ -164,6 +173,11 @@ namespace VirtFs #endif // UNITTESTS } + bool removeDirFromSearchPathSilent(const std::string &restrict oldDir) + { + return VirtFsDir::removeFromSearchPathSilent(oldDir); + } + bool addZipToSearchPath(const std::string &restrict newDir, const Append append) { @@ -211,6 +225,7 @@ namespace VirtFs bool deinit() { VirtFsDir::deinit(); + VirtFsZip::deinit(); return true; } |