diff --git a/src/filesystem/unix/SDL_sysfilesystem.c b/src/filesystem/unix/SDL_sysfilesystem.c index d8eb6e598..d3a3a0676 100644 --- a/src/filesystem/unix/SDL_sysfilesystem.c +++ b/src/filesystem/unix/SDL_sysfilesystem.c @@ -173,7 +173,15 @@ SDL_GetPrefPath(const char *org, const char *app) SDL_SetError("neither XDG_DATA_HOME nor HOME environment is set"); return NULL; } - append = ".local/share/"; + if (envr[SDL_strlen(envr) - 1] == '/') { + append = ".local/share/"; + } else { + append = "/.local/share/"; + } + } else { + if (envr[SDL_strlen(envr) - 1] == '/') { + append = ""; + } } /* if */ len = SDL_strlen(envr) + SDL_strlen(append) + SDL_strlen(app) + 2;