home · contact · privacy
Improved error handling, more error catching, error messages.
[plomrogue] / src / keybindings.c
index 0b5194c4eec8d585a7b024c0acacab65f5da8287..3ce0e440b2d319af9ff0b81d1040bc468518c10f 100644 (file)
 
 extern void init_keybindings(struct World * world)
 {
-    FILE * file = fopen("keybindings", "r");
+    FILE * file = fopen("config/keybindings", "r");
     uint16_t lines, linemax;
-    textfile_sizes(file, &linemax, &lines);
+    char * err = "textfile_sizes() in init_keybindings() returns error.";
+    exit_err(textfile_sizes(file, &linemax, &lines), world, err);
     struct KeyBinding * keybindings = malloc(lines * sizeof(struct KeyBinding));
     char * command = malloc(linemax);
     uint16_t commcount = 0;
@@ -49,7 +50,7 @@ extern void save_keybindings(struct World * world)
     struct KeysWinData * keyswindata = (struct KeysWinData *)
                                        world->keyswindata;
     struct KeyBinding * keybindings = world->keybindings;
-    FILE * file = fopen("keybindings", "w");
+    FILE * file = fopen("config/keybindings", "w");
     uint16_t linemax = 0;
     uint16_t i;
     for (i = 0; i <= keyswindata->max; i++)
@@ -170,7 +171,8 @@ extern char * get_keyname(uint16_t keycode)
 extern void keyswin_mod_key(struct World * world, struct WinMeta * win_meta)
 {
     world->keyswindata->edit = 1;
-    exit_err(draw_all_wins(win_meta), world, "Window drawing error.");
+    exit_err(draw_all_wins(win_meta), world, "Trouble with draw_all_wins() in "
+                                             "keyswin_mod_key().");
     int key = getch();
     if (key < 1000)
     {