Merge pull request #905 from raven02/patch-2

Revert VFS and fmt::merge
This commit is contained in:
B1ackDaemon 2014-12-17 21:52:26 +02:00
commit 83208d8b89
2 changed files with 16 additions and 10 deletions

View File

@ -137,17 +137,14 @@ std::vector<std::string> fmt::split(const std::string& source, std::initializer_
std::string fmt::merge(std::vector<std::string> source, const std::string& separator)
{
if (!source.size())
return "";
std::string result;
for (int i = 0; i < source.size() - 1; ++i)
for (auto &s : source)
{
result += source[i] + separator;
result += s + separator;
}
return result + source[source.size() - 1];
return result;
}
std::string fmt::merge(std::initializer_list<std::vector<std::string>> sources, const std::string& separator)
@ -167,4 +164,4 @@ std::string fmt::tolower(std::string source)
std::transform(source.begin(), source.end(), source.begin(), ::tolower);
return source;
}
}

View File

@ -32,12 +32,21 @@ std::string simplify_path(const std::string& path, bool is_dir)
{
std::vector<std::string> path_blocks = simplify_path_blocks(path);
std::string result;
if (path_blocks.empty())
return "";
return result;
std::string result = fmt::merge(path_blocks, "/");
if (is_dir)
{
result = fmt::merge(path_blocks, "/");
}
else
{
result = fmt::merge(std::vector<std::string>(path_blocks.begin(), path_blocks.end() - 1), "/") + path_blocks[path_blocks.size() - 1];
}
return is_dir ? result + "/" : result;
return result;
}
VFS::~VFS()