X-Git-Url: https://plomlompom.com/repos/foo.html?a=blobdiff_plain;f=src%2Fclient%2Fkeybindings.c;h=b0b7c7a06fc496ee5cb9baa5cd5af8c70632d14a;hb=150b9f88a4c73caad8fcf0b850db8e52e4f4c6ae;hp=4231da492531cf8a832f5e5bc817a8427e724682;hpb=c53b42dfc7e4de104f9189428dd5b9a0d431c00a;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;
}