Index: src/DefaultFileSystem.cpp |
=================================================================== |
--- a/src/DefaultFileSystem.cpp |
+++ b/src/DefaultFileSystem.cpp |
@@ -66,17 +66,17 @@ |
return path; |
} |
#endif |
} |
DefaultFileSystemSync::DefaultFileSystemSync(const std::string& path) |
: basePath(path) |
{ |
- if (!basePath.empty() && *basePath.rbegin() == PATH_SEPARATOR) |
+ if (basePath.size() > 1 && *basePath.rbegin() == PATH_SEPARATOR) |
{ |
basePath.resize(basePath.size() - 1); |
} |
} |
IFileSystem::IOBuffer |
DefaultFileSystemSync::Read(const std::string& path) const |
{ |
@@ -178,17 +178,20 @@ |
else |
{ |
#ifdef _WIN32 |
if (PathIsRelative(NormalizePath(path).c_str())) |
#else |
if (path.length() && *path.begin() != PATH_SEPARATOR) |
#endif |
{ |
- return basePath + PATH_SEPARATOR + path; |
+ if (*basePath.rbegin() != PATH_SEPARATOR) |
+ return basePath + PATH_SEPARATOR + path; |
+ else |
+ return basePath + path; |
} |
else |
{ |
return path; |
} |
} |
} |