home · contact · privacy
Mostly cosmetic changes to various file reading/writing functions for greater readibi...
[plomrogue] / src / wincontrol.c
index bcb99b9b75e2d71e6fbe26918f14cf8b9d0b884c..d1a03042f71ca48d9c6e72b5b19979f6199a2bd7 100644 (file)
@@ -83,49 +83,50 @@ static void create_winconf(char id, struct WinConf * wcp,
 
 static void init_winconf_from_file(struct World * world, char id)
 {
+    char * err_o = "Trouble in init_win_from_file() with fopen().";
     char * err_m = "Trouble in init_win_from_file() with malloc().";
+    char * err_s = "Trouble in init_win_from_file() with textfile_sizes().";
+    char * err_g = "Trouble in init_win_from_file() with fgets().";
+    char * err_c = "Trouble in init_win_from_file() with fclose().";
+
     char * path = string_prefixed_id(world, "config/windows/Win_", id);
-    char * err = "Trouble in init_win_from_file() with fopen().";
     FILE * file = fopen(path, "r");
-    exit_err(NULL == file, world, err);
+    exit_err(NULL == file, world, err_o);
     free(path);
 
-    err = "Trouble in init_win_from_file() with textfile_sizes().";
-    struct WinConf * winconf = get_winconf_by_id(world, id);
     uint16_t linemax;
-    exit_err(textfile_sizes(file, &linemax, NULL), world, err);
+    exit_err(textfile_sizes(file, &linemax, NULL), world, err_s);
     char * line = malloc(linemax);
     exit_err(NULL == line, world, err_m);
 
-    err = "Trouble in init_win_from_file() with fgets().";
-    exit_err(NULL == fgets(line, linemax, file), world, err);
-    winconf->title = malloc(strlen(line));
-    exit_err(NULL == winconf->title, world, err_m);
+    struct WinConf * winconf = get_winconf_by_id(world, id);
+    exit_err(NULL == fgets(line, linemax, file), world, err_g);
+    exit_err(NULL == (winconf->title = malloc(strlen(line))), world, err_m);
     memcpy(winconf->title, line, strlen(line) - 1); /* Eliminate newline char */
     winconf->title[strlen(line) - 1] = '\0';        /* char at end of string. */
-    exit_err(NULL == fgets(line, linemax, file), world, err);
+    exit_err(NULL == fgets(line, linemax, file), world, err_g);
     winconf->height = atoi(line);
     if (0 >= winconf->height)
     {
         winconf->height_type = 1;
     }
-    exit_err(NULL == fgets(line, linemax, file), world, err);
+    exit_err(NULL == fgets(line, linemax, file), world, err_g);
     winconf->width = atoi(line);
     if (0 >= winconf->width)
     {
         winconf->width_type = 1;
     }
+
     free(line);
-    err = "Trouble in init_win_from_file() with fclose().";
-    exit_err(fclose(file), world, err);
+    exit_err(fclose(file), world, err_c);
 }
 
 
 
 static void init_win_from_winconf(struct World * world, char id)
 {
-    struct WinConf * winconf = get_winconf_by_id(world, id);
     char * err = "Trouble in init_win_from_file() with init_win().";
+    struct WinConf * winconf = get_winconf_by_id(world, id);
     exit_err(init_win(world->wmeta, &winconf->win, winconf->title,
                       winconf->height, winconf->width, world, winconf->draw),
              world, err);
@@ -244,7 +245,7 @@ extern struct Win * get_win_by_id(struct World * world, char id)
 
 
 
-extern void create_winconfs(struct World * world)
+extern void init_winconfs(struct World * world)
 {
     char * err = "Trouble with malloc() in init_winconfs().";
     struct WinConf * winconfs = malloc(4 * sizeof(struct WinConf));
@@ -254,12 +255,6 @@ extern void create_winconfs(struct World * world)
     create_winconf('l', &winconfs[2], draw_log_win);
     create_winconf('m', &winconfs[3], draw_map_win);
     world->winconfs = winconfs;
-}
-
-
-
-extern void init_winconfs(struct World * world)
-{
     init_winconf_from_file(world, 'i');
     init_winconf_from_file(world, 'k');
     init_winconf_from_file(world, 'l');
@@ -309,17 +304,22 @@ extern void free_wins(struct World * world)
 
 extern void sorted_wintoggle(struct World * world)
 {
-    char * err = "Trouble in sorted_wintoggle() with fopen().";
-    FILE * file = fopen("config/windows/toggle_order", "r");
-    exit_err(NULL == file, world, err);
+    char * err_o = "Trouble in sorted_wintoggle() with fopen().";
+    char * err_s = "Trouble in sorted_wintoggle() with textfile_sizes().";
+    char * err_g = "Trouble in sorted_wintoggle() with fgets().";
+    char * err_c = "Trouble in sorted_wintoggle() with fclose().";
+
+    char * path = "config/windows/toggle_order";
+    FILE * file = fopen(path, "r");
+    exit_err(NULL == file, world, err_o);
+
     uint16_t linemax;
-    err = "Trouble in sorted_wintoggle() with textfile_sizes().";
-    exit_err(textfile_sizes(file, &linemax, NULL), world, err);
+    exit_err(textfile_sizes(file, &linemax, NULL), world, err_s);
+
     char win_order[linemax];
-    err = "Trouble in sorted_wintoggle() with fgets().";
-    exit_err(NULL == fgets(win_order, linemax, file), world, err);
-    err = "Trouble in sorted_wintoggle() with fclose().";
-    exit_err(fclose(file), world, err);
+    exit_err(NULL == fgets(win_order, linemax, file), world, err_g);
+    exit_err(fclose(file), world, err_c);
+
     uint8_t i = 0;
     for (; i < linemax - 2; i++)
     {
@@ -337,7 +337,6 @@ extern void reload_win_config(struct World * world)
     }
     free_wins(world);
     free_winconfs(world);
-    create_winconfs(world);
     init_winconfs(world);
     init_wins(world);
     sorted_wintoggle(world);