diff options
| author | Max Horn | 2006-05-01 21:06:34 +0000 | 
|---|---|---|
| committer | Max Horn | 2006-05-01 21:06:34 +0000 | 
| commit | 7e3df42510a2da4de6bc41a3d41ea1f8ddbcd54f (patch) | |
| tree | d4c017bb8a1ef2a446bd4a38b5fb65beee8b5ea2 | |
| parent | cab89a6f322f5ff9f306f5d0790c836cde5bb989 (diff) | |
| download | scummvm-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
| -rw-r--r-- | common/file.cpp | 24 | ||||
| -rw-r--r-- | common/file.h | 5 | 
2 files changed, 22 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) diff --git a/common/file.h b/common/file.h index 76bee32024..fd90437ef2 100644 --- a/common/file.h +++ b/common/file.h @@ -54,7 +54,12 @@ public:  	static void addDefaultDirectory(const String &directory);  	static void addDefaultDirectoryRecursive(const String &directory, int level = 4); + +	static void addDefaultDirectory(const FilesystemNode &directory); +	static void addDefaultDirectoryRecursive(const FilesystemNode &directory, int level = 4); +  	static void resetDefaultDirectories(); +	  	File();  	virtual ~File(); | 
