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