X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=keymap.c;fp=keymap.c;h=3a2f922c7eaf2f402c57002e1337fb7ead533653;hp=7be686949cefcc70bec4b80b8ed8f482de984667;hb=c0845f1be75f82fb29cc3a15d26b819041e39813;hpb=928ca0d87eb15bfa4c150abdadadaf3b177f95bd diff --git a/keymap.c b/keymap.c index 7be6869..3a2f922 100644 --- a/keymap.c +++ b/keymap.c @@ -90,21 +90,13 @@ static struct keymap_t *allocKeys(int len, keycode_t *keys) static int parse_fkey (const char *s) { - const char *t; int n = 0; - if (s[0] != '<' || ascii_tolower (s[1]) != 'f') + if (s[0] != '<' || ascii_tolower(s[1]) != 'f') return -1; - for (t = s + 2; *t && isdigit ((unsigned char) *t); t++) { - n *= 10; - n += *t - '0'; - } - - if (*t != '>') - return -1; - else - return n; + n = strtol(s + 2, (char **)&s, 10); + return *s == '>' ? n : -1; } /* @@ -113,12 +105,12 @@ static int parse_fkey (const char *s) */ static int parse_keycode (const char *s) { - if (isdigit ((unsigned char) s[1]) && - isdigit ((unsigned char) s[2]) && - isdigit ((unsigned char) s[3]) && s[4] == '>') { - return (s[3] - '0') + (s[2] - '0') * 8 + (s[1] - '0') * 64; - } - return -1; + int n; + + if (*s != '<') + return -1; + n = strtol(s + 1, (char **)&s, 8); + return *s == '>' ? n : -1; } static int parsekeys (const char *str, keycode_t * d, int max) @@ -510,8 +502,6 @@ void km_init (void) create_bindings (OpPost, MENU_POST); create_bindings (OpQuery, MENU_QUERY); create_bindings (OpAlias, MENU_ALIAS); - - create_bindings (OpPgp, MENU_PGP); create_bindings (OpSmime, MENU_SMIME); @@ -733,7 +723,6 @@ struct binding_t *km_get_table (int menu) return OpEditor; case MENU_QUERY: return OpQuery; - case MENU_PGP: return OpPgp;