X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=keymap.c;h=716308a23a4d50bfa2e0a685a5cc70a99f74d90f;hp=76ac63cfcdc1f2c7788874b26dd5ce6529d8e9ce;hb=2e30f27e037b26e8c300fc7170fc8b56f4302117;hpb=2ea77d3b2827ba23feb756ce2fb936565ae38998 diff --git a/keymap.c b/keymap.c index 76ac63c..716308a 100644 --- a/keymap.c +++ b/keymap.c @@ -16,20 +16,22 @@ #include #include #include +#include + +#include +#include #include "mutt.h" -#include "mutt_menu.h" -#include "mutt_curses.h" #include "keymap.h" -#include "mapping.h" -#include "mutt_crypt.h" +#include #include #include #include -#include "functions.h" +#define MUTT_FUNCTIONS_VALUES +#include "functions.def" struct mapping_t Menus[] = { {"alias", MENU_ALIAS}, @@ -104,9 +106,9 @@ static struct keymap_t *allocKeys(int len, keycode_t *keys) return p; } -static int parse_fkey (char *s) +static int parse_fkey (const char *s) { - char *t; + const char *t; int n = 0; if (s[0] != '<' || ascii_tolower (s[1]) != 'f') @@ -144,7 +146,7 @@ static int parsekeys (const char *str, keycode_t * d, int max) char c; char *s, *t; - strfcpy (buff, str, sizeof (buff)); + m_strcpy(buff, sizeof(buff), str); s = buff; while (*s && len) { @@ -246,7 +248,7 @@ void km_bindkey (const char *s, int menu, int op) km_bind (s, menu, op, NULL, NULL); } -static int get_op (struct binding_t *bindings, const char *start, size_t len) +static int get_op (struct binding_t *bindings, const char *start, ssize_t len) { int i; @@ -272,10 +274,10 @@ static const char *get_func (struct binding_t *bindings, int op) return NULL; } -static void push_string (char *s) +static void push_string(const char *s) { - char *pp, *p = s + m_strlen(s) - 1; - size_t l; + const char *pp, *p = s + m_strlen(s) - 1; + ssize_t l; int i, op = OP_NULL; while (p >= s) { @@ -359,7 +361,7 @@ int km_dokey (int menu) if (!map) return (retry_generic (menu, NULL, 0, 0)); - FOREVER { + for (;;) { /* ncurses doesn't return on resized screen when timeout is set to zero */ if (menu != MENU_EDITOR) timeout ((Timeout > 0 ? Timeout : 60) * 1000); @@ -403,7 +405,7 @@ int km_dokey (int menu) /* careful not to feed the <..> as one token. otherwise * push_string() will push the bogus op right back! */ mutt_ungetch ('>', 0); - push_string (func); + push_string(func); mutt_ungetch ('<', 0); break; } @@ -491,8 +493,8 @@ int km_expand_key (char *s, size_t len, struct keymap_t *map) if (!map) return (0); - FOREVER { - strfcpy (s, km_keyname (map->keys[p]), len); + for (;;) { + m_strcpy(s, len, km_keyname(map->keys[p])); len -= (l = m_strlen(s)); if (++p >= map->len || !len) @@ -528,11 +530,8 @@ void km_init (void) create_bindings (OpAlias, MENU_ALIAS); - if ((WithCrypto & APPLICATION_PGP)) - create_bindings (OpPgp, MENU_PGP); - - if ((WithCrypto & APPLICATION_SMIME)) - create_bindings (OpSmime, MENU_SMIME); + create_bindings (OpPgp, MENU_PGP); + create_bindings (OpSmime, MENU_SMIME); #ifdef CRYPT_BACKEND_GPGME create_bindings (OpPgp, MENU_KEY_SELECT_PGP); @@ -654,14 +653,14 @@ void km_error_key (int menu) return; } -int mutt_parse_push (BUFFER * buf, BUFFER * s, unsigned long data, +int mutt_parse_push (BUFFER * buf, BUFFER * s, unsigned long data __attribute__ ((unused)), BUFFER * err) { int r = 0; mutt_extract_token (buf, s, M_TOKEN_CONDENSE); if (MoreArgs (s)) { - strfcpy (err->data, _("push: too many arguments"), err->dsize); + m_strcpy(err->data, err->dsize, _("push: too many arguments")); r = -1; } else @@ -703,13 +702,13 @@ static char *parse_keymap (int *menu, BUFFER * s, int maxmenus, int *nummenus, mutt_extract_token (&buf, s, 0); if (!*buf.data) { - strfcpy (err->data, _("null key sequence"), err->dsize); + m_strcpy(err->data, err->dsize, _("null key sequence")); } else if (MoreArgs (s)) return (buf.data); } else { - strfcpy (err->data, _("too few arguments"), err->dsize); + m_strcpy(err->data, err->dsize, _("too few arguments")); } error: p_delete(&buf.data); @@ -754,7 +753,7 @@ struct binding_t *km_get_table (int menu) return OpQuery; case MENU_PGP: - return (WithCrypto & APPLICATION_PGP) ? OpPgp : NULL; + return OpPgp; #ifdef CRYPT_BACKEND_GPGME case MENU_KEY_SELECT_PGP: @@ -773,7 +772,7 @@ struct binding_t *km_get_table (int menu) } /* bind menu-name '' function-name */ -int mutt_parse_bind (BUFFER * buf, BUFFER * s, unsigned long data, +int mutt_parse_bind (BUFFER * buf, BUFFER * s, unsigned long data __attribute__ ((unused)), BUFFER * err) { struct binding_t *bindings = NULL; @@ -788,7 +787,7 @@ int mutt_parse_bind (BUFFER * buf, BUFFER * s, unsigned long data, /* function to execute */ mutt_extract_token (buf, s, 0); if (MoreArgs (s)) { - strfcpy (err->data, _("bind: too many arguments"), err->dsize); + m_strcpy(err->data, err->dsize, _("bind: too many arguments")); r = -1; } else if (ascii_strcasecmp ("noop", buf->data) == 0) { @@ -817,7 +816,7 @@ int mutt_parse_bind (BUFFER * buf, BUFFER * s, unsigned long data, } /* macro */ -int mutt_parse_macro (BUFFER * buf, BUFFER * s, unsigned long data, +int mutt_parse_macro (BUFFER * buf, BUFFER * s, unsigned long data __attribute__ ((unused)), BUFFER * err) { int menu[sizeof (Menus) / sizeof (struct mapping_t) - 1], r = @@ -833,7 +832,7 @@ int mutt_parse_macro (BUFFER * buf, BUFFER * s, unsigned long data, mutt_extract_token (buf, s, M_TOKEN_CONDENSE); /* make sure the macro sequence is not an empty string */ if (!*buf->data) { - strfcpy (err->data, _("macro: empty key sequence"), err->dsize); + m_strcpy(err->data, err->dsize, _("macro: empty key sequence")); } else { if (MoreArgs (s)) { @@ -841,7 +840,7 @@ int mutt_parse_macro (BUFFER * buf, BUFFER * s, unsigned long data, mutt_extract_token (buf, s, M_TOKEN_CONDENSE); if (MoreArgs (s)) { - strfcpy (err->data, _("macro: too many arguments"), err->dsize); + m_strcpy(err->data, err->dsize, _("macro: too many arguments")); } else { for (i = 0; i < nummenus; ++i) { @@ -864,7 +863,7 @@ int mutt_parse_macro (BUFFER * buf, BUFFER * s, unsigned long data, } /* exec function-name */ -int mutt_parse_exec (BUFFER * buf, BUFFER * s, unsigned long data, +int mutt_parse_exec (BUFFER * buf, BUFFER * s, unsigned long data __attribute__ ((unused)), BUFFER * err) { int ops[128]; @@ -873,7 +872,7 @@ int mutt_parse_exec (BUFFER * buf, BUFFER * s, unsigned long data, char *function; if (!MoreArgs (s)) { - strfcpy (err->data, _("exec: no arguments"), err->dsize); + m_strcpy(err->data, err->dsize, _("exec: no arguments")); return (-1); } @@ -896,7 +895,7 @@ int mutt_parse_exec (BUFFER * buf, BUFFER * s, unsigned long data, } nops++; } - while (MoreArgs (s) && nops < sizeof (ops) / sizeof (ops[0])); + while (MoreArgs (s) && nops < ssizeof (ops) / ssizeof (ops[0])); while (nops) mutt_ungetch (0, ops[--nops]);