X-Git-Url: https://plomlompom.com/repos/?a=blobdiff_plain;f=src%2Fclient%2Fkeybindings.c;fp=src%2Fclient%2Fkeybindings.c;h=b0b7c7a06fc496ee5cb9baa5cd5af8c70632d14a;hb=778534bf6946fe0fef17e353c55678d248d8d09d;hp=4231da492531cf8a832f5e5bc817a8427e724682;hpb=483f25751ae49c810456faf0bb7a375bc437df10;p=plomrogue diff --git a/src/client/keybindings.c b/src/client/keybindings.c index 4231da4..b0b7c7a 100644 --- a/src/client/keybindings.c +++ b/src/client/keybindings.c @@ -5,6 +5,7 @@ #include /* NULL */ #include /* uint8_t, uint16_t, uint32_t */ #include /* FILE, sprintf() */ +#include "../common/rexit.h" /* exit_trouble() */ #include "../common/try_malloc.h" /* try_malloc() */ #include "windows.h" /* draw_all_wins() */ #include "world.h" /* global world */ @@ -49,9 +50,11 @@ static struct KeyBindingDB * char_selected_kb_db(char c) static uint8_t try_keycode(uint16_t keycode_given, char * keyname, uint16_t keycode_match, char * keyname_match) { + char * f_name = "try_keycode()"; if (keycode_given == keycode_match) { - sprintf(keyname, "%s", keyname_match); + int test = sprintf(keyname, "%s", keyname_match); + exit_trouble(test < 0, f_name, "sprintf()"); return 1; } return 0; @@ -81,12 +84,12 @@ extern char * get_keyname_to_keycode(uint16_t keycode) char * keyname = try_malloc(10, f_name); /* max keyname length + 1 */ if (32 < keycode && keycode < 127) { - sprintf(keyname, "%c", keycode); + exit_trouble(sprintf(keyname, "%c", keycode) < 0, f_name, "sprintf()"); } else if (keycode >= KEY_F0 && keycode <= KEY_F(63)) { uint16_t f = keycode - KEY_F0; - sprintf(keyname, "F%d", f); + exit_trouble(sprintf(keyname, "F%d", f) < 0, f_name, "sprintf()");; } else if ( try_keycode(keycode, keyname, 9, "TAB") || try_keycode(keycode, keyname, 10, "RETURN") @@ -108,7 +111,7 @@ extern char * get_keyname_to_keycode(uint16_t keycode) } else { - sprintf(keyname, "(unknown)"); + exit_trouble(sprintf(keyname, "(unknown)") < 0, f_name, "sprintf()"); } return keyname; }