From: Joel Rosdahl Date: Tue, 15 Sep 2020 18:09:17 +0000 (+0200) Subject: Remove unnecessary suffix parameter from Util::get_path_in_cache X-Git-Tag: v4.0~94 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9b00f68ea33f99161d7728c1bd68a581abacced8;p=thirdparty%2Fccache.git Remove unnecessary suffix parameter from Util::get_path_in_cache --- diff --git a/src/Context.cpp b/src/Context.cpp index 07ae4c244..22df98402 100644 --- a/src/Context.cpp +++ b/src/Context.cpp @@ -80,9 +80,8 @@ Context::set_path_and_stats_file(const Digest& name, std::string& path_var, std::string& stats_file_var) const { - std::string name_string = name.to_string(); - path_var = - Util::get_path_in_cache(config.cache_dir(), 2, name_string, suffix); + const std::string name_string = name.to_string() + std::string(suffix); + path_var = Util::get_path_in_cache(config.cache_dir(), 2, name_string); stats_file_var = fmt::format("{}/{}/stats", config.cache_dir(), name_string[0]); } diff --git a/src/Util.cpp b/src/Util.cpp index 330205a69..d233480a5 100644 --- a/src/Util.cpp +++ b/src/Util.cpp @@ -739,17 +739,13 @@ get_relative_path(string_view dir, string_view path) } std::string -get_path_in_cache(string_view cache_dir, - uint8_t level, - string_view name, - string_view suffix) +get_path_in_cache(string_view cache_dir, uint8_t level, string_view name) { assert(level >= 1 && level <= 8); assert(name.length() >= level); std::string path(cache_dir); - path.reserve(path.size() + level * 2 + 1 + name.length() - level - + suffix.length()); + path.reserve(path.size() + level * 2 + 1 + name.length() - level); for (uint8_t i = 0; i < level; ++i) { path.push_back('/'); @@ -759,7 +755,6 @@ get_path_in_cache(string_view cache_dir, path.push_back('/'); string_view name_remaining = name.substr(level); path.append(name_remaining.data(), name_remaining.length()); - path.append(suffix.data(), suffix.length()); return path; } diff --git a/src/Util.hpp b/src/Util.hpp index da8a8227c..f694f3f1a 100644 --- a/src/Util.hpp +++ b/src/Util.hpp @@ -214,13 +214,12 @@ const char* get_hostname(); std::string get_relative_path(nonstd::string_view dir, nonstd::string_view path); -// Join `cache_dir`, a '/', `name` and `suffix` into a single path and return -// it. Additionally, `level` single-character, '/'-separated subpaths are split -// from the beginning of `name` before joining them all. +// Join `cache_dir`, a '/' and `name` into a single path and return it. +// Additionally, `level` single-character, '/'-separated subpaths are split from +// the beginning of `name` before joining them all. std::string get_path_in_cache(nonstd::string_view cache_dir, uint8_t level, - nonstd::string_view name, - nonstd::string_view suffix); + nonstd::string_view name); // Write bytes in big endian order from an integer value. // diff --git a/unittest/test_Util.cpp b/unittest/test_Util.cpp index 154ab509e..fab56a444 100644 --- a/unittest/test_Util.cpp +++ b/unittest/test_Util.cpp @@ -410,9 +410,9 @@ TEST_CASE("Util::get_relative_path") TEST_CASE("Util::get_path_in_cache") { - CHECK(Util::get_path_in_cache("/zz/ccache", 1, "ABCDEF", ".suffix") + CHECK(Util::get_path_in_cache("/zz/ccache", 1, "ABCDEF.suffix") == "/zz/ccache/A/BCDEF.suffix"); - CHECK(Util::get_path_in_cache("/zz/ccache", 4, "ABCDEF", ".suffix") + CHECK(Util::get_path_in_cache("/zz/ccache", 4, "ABCDEF.suffix") == "/zz/ccache/A/B/C/D/EF.suffix"); }