Actualitzat createSystemFolder a la nova ruta de Linux

This commit is contained in:
2025-02-17 18:20:35 +01:00
parent 78f858831f
commit 424c243ffc
2 changed files with 20 additions and 12 deletions

View File

@@ -435,7 +435,7 @@ void Director::checkProgramArguments(int argc, char *argv[])
}
// Crea la carpeta del sistema donde guardar datos
void Director::createSystemFolder(std::string folder)
void Director::createSystemFolder(const std::string &folder)
{
#ifdef _WIN32
systemFolder = std::string(getenv("APPDATA")) + "/" + folder;
@@ -446,7 +446,18 @@ void Director::createSystemFolder(std::string folder)
#elif __linux__
struct passwd *pw = getpwuid(getuid());
const char *homedir = pw->pw_dir;
systemFolder = std::string(homedir) + "/." + folder;
systemFolder = std::string(homedir) + "/.config/" + folder;
{
// Intenta crear ".config", per si no existeix
std::string config_base_folder = std::string(homedir) + "/.config";
int ret = mkdir(config_base_folder.c_str(), S_IRWXU);
if (ret == -1 && errno != EEXIST)
{
printf("ERROR CREATING CONFIG BASE FOLDER.");
exit(EXIT_FAILURE);
}
}
#endif
struct stat st = {0};

View File

@@ -81,10 +81,7 @@ private:
void checkProgramArguments(int argc, char *argv[]);
// Crea la carpeta del sistema donde guardar datos
void createSystemFolder(std::string folder);
// Establece el valor de la variable
void setSection(section_t section);
void createSystemFolder(const std::string &folder);
// Ejecuta la seccion de juego con el logo
void runLogo();