Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Christoph Mallon: Simplify avoidance of duplicate / in SDL_GetPrefPath()
- Loading branch information
Showing
with
8 additions
and
10 deletions.
-
+8
−10
src/filesystem/unix/SDL_sysfilesystem.c
|
@@ -156,7 +156,7 @@ SDL_GetPrefPath(const char *org, const char *app) |
|
|
* http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html |
|
|
*/ |
|
|
const char *envr = SDL_getenv("XDG_DATA_HOME"); |
|
|
const char *append = "/"; |
|
|
const char *append; |
|
|
char *retval = NULL; |
|
|
char *ptr = NULL; |
|
|
size_t len = 0; |
|
@@ -169,18 +169,16 @@ SDL_GetPrefPath(const char *org, const char *app) |
|
|
SDL_SetError("neither XDG_DATA_HOME nor HOME environment is set"); |
|
|
return NULL; |
|
|
} |
|
|
if (envr[SDL_strlen(envr) - 1] == '/') { |
|
|
append = ".local/share/"; |
|
|
} else { |
|
|
append = "/.local/share/"; |
|
|
} |
|
|
append = "/.local/share/"; |
|
|
} else { |
|
|
if (envr[SDL_strlen(envr) - 1] == '/') { |
|
|
append = ""; |
|
|
} |
|
|
append = "/"; |
|
|
} /* if */ |
|
|
|
|
|
len = SDL_strlen(envr) + SDL_strlen(append) + SDL_strlen(app) + 2; |
|
|
len = SDL_strlen(envr); |
|
|
if (envr[len - 1] == '/') |
|
|
append += 1; |
|
|
|
|
|
len += SDL_strlen(append) + SDL_strlen(app) + 2; |
|
|
retval = (char *) SDL_malloc(len); |
|
|
if (!retval) { |
|
|
SDL_OutOfMemory(); |
|
|