Added file path normalization

Convert windows' backslash paths (from %APPDATA%) into forward slash paths.
This commit is contained in:
Sasha Koshka
2022-05-04 15:40:47 -04:00
parent 0fcf119df0
commit 068e74d759
2 changed files with 19 additions and 13 deletions

View File

@@ -87,7 +87,8 @@ int data_ensureDirectoryExists (const char *path) {
currentDirectory[index] = path[index];
currentDirectory[index + 1] = 0;
index ++;
if (currentDirectory[index - 1] == '/') {
char ch = currentDirectory[index - 1];
if (ch == '/' || ch == '\\') {
break;
}
}
@@ -123,6 +124,11 @@ int data_findDirectoryName (char *path, const char *subDirectory) {
if (homeDirectory == NULL) { return 3; }
snprintf(path, PATH_MAX, "%s%s", homeDirectory, subDirectory);
// Normalize path
for (char *ch = path; *ch; ch ++) {
if (*ch == '\\') { *ch = '/'; }
}
return 0;
}

View File

@@ -1,13 +1,13 @@
gcc src\data.c -mwindows -Iwin\SDL2\include -c -o win\o\data.o
gcc src\gameloop.c -mwindows -Iwin\SDL2\include -c -o win\o\gameloop.o
gcc src\gui.c -mwindows -Iwin\SDL2\include -c -o win\o\gui.o
gcc src\inputbuffer.c -mwindows -Iwin\SDL2\include -c -o win\o\inputbuffer.o
gcc src\main.c -mwindows -Iwin\SDL2\include -c -o win\o\main.o
gcc src\menus.c -mwindows -Iwin\SDL2\include -c -o win\o\menus.o
gcc src\minecraftfont.c -mwindows -Iwin\SDL2\include -c -o win\o\minecraftfont.o
gcc src\player.c -mwindows -Iwin\SDL2\include -c -o win\o\player.o
gcc src\terrain.c -mwindows -Iwin\SDL2\include -c -o win\o\terrain.o
gcc src\textures.c -mwindows -Iwin\SDL2\include -c -o win\o\textures.o
gcc src\utility.c -mwindows -Iwin\SDL2\include -c -o win\o\utility.o
gcc src\data.c -Iwin\SDL2\include -c -o win\o\data.o
gcc src\gameloop.c -Iwin\SDL2\include -c -o win\o\gameloop.o
gcc src\gui.c -Iwin\SDL2\include -c -o win\o\gui.o
gcc src\inputbuffer.c -Iwin\SDL2\include -c -o win\o\inputbuffer.o
gcc src\main.c -Iwin\SDL2\include -c -o win\o\main.o
gcc src\menus.c -Iwin\SDL2\include -c -o win\o\menus.o
gcc src\minecraftfont.c -Iwin\SDL2\include -c -o win\o\minecraftfont.o
gcc src\player.c -Iwin\SDL2\include -c -o win\o\player.o
gcc src\terrain.c -Iwin\SDL2\include -c -o win\o\terrain.o
gcc src\textures.c -Iwin\SDL2\include -c -o win\o\textures.o
gcc src\utility.c -Iwin\SDL2\include -c -o win\o\utility.o
gcc win\o\* -mwindows -Lwin\SDL2\lib -Wall -lmingw32 -lSDL2main -lSDL2 -o win\bin\m4kc.exe
gcc win\o\* -Lwin\SDL2\lib -Wall -lmingw32 -lSDL2main -lSDL2 -o win\bin\m4kc.exe