Merge commit '7d7c5b803cecdb87673b824103e4c1c0b3e29fac' into main

main
Sam Lantinga 2022-07-05 21:41:17 -07:00
commit e09233cd2e
1 changed files with 28 additions and 1 deletions

View File

@ -47,6 +47,33 @@ SDL_GetBasePath(void)
return retval; return retval;
} }
/* Do a recursive mkdir of parents folders */
static void recursive_mkdir(const char *dir) {
char tmp[FILENAME_MAX];
char *base = SDL_GetBasePath();
char *p = NULL;
size_t len;
snprintf(tmp, sizeof(tmp),"%s",dir);
len = strlen(tmp);
if (tmp[len - 1] == '/')
tmp[len - 1] = 0;
for (p = tmp + 1; *p; p++) {
if (*p == '/') {
*p = 0;
// Just creating subfolders from current path
if (strstr(tmp, base) != NULL)
mkdir(tmp, S_IRWXU);
*p = '/';
}
}
free(base);
mkdir(tmp, S_IRWXU);
}
char * char *
SDL_GetPrefPath(const char *org, const char *app) SDL_GetPrefPath(const char *org, const char *app)
{ {
@ -71,7 +98,7 @@ SDL_GetPrefPath(const char *org, const char *app)
} }
free(base); free(base);
mkdir(retval, 0x0755); recursive_mkdir(retval);
return retval; return retval;
} }