aboutsummaryrefslogtreecommitdiff
path: root/common/file.cpp
diff options
context:
space:
mode:
authorMax Horn2006-05-01 21:06:34 +0000
committerMax Horn2006-05-01 21:06:34 +0000
commit7e3df42510a2da4de6bc41a3d41ea1f8ddbcd54f (patch)
treed4c017bb8a1ef2a446bd4a38b5fb65beee8b5ea2 /common/file.cpp
parentcab89a6f322f5ff9f306f5d0790c836cde5bb989 (diff)
downloadscummvm-rg350-7e3df42510a2da4de6bc41a3d41ea1f8ddbcd54f.tar.gz
scummvm-rg350-7e3df42510a2da4de6bc41a3d41ea1f8ddbcd54f.tar.bz2
scummvm-rg350-7e3df42510a2da4de6bc41a3d41ea1f8ddbcd54f.zip
Add a variant of File::addDefaultDirectory(Recursive) which takes a FilesystemNode instead of a string object
svn-id: r22265
Diffstat (limited to 'common/file.cpp')
-rw-r--r--common/file.cpp24
1 files changed, 17 insertions, 7 deletions
diff --git a/common/file.cpp b/common/file.cpp
index 0fa6993148..c4baebcd37 100644
--- a/common/file.cpp
+++ b/common/file.cpp
@@ -107,13 +107,29 @@ static FILE *fopenNoCase(const String &filename, const String &directory, const
}
void File::addDefaultDirectory(const String &directory) {
- addDefaultDirectoryRecursive(directory, 1);
+ FilesystemNode dir(directory);
+ addDefaultDirectoryRecursive(dir, 1);
}
void File::addDefaultDirectoryRecursive(const String &directory, int level) {
+ FilesystemNode dir(directory);
+ addDefaultDirectoryRecursive(dir, level);
+}
+
+void File::addDefaultDirectory(const FilesystemNode &directory) {
+ addDefaultDirectoryRecursive(directory, 1);
+}
+
+void File::addDefaultDirectoryRecursive(const FilesystemNode &dir, int level) {
if (level <= 0)
return;
+ // Abort if this isn't a directory!
+ if (!dir.isDirectory())
+ return;
+
+ const String &directory(dir.path());
+
if (!_defaultDirectories)
_defaultDirectories = new StringIntMap;
@@ -122,12 +138,6 @@ void File::addDefaultDirectoryRecursive(const String &directory, int level) {
if (_defaultDirectories->contains(directory) && (*_defaultDirectories)[directory] >= level)
return;
- FilesystemNode dir(directory.c_str());
-
- // ... and abort if this isn't a directory!
- if (!dir.isDirectory())
- return;
-
(*_defaultDirectories)[directory] = level;
if (!_filesMap)