{"key_select_smime", MENU_KEY_SELECT_SMIME},
#endif
-#ifdef MIXMASTER
{"mix", MENU_MIX},
-#endif
-
{"query", MENU_QUERY},
{"generic", MENU_GENERIC},
{NULL, 0}
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;
}
/*
*/
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)
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);
create_bindings (OpSmime, MENU_KEY_SELECT_SMIME);
#endif
-#ifdef MIXMASTER
create_bindings (OpMix, MENU_MIX);
km_bindkey ("<space>", MENU_MIX, OP_GENERIC_SELECT_ENTRY);
km_bindkey ("h", MENU_MIX, OP_MIX_CHAIN_PREV);
km_bindkey ("l", MENU_MIX, OP_MIX_CHAIN_NEXT);
-#endif
/* bindings for the line editor */
create_bindings (OpEditor, MENU_EDITOR);
return OpEditor;
case MENU_QUERY:
return OpQuery;
-
case MENU_PGP:
return OpPgp;
return OpSmime;
#endif
-#ifdef MIXMASTER
case MENU_MIX:
return OpMix;
-#endif
-
}
return NULL;
}