From 1f1ae55a26221d2e059cf4c4f042ee065dedd835 Mon Sep 17 00:00:00 2001 From: "John \"Elwin\" Edwards" Date: Tue, 27 Aug 2013 22:25:40 -0700 Subject: [PATCH] Make sure file_name contains '/' between SAVEDIR and the file name. Duplicated slashes are not a problem. Missing slashes are. --- arogue5/main.c | 2 +- rogue3/main.c | 2 +- rogue4/main.c | 2 +- srogue/main.c | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/arogue5/main.c b/arogue5/main.c index 73e38d4..7f3f42f 100644 --- a/arogue5/main.c +++ b/arogue5/main.c @@ -64,7 +64,7 @@ char **envp; use_savedir = TRUE; strncpy(whoami, argv[2], LINELEN); whoami[LINELEN - 1] = '\0'; - if (snprintf(file_name, LINELEN, "%s%d-%.10s.ar5sav", SAVEDIR, + if (snprintf(file_name, LINELEN, "%s/%d-%.10s.ar5sav", SAVEDIR, md_getuid(), whoami) >= LINELEN) { /* The name is too long */ diff --git a/rogue3/main.c b/rogue3/main.c index 848b14e..739b527 100644 --- a/rogue3/main.c +++ b/rogue3/main.c @@ -71,7 +71,7 @@ char **envp; whoami[79] = '\0'; use_savedir = TRUE; /* look for savefile at SAVEDIR/UID-playername.r3sav */ - if (snprintf(file_name, 80, "%s%d-%.10s.r3sav", SAVEDIR, md_getuid(), whoami) >= 80) + if (snprintf(file_name, 80, "%s/%d-%.10s.r3sav", SAVEDIR, md_getuid(), whoami) >= 80) { /* this shouldn't happen */ strcpy(file_name, "rogue3.save"); diff --git a/rogue4/main.c b/rogue4/main.c index 97025f0..e0e904c 100644 --- a/rogue4/main.c +++ b/rogue4/main.c @@ -78,7 +78,7 @@ char **envp; whoami[MAXSTR - 1] = '\0'; /* insurance */ use_savedir = TRUE; /* look for savefile at SAVEDIR/UID-playername.r4sav */ - if (snprintf(file_name, MAXSTR, "%s%d-%.10s.r4sav", SAVEDIR, + if (snprintf(file_name, MAXSTR, "%s/%d-%.10s.r4sav", SAVEDIR, md_getuid(), whoami) >= MAXSTR) { /* Name is too long- this shouldn't happen */ diff --git a/srogue/main.c b/srogue/main.c index 2ff96a5..b8664ad 100644 --- a/srogue/main.c +++ b/srogue/main.c @@ -120,7 +120,7 @@ char **envp; strncpy(whoami, argv[2], LINLEN); whoami[LINLEN - 1] = '\0'; use_savedir = TRUE; - if (snprintf(file_name, LINLEN, "%s%d-%.10s.srsav", SAVEDIR, + if (snprintf(file_name, LINLEN, "%s/%d-%.10s.srsav", SAVEDIR, playuid, whoami) >= LINLEN) { /* Just in case it doesn't fit */ strcpy(file_name, "srogue.save");