From: Joel Rosdahl Date: Wed, 12 Jul 2023 18:42:42 +0000 (+0200) Subject: refactor: Use std::filesystem::temp_directory_path X-Git-Tag: v4.9~132 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=561382e05c9aa1e32791c77aca81871572696396;p=thirdparty%2Fccache.git refactor: Use std::filesystem::temp_directory_path --- diff --git a/src/MiniTrace.cpp b/src/MiniTrace.cpp index cbda28ad4..512628bb0 100644 --- a/src/MiniTrace.cpp +++ b/src/MiniTrace.cpp @@ -27,39 +27,24 @@ #include #include -#include // NOLINT: PATH_MAX is defined in limits.h - #ifdef HAVE_UNISTD_H # include #endif -namespace { - -std::string -get_system_tmp_dir() -{ -#ifndef _WIN32 - const char* tmpdir = getenv("TMPDIR"); - if (tmpdir) { - return tmpdir; - } -#else - static char dirbuf[PATH_MAX]; - DWORD retval = GetTempPath(PATH_MAX, dirbuf); - if (retval > 0 && retval < PATH_MAX) { - return dirbuf; - } -#endif - return "/tmp"; -} +#include -} // namespace +namespace fs = std::filesystem; MiniTrace::MiniTrace(const ArgsInfo& args_info) : m_args_info(args_info), m_trace_id(reinterpret_cast(getpid())) { - TemporaryFile tmp_file(get_system_tmp_dir() + "/ccache-trace"); + std::error_code ec; + auto tmp_dir = fs::temp_directory_path(); + if (ec) { + tmp_dir = "/tmp"; + } + TemporaryFile tmp_file((tmp_dir / "ccache-trace").string()); m_tmp_trace_file = tmp_file.path; mtr_init(m_tmp_trace_file.c_str());