Respect XDG_DATA_HOME

This commit is contained in:
soft as HELL 2019-04-15 19:25:54 +03:00
parent 1f27bfd8a3
commit 1c19f418c6
No known key found for this signature in database
GPG Key ID: F12286FEB8B8C504
1 changed files with 11 additions and 3 deletions

View File

@ -408,9 +408,17 @@ std::string Local_Storage::get_user_appdata_path()
}
#else
char *homedir = getenv("HOME");
if (homedir) {
user_appdata_path = homedir;
/* $XDG_DATA_HOME defines the base directory relative to which user specific data files should be stored.
If $XDG_DATA_HOME is either not set or empty, a default equal to $HOME/.local/share should be used. */
char *datadir = getenv("XDG_DATA_HOME");
if (datadir) {
user_appdata_path = datadir;
} else {
char *homedir = getenv("HOME");
if (homedir) {
user_appdata_path = homedir;
user_appdata_path.append(PATH_SEPARATOR).append(".local").append(PATH_SEPARATOR).append("share");
}
}
#endif
return user_appdata_path.append(PATH_SEPARATOR).append(PROGRAM_NAME).append(" Saves");