From ead0c5335a328fce111c987dc969d62af93418e8 Mon Sep 17 00:00:00 2001 From: Steve Date: Sat, 21 Apr 2018 10:10:58 +0100 Subject: [PATCH] Use MAX_PATH (4096) characters for save paths. --- src/defs.h | 1 + src/game/game.c | 10 +++++----- src/game/title.c | 4 ++-- src/plat/unix/unixInit.c | 2 +- src/plat/win32/win32Init.c | 2 +- src/system/draw.c | 2 +- src/system/init.c | 4 ++-- src/world/worldLoader.c | 2 +- src/world/worldSaver.c | 2 +- 9 files changed, 15 insertions(+), 14 deletions(-) diff --git a/src/defs.h b/src/defs.h index ae6dde6..ac98070 100644 --- a/src/defs.h +++ b/src/defs.h @@ -56,6 +56,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #define MAX_DESCRIPTION_LENGTH 512 #define MAX_LINE_LENGTH 1024 #define MAX_FILENAME_LENGTH 1024 +#define MAX_PATH_LENGTH 4096 #define NUM_TEXTURE_BUCKETS 32 #define NUM_ATLAS_BUCKETS 64 diff --git a/src/game/game.c b/src/game/game.c index 8a7c4a2..fe91828 100644 --- a/src/game/game.c +++ b/src/game/game.c @@ -275,7 +275,7 @@ static void loadMetaInfo(void) void loadGame(void) { cJSON *root, *node, *statsJSON; - char *text, filename[MAX_FILENAME_LENGTH], *statName; + char *text, filename[MAX_PATH_LENGTH], *statName; int i; Tuple *t; Trophy *trophy; @@ -344,7 +344,7 @@ void loadGame(void) void saveGame(void) { cJSON *root, *statsJSON, *keysJSON, *keyJSON, *missionsJSON, *missionJSON, *trophiesJSON, *trophyJSON; - char filename[MAX_FILENAME_LENGTH], *out; + char filename[MAX_PATH_LENGTH], *out; Tuple *t; Trophy *trophy; int i; @@ -416,7 +416,7 @@ void saveGame(void) void restoreGameState(void) { cJSON *root, *node, *statsJSON; - char *text, filename[MAX_FILENAME_LENGTH]; + char *text, filename[MAX_PATH_LENGTH]; int i; sprintf(filename, "%s/%d/game.json", app.saveDir, game.saveSlot); @@ -455,7 +455,7 @@ void restoreGameState(void) char *getSaveWidgetLabel(char *filename) { - static char label[MAX_NAME_LENGTH]; + static char label[MAX_PATH_LENGTH]; cJSON *root, *statsJSON; char *text, *statName; int i, gameDone, gameTotal, stats[STAT_MAX]; @@ -497,7 +497,7 @@ char *getSaveWidgetLabel(char *filename) void deleteSaveSlot(int slot) { int i, numFiles; - char path[MAX_FILENAME_LENGTH], **filenames; + char path[MAX_PATH_LENGTH], **filenames; sprintf(path, "%s/%d", app.saveDir, slot); diff --git a/src/game/title.c b/src/game/title.c index 2e4eeb1..8392eb2 100644 --- a/src/game/title.c +++ b/src/game/title.c @@ -162,7 +162,7 @@ static void draw(void) static int getRecentSave(void) { - char filename[MAX_FILENAME_LENGTH]; + char filename[MAX_PATH_LENGTH]; int i, slot, curModTime, modTime; slot = -1; @@ -190,7 +190,7 @@ static int getRecentSave(void) static void populateSaveSlotWidgets(void) { int i; - char name[MAX_NAME_LENGTH], filename[MAX_FILENAME_LENGTH]; + char name[MAX_NAME_LENGTH], filename[MAX_PATH_LENGTH]; for (i = 0 ; i < MAX_SAVE_SLOTS ; i++) { diff --git a/src/plat/unix/unixInit.c b/src/plat/unix/unixInit.c index a6118ec..4dbd40d 100644 --- a/src/plat/unix/unixInit.c +++ b/src/plat/unix/unixInit.c @@ -25,7 +25,7 @@ static void mkpath(const char *path); void createSaveFolder(void) { char *userHome; - char dir[MAX_FILENAME_LENGTH]; + char dir[MAX_PATH_LENGTH]; int i; userHome = getenv("HOME"); diff --git a/src/plat/win32/win32Init.c b/src/plat/win32/win32Init.c index 6a42913..3ad2693 100644 --- a/src/plat/win32/win32Init.c +++ b/src/plat/win32/win32Init.c @@ -25,7 +25,7 @@ static void mkpath(const char *path); void createSaveFolder(void) { char *userHome; - char dir[MAX_FILENAME_LENGTH]; + char dir[MAX_PATH_LENGTH]; int i; userHome = getenv("USERPROFILE"); diff --git a/src/system/draw.c b/src/system/draw.c index 85c0d92..6f1761a 100644 --- a/src/system/draw.c +++ b/src/system/draw.c @@ -261,7 +261,7 @@ static void initColor(SDL_Color *c, int r, int g, int b) void saveScreenshot(char *name) { - char filename[MAX_FILENAME_LENGTH]; + char filename[MAX_PATH_LENGTH]; SDL_Surface *screenshot; if (name != NULL) diff --git a/src/system/init.c b/src/system/init.c index cc31f0f..6d990c9 100644 --- a/src/system/init.c +++ b/src/system/init.c @@ -229,7 +229,7 @@ static void loadConfig(void) { int i; cJSON *root, *controlsJSON, *node; - char *text, filename[MAX_FILENAME_LENGTH]; + char *text, filename[MAX_PATH_LENGTH]; initDefaultConfig(); @@ -285,7 +285,7 @@ static void loadConfig(void) void saveConfig(void) { int i; - char *out, filename[MAX_FILENAME_LENGTH]; + char *out, filename[MAX_PATH_LENGTH]; cJSON *root, *controlsJSON, *keysJSON, *joypadJSON; sprintf(filename, "%s/%s", app.saveDir, CONFIG_FILENAME); diff --git a/src/world/worldLoader.c b/src/world/worldLoader.c index a1b2db7..6dadd1d 100644 --- a/src/world/worldLoader.c +++ b/src/world/worldLoader.c @@ -29,7 +29,7 @@ static void loadObjectives(cJSON *root); void loadWorld(char *id) { cJSON *root; - char *text, filename[MAX_FILENAME_LENGTH]; + char *text, filename[MAX_PATH_LENGTH]; memset(&world, 0, sizeof(World)); diff --git a/src/world/worldSaver.c b/src/world/worldSaver.c index d9fb827..3cd40e4 100644 --- a/src/world/worldSaver.c +++ b/src/world/worldSaver.c @@ -30,7 +30,7 @@ static int canPersistEntity(void); void saveWorld(void) { cJSON *root; - char filename[MAX_FILENAME_LENGTH], *out; + char filename[MAX_PATH_LENGTH], *out; sprintf(filename, "%s/%d/%s.json", app.saveDir, game.saveSlot, world.id);