X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=keymap.c;h=208fce0a56cabe0e02d627c2713aaf7ccea80769;hp=d28ca0f0874491f86899dbc2f24cecff11603d42;hb=3c3c535e5ed1d651c6024b5acf670e217af473f7;hpb=8e037c67a88cb4680c4391134c578e3b55a80f8a diff --git a/keymap.c b/keymap.c index d28ca0f..208fce0 100644 --- a/keymap.c +++ b/keymap.c @@ -12,25 +12,25 @@ #endif #include +#include +#include +#include +#include +#include #include "mutt.h" -#include "buffer.h" -#include "ascii.h" #include "mutt_menu.h" #include "mutt_curses.h" #include "keymap.h" -#include "mapping.h" #include "mutt_crypt.h" -#include "lib/mem.h" -#include "lib/intl.h" -#include "lib/str.h" #include #include #include -#include "functions.h" +#define MUTT_FUNCTIONS_VALUES +#include "functions.def" struct mapping_t Menus[] = { {"alias", MENU_ALIAS}, @@ -99,7 +99,7 @@ static struct keymap_t *allocKeys(int len, keycode_t *keys) { struct keymap_t *p; - p = mem_calloc (1, sizeof (struct keymap_t)); + p = p_new(struct keymap_t, 1); p->len = len; p->keys = p_dup(keys, len); return p; @@ -145,7 +145,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) { @@ -195,8 +195,8 @@ void km_bind (const char *s, int menu, int op, char *macro, char *descr) map = allocKeys (len, buf); map->op = op; - map->macro = str_dup (macro); - map->descr = str_dup (descr); + map->macro = m_strdup(macro); + map->descr = m_strdup(descr); tmp = Keymaps[menu]; @@ -253,7 +253,7 @@ static int get_op (struct binding_t *bindings, const char *start, size_t len) for (i = 0; bindings[i].name; i++) { if (!ascii_strncasecmp (start, bindings[i].name, len) && - str_len (bindings[i].name) == len) + m_strlen(bindings[i].name) == len) return bindings[i].op; } @@ -273,9 +273,9 @@ 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 + str_len (s) - 1; + const char *pp, *p = s + m_strlen(s) - 1; size_t l; int i, op = OP_NULL; @@ -360,7 +360,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); @@ -404,7 +404,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; } @@ -492,9 +492,9 @@ 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); - len -= (l = str_len (s)); + for (;;) { + m_strcpy(s, len, km_keyname(map->keys[p])); + len -= (l = m_strlen(s)); if (++p >= map->len || !len) return (1); @@ -517,7 +517,7 @@ struct keymap_t *km_find_func (int menu, int func) void km_init (void) { - memset (Keymaps, 0, sizeof (struct keymap_t *) * MENU_MAX); + p_clear(Keymaps, MENU_MAX); create_bindings (OpAttach, MENU_ATTACH); create_bindings (OpBrowser, MENU_FOLDER); @@ -662,7 +662,7 @@ int mutt_parse_push (BUFFER * buf, BUFFER * s, unsigned long data, 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 @@ -678,7 +678,7 @@ static char *parse_keymap (int *menu, BUFFER * s, int maxmenus, int *nummenus, int i = 0; char *p, *q; - memset (&buf, 0, sizeof (buf)); + p_clear(&buf, 1); /* menu name */ mutt_extract_token (&buf, s, 0); @@ -704,13 +704,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); @@ -723,7 +723,7 @@ try_bind (char *key, int menu, char *func, struct binding_t *bindings) int i; for (i = 0; bindings[i].name; i++) - if (str_cmp (func, bindings[i].name) == 0) { + if (m_strcmp(func, bindings[i].name) == 0) { km_bindkey (key, menu, bindings[i].op); return (0); } @@ -789,7 +789,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) { @@ -834,15 +834,15 @@ 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)) { - seq = str_dup (buf->data); + seq = m_strdup(buf->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) { @@ -874,7 +874,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); } @@ -886,9 +886,9 @@ int mutt_parse_exec (BUFFER * buf, BUFFER * s, unsigned long data, && CurrentMenu != MENU_PAGER) bindings = OpGeneric; - ops[nops] = get_op (bindings, function, str_len (function)); + ops[nops] = get_op (bindings, function, m_strlen(function)); if (ops[nops] == OP_NULL && CurrentMenu != MENU_PAGER) - ops[nops] = get_op (OpGeneric, function, str_len (function)); + ops[nops] = get_op (OpGeneric, function, m_strlen(function)); if (ops[nops] == OP_NULL) { mutt_flushinp ();