| 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; |
| } |
| } |
| } |