From 26fb22669c47b1191264d840ad240f2b901327d5 Mon Sep 17 00:00:00 2001
From: Christian Heller <c.heller@plomlompom.de>
Date: Wed, 21 Aug 2013 19:22:39 +0200
Subject: [PATCH] Re-factoring of save_game() for greater readability.

---
 src/misc.c | 28 ++++++++++++++++------------
 1 file changed, 16 insertions(+), 12 deletions(-)

diff --git a/src/misc.c b/src/misc.c
index 9c555c9..711e049 100644
--- a/src/misc.c
+++ b/src/misc.c
@@ -136,10 +136,19 @@ extern void turn_over(struct World * world, char action)
 extern void save_game(struct World * world)
 {
     char * savefile_tmp = "savefile_tmp";
-    char * savefile = "savefile";
+    char * savefile     = "savefile";
+    char * err_open  = "Error saving game: "
+                       "Unable to open 'savefile_new' for writing.";
+    char * err_write = "Error saving game: "
+                       "Trouble writing to opened 'savefile_new'.";
+    char * err_close = "Error saving game: "
+                       "Unable to close opened 'savefile_new'.";
+    char * err_unl   = "Error saving game: "
+                       "Unable to unlink old 'savefile'.";
+    char * err_move  = "Error saving game: "
+                        "Unable to rename 'savefile_tmp' to 'savefile'.";
     FILE * file = fopen(savefile_tmp, "w");
-    exit_err(0 == file, world,
-             "Error saving game: Unable to open new savefile for writing.");
+    exit_err(0 == file, world, err_open);
     if (   write_uint32_bigendian(world->seed, file)
         || write_uint32_bigendian(world->turn, file)
         || write_uint16_bigendian(world->player->pos.y + 1, file)
@@ -148,19 +157,14 @@ extern void save_game(struct World * world)
         || write_map_objects(world, world->monster, file)
         || write_map_objects(world, world->item, file))
     {
-        exit_err(1, world,
-                 "Error saving game: Trouble writing to opened new savefile.");
+        exit_err(1, world, err_write);
     }
-    exit_err(fclose(file), world,
-             "Error saving game: Unable to close opened new savefile.");
+    exit_err(fclose(file), world, err_close);
     if (!access(savefile, F_OK))
     {
-        exit_err(unlink(savefile), world,
-                 "Error saving game: Unable to unlink old savefile.");
+        exit_err(unlink(savefile), world, err_unl);
     }
-    exit_err(rename(savefile_tmp, savefile), world,
-             "Error saving game: Unable to rename 'savefile_tmp' to "
-              "'savefile'.");
+    exit_err(rename(savefile_tmp, savefile), world, err_move);
 }
 
 
-- 
2.30.2