X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=keys.c;h=b60c056a0dfe23a50bf62c9abd448e994e07dc54;hb=40d20178fb35ca282a2662cd72fdec23361168c7;hp=199d311f99a902e41d3c70662967b2b23c705af5;hpb=700595596cc73b077db70faab83ae761bdd2e36c;p=xonotic%2Fdarkplaces.git diff --git a/keys.c b/keys.c index 199d311f..b60c056a 100644 --- a/keys.c +++ b/keys.c @@ -405,9 +405,9 @@ the given string. Single ascii characters return themselves, while the K_* names are matched up. =================== */ -int Key_StringToKeynum (char *str) +int Key_StringToKeynum (const char *str) { - keyname_t *kn; + keyname_t *kn; if (!str || !str[0]) return -1; @@ -415,10 +415,8 @@ int Key_StringToKeynum (char *str) return str[0]; for (kn=keynames ; kn->name ; kn++) - { if (!Q_strcasecmp(str,kn->name)) return kn->keynum; - } return -1; } @@ -433,8 +431,8 @@ FIXME: handle quote special (general escape sequence?) */ char *Key_KeynumToString (int keynum) { - keyname_t *kn; - static char tinystr[2]; + keyname_t *kn; + static char tinystr[2]; if (keynum == -1) return ""; @@ -444,7 +442,7 @@ char *Key_KeynumToString (int keynum) tinystr[1] = 0; return tinystr; } - + for (kn=keynames ; kn->name ; kn++) if (keynum == kn->keynum) return kn->name; @@ -463,7 +461,7 @@ void Key_SetBinding (int keynum, char *binding) char *new; int l; - if (keynum == -1) + if (keynum < 0 || keynum >= 256) return; // free old bindings