foxygit / doom Log in
commit bbd66ef0bbd84ce70e5a272f12cb215c9bea9bfa
Author:     Noseey <omega_1986@hotmail.com>
AuthorDate: Mon Mar 24 22:49:41 2025 +0100
Commit:     Noseey <omega_1986@hotmail.com>
CommitDate: Mon Mar 24 22:49:41 2025 +0100

    Heretic: Move Savegamelimit check to SV_WriteSaveGameEOF.
---
 src/heretic/p_saveg.c | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/src/heretic/p_saveg.c b/src/heretic/p_saveg.c
index ad3bee19..59ba1161 100644
--- a/src/heretic/p_saveg.c
+++ b/src/heretic/p_saveg.c
@@ -82,6 +82,13 @@ void SV_OpenRead(char *filename)
 void SV_WriteSaveGameEOF(void)
 {
     SV_WriteByte(SAVE_GAME_TERMINATOR);
+
+    // Enforce the same savegame size limit as in Vanilla Heretic
+
+    if (vanilla_savegame_limit && ftell(SaveGameFP) > SAVEGAMESIZE)
+    {
+        I_Error("Savegame buffer overrun");
+    }
 }

 //==========================================================================
@@ -92,14 +99,10 @@ void SV_WriteSaveGameEOF(void)

 void SV_Close(void)
 {
-    // Enforce the same savegame size limit as in Vanilla Heretic
-
-    if (vanilla_savegame_limit && ftell(SaveGameFP) > SAVEGAMESIZE)
+    if (SaveGameFP)
     {
-        I_Error("Savegame buffer overrun");
+        fclose(SaveGameFP);
     }
-
-    fclose(SaveGameFP);
 }

 //==========================================================================