diff engine/core/vfs/vfsdirectory.cpp @ 202:1d9154c535cf

fixed bug where the root directory path name was being added to the filename twice. It was initially added in the listFiles/listDirectories functions and then added again in the private function list. I modified the code so it is only added in the list function now.
author vtchill@33b003aa-7bff-0310-803a-e67f0ece8222
date Fri, 13 Mar 2009 03:05:14 +0000
parents 3d0cc4545938
children a3a044c586ab
line wrap: on
line diff
--- a/engine/core/vfs/vfsdirectory.cpp	Fri Mar 13 02:47:03 2009 +0000
+++ b/engine/core/vfs/vfsdirectory.cpp	Fri Mar 13 03:05:14 2009 +0000
@@ -66,7 +66,17 @@
 	}
 
 	std::set<std::string> VFSDirectory::listFiles(const std::string& path) const {
+		return list(path, false);
+	}
+
+	std::set<std::string> VFSDirectory::listDirectories(const std::string& path) const {
+		return list(path, true);
+	}
+
+	std::set<std::string> VFSDirectory::list(const std::string& path, bool directorys) const {
+		std::set<std::string> list;
 		std::string dir = m_root;
+
 		// Avoid double slashes
 		if(path[0] == '/' && m_root[m_root.size()-1] == '/') {
 			dir.append(path.substr(1));
@@ -75,25 +85,7 @@
 			dir.append(path);
 		}
 
-		return list(dir, false);
-	}
-
-	std::set<std::string> VFSDirectory::listDirectories(const std::string& path) const {
-		std::string dir = m_root;
-		// Avoid double slashes
-		if(path[0] == '/' && m_root[m_root.size()-1] == '/') {
-			dir.append(path.substr(1));
-		}
-		else {
-			dir.append(path);
-		}
-
-		return list(dir, true);
-	}
-
-	std::set<std::string> VFSDirectory::list(const std::string& path, bool directorys) const {
-		std::set<std::string> list;
-		bfs::path boost_path(m_root + path);
+		bfs::path boost_path(dir);
 		if (!bfs::exists(boost_path) || !bfs::is_directory(boost_path))
 			return list;