From 3e4d3274517d6a5f3fede18e0e29eafcdc30d0c8 Mon Sep 17 00:00:00 2001 From: Rubidium Date: Sat, 10 Jul 2021 22:32:35 +0200 Subject: Codechange: use the C++ std::getenv over the POSIX/C getenv The C++ std::getenv is guaranteed thread-safe by the C++11 specification, whereas the POSIX/C getenv might not be thread-safe by the C11 specification. --- src/fileio.cpp | 6 +++--- src/strings.cpp | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/fileio.cpp b/src/fileio.cpp index c000362ef..23562cf6a 100644 --- a/src/fileio.cpp +++ b/src/fileio.cpp @@ -822,7 +822,7 @@ static std::string GetHomeDir() find_directory(B_USER_SETTINGS_DIRECTORY, &path); return std::string(path.Path()); #else - const char *home_env = getenv("HOME"); // Stack var, shouldn't be freed + const char *home_env = std::getenv("HOME"); // Stack var, shouldn't be freed if (home_env != nullptr) return std::string(home_env); const struct passwd *pw = getpwuid(getuid()); @@ -840,7 +840,7 @@ void DetermineBasePaths(const char *exe) std::string tmp; const std::string homedir = GetHomeDir(); #ifdef USE_XDG - const char *xdg_data_home = getenv("XDG_DATA_HOME"); + const char *xdg_data_home = std::getenv("XDG_DATA_HOME"); if (xdg_data_home != nullptr) { tmp = xdg_data_home; tmp += PATHSEP; @@ -971,7 +971,7 @@ void DeterminePaths(const char *exe, bool only_local_path) #ifdef USE_XDG std::string config_home; const std::string homedir = GetHomeDir(); - const char *xdg_config_home = getenv("XDG_CONFIG_HOME"); + const char *xdg_config_home = std::getenv("XDG_CONFIG_HOME"); if (xdg_config_home != nullptr) { config_home = xdg_config_home; config_home += PATHSEP; diff --git a/src/strings.cpp b/src/strings.cpp index 423e2ebf0..7ff1cee31 100644 --- a/src/strings.cpp +++ b/src/strings.cpp @@ -1850,18 +1850,18 @@ const char *GetCurrentLocale(const char *param) { const char *env; - env = getenv("LANGUAGE"); + env = std::getenv("LANGUAGE"); if (env != nullptr) return env; - env = getenv("LC_ALL"); + env = std::getenv("LC_ALL"); if (env != nullptr) return env; if (param != nullptr) { - env = getenv(param); + env = std::getenv(param); if (env != nullptr) return env; } - return getenv("LANG"); + return std::getenv("LANG"); } #else const char *GetCurrentLocale(const char *param); -- cgit v1.2.3-54-g00ecf