Changeset - r25807:f7b79aca19d1
[Not reviewed]
master
0 2 0
Rubidium - 3 years ago 2021-07-10 20:32:35
rubidium@openttd.org
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.
2 files changed with 7 insertions and 7 deletions:
0 comments (0 inline, 0 general)
src/fileio.cpp
Show inline comments
 
@@ -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, boo
 
#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;
src/strings.cpp
Show inline comments
 
@@ -1850,18 +1850,18 @@ const char *GetCurrentLocale(const char 
 
{
 
	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);
0 comments (0 inline, 0 general)