]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Be more consistent about the trailing slash
authorVsevolod Stakhov <vsevolod@rspamd.com>
Mon, 27 Feb 2023 22:02:43 +0000 (22:02 +0000)
committerVsevolod Stakhov <vsevolod@rspamd.com>
Mon, 27 Feb 2023 22:02:43 +0000 (22:02 +0000)
src/libutil/cxx/file_util.cxx
src/libutil/cxx/file_util.hxx

index e5286a2cdee0cee7b714872aa26b8f86fdb3c58e..31768337057f6a83abdaef2be3cf1eb672418aaf 100644 (file)
@@ -368,12 +368,22 @@ TEST_CASE("check lock") {
        CHECK(serrno == ENOENT);
 }
 
-auto get_tmpdir() -> const char * {
+auto get_tmpdir() -> std::string {
        const auto *tmpdir = getenv("TMPDIR");
        if (tmpdir == nullptr) {
                tmpdir = G_DIR_SEPARATOR_S "tmp";
        }
-       return tmpdir;
+
+       std::size_t sz;
+       std::string mut_fname = tmpdir;
+       rspamd_normalize_path_inplace(mut_fname.data(), mut_fname.size(), &sz);
+       mut_fname.resize(sz);
+
+       if (!mut_fname.ends_with(G_DIR_SEPARATOR)) {
+               mut_fname += G_DIR_SEPARATOR;
+       }
+
+       return mut_fname;
 }
 
 TEST_CASE("tempfile") {
index 06073dbab824fa1baa943ce7aab4251598d1a16d..e712fcb15f07883f04f8d2354c9d25d482c98219 100644 (file)
@@ -64,7 +64,7 @@ public:
                        sep_pos --;
                }
 
-               return std::string_view{fname.c_str(), sep_pos};
+               return std::string_view{fname.c_str(), sep_pos + 1};
        }
 
        auto get_extension() const -> std::string_view {