mirror of https://github.com/stella-emu/stella.git
Eliminated BSPF::getenv(), as only the UNIX version is used.
I spent a lot of time trying to eliminate warnings in the Windows version of this function, only to realize it's only ever used in POSIX-specific code!
This commit is contained in:
parent
071e8f7eb1
commit
3b9184ec5f
|
@ -39,8 +39,8 @@ FilesystemNodeZIP::FilesystemNodeZIP(const string& p)
|
|||
if (_zipFile[0] == '~')
|
||||
{
|
||||
#if defined(BSPF_UNIX) || defined(BSPF_MACOS)
|
||||
const string& home = BSPF::getenv("HOME");
|
||||
if (home != EmptyString)
|
||||
const char* home = std::getenv("HOME");
|
||||
if (home != nullptr)
|
||||
_zipFile.replace(0, 1, home);
|
||||
#elif defined(BSPF_WINDOWS)
|
||||
_zipFile.replace(0, 1, myHomeFinder.getHomePath());
|
||||
|
|
|
@ -355,30 +355,6 @@ namespace BSPF
|
|||
return tm_snapshot;
|
||||
}
|
||||
|
||||
// Coverity complains if 'getenv' is used unrestricted
|
||||
inline string getenv(const string& env_var)
|
||||
{
|
||||
#if (defined BSPF_WINDOWS || defined __WIN32__) && !defined __GNUG__
|
||||
char* buf = nullptr;
|
||||
size_t sz = 0;
|
||||
if(_dupenv_s(&buf, &sz, env_var.c_str()) == 0 && buf != nullptr)
|
||||
{
|
||||
string val(buf);
|
||||
free(buf);
|
||||
return val;
|
||||
}
|
||||
return EmptyString;
|
||||
#else
|
||||
try {
|
||||
const char* val = std::getenv(env_var.c_str());
|
||||
return val ? string(val) : EmptyString;
|
||||
}
|
||||
catch(...) {
|
||||
return EmptyString;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
inline bool isWhiteSpace(const char s)
|
||||
{
|
||||
const string WHITESPACES = " ,.;:+-*&/\\'";
|
||||
|
|
|
@ -37,8 +37,8 @@ FilesystemNodePOSIX::FilesystemNodePOSIX(const string& path, bool verify)
|
|||
// Expand '~' to the HOME environment variable
|
||||
if(_path[0] == '~')
|
||||
{
|
||||
const string& home = BSPF::getenv("HOME");
|
||||
if(home != EmptyString)
|
||||
const char* home = std::getenv("HOME");
|
||||
if (home != nullptr)
|
||||
_path.replace(0, 1, home);
|
||||
}
|
||||
// Get absolute path (only used for relative directories)
|
||||
|
@ -78,7 +78,9 @@ void FilesystemNodePOSIX::setFlags()
|
|||
string FilesystemNodePOSIX::getShortPath() const
|
||||
{
|
||||
// If the path starts with the home directory, replace it with '~'
|
||||
const string& home = BSPF::getenv("HOME");
|
||||
const char* env_home = std::getenv("HOME");
|
||||
const string& home = env_home != nullptr ? env_home : EmptyString;
|
||||
|
||||
if(home != EmptyString && BSPF::startsWithIgnoreCase(_path, home))
|
||||
{
|
||||
string path = "~";
|
||||
|
|
|
@ -26,8 +26,8 @@ void OSystemUNIX::getBaseDirectories(string& basedir, string& homedir,
|
|||
bool useappdir, const string& usedir)
|
||||
{
|
||||
// Use XDG_CONFIG_HOME if defined, otherwise use the default
|
||||
string configDir = BSPF::getenv("XDG_CONFIG_HOME");
|
||||
if(configDir == EmptyString) configDir = "~/.config";
|
||||
const char* cfg_home = std::getenv("XDG_CONFIG_HOME");
|
||||
const string& configDir = cfg_home != nullptr ? cfg_home : "~/.config";
|
||||
basedir = configDir + "/stella";
|
||||
homedir = "~/";
|
||||
|
||||
|
|
Loading…
Reference in New Issue