X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=keymap.c;h=abfc8c305f05eff4450dd0a109caa022c1a12f64;hp=6a7f5c1a45fad2462bab5476e8027928311285b9;hb=9274cbe8e6410ddb95ddc667faa678a29da85420;hpb=4eaac5c4a87b84ea9ec0668b4e088ac27e2d1106 diff --git a/keymap.c b/keymap.c index 6a7f5c1..abfc8c3 100644 --- a/keymap.c +++ b/keymap.c @@ -11,18 +11,19 @@ # include "config.h" #endif +#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 @@ -93,15 +94,14 @@ int LastKey; struct keymap_t *Keymaps[MENU_MAX]; -static struct keymap_t *allocKeys (int len, keycode_t * keys) +static struct keymap_t *allocKeys(int len, keycode_t *keys) { - struct keymap_t *p; + struct keymap_t *p; - p = mem_calloc (1, sizeof (struct keymap_t)); - p->len = len; - p->keys = mem_malloc (len * sizeof (keycode_t)); - memcpy (p->keys, keys, len * sizeof (keycode_t)); - return (p); + p = p_new(struct keymap_t, 1); + p->len = len; + p->keys = p_dup(keys, len); + return p; } static int parse_fkey (char *s) @@ -194,8 +194,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]; @@ -205,10 +205,10 @@ void km_bind (const char *s, int menu, int op, char *macro, char *descr) do { len = tmp->eq; next = tmp->next; - mem_free (&tmp->macro); - mem_free (&tmp->keys); - mem_free (&tmp->descr); - mem_free (&tmp); + p_delete(&tmp->macro); + p_delete(&tmp->keys); + p_delete(&tmp->descr); + p_delete(&tmp); tmp = next; } while (tmp && len >= pos); @@ -252,7 +252,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; } @@ -274,7 +274,7 @@ static const char *get_func (struct binding_t *bindings, int op) static void push_string (char *s) { - char *pp, *p = s + str_len (s) - 1; + char *pp, *p = s + m_strlen(s) - 1; size_t l; int i, op = OP_NULL; @@ -375,7 +375,7 @@ int km_dokey (int menu) /* do we have an op already? */ if (tmp.op) { - char *func = NULL; + const char *func = NULL; struct binding_t *bindings; /* is this a valid op for this menu? */ @@ -454,7 +454,7 @@ static void create_bindings (struct binding_t *map, int menu) km_bindkey (map[i].seq, menu, map[i].op); } -char *km_keyname (int c) +const char *km_keyname(int c) { static char buf[10]; const char *p; @@ -493,7 +493,7 @@ int km_expand_key (char *s, size_t len, struct keymap_t *map) FOREVER { strfcpy (s, km_keyname (map->keys[p]), len); - len -= (l = str_len (s)); + len -= (l = m_strlen(s)); if (++p >= map->len || !len) return (1); @@ -516,7 +516,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); @@ -677,7 +677,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); @@ -712,7 +712,7 @@ static char *parse_keymap (int *menu, BUFFER * s, int maxmenus, int *nummenus, strfcpy (err->data, _("too few arguments"), err->dsize); } error: - mem_free (&buf.data); + p_delete(&buf.data); return (NULL); } @@ -812,7 +812,7 @@ int mutt_parse_bind (BUFFER * buf, BUFFER * s, unsigned long data, } } } - mem_free (&key); + p_delete(&key); return (r); } @@ -837,7 +837,7 @@ int mutt_parse_macro (BUFFER * buf, BUFFER * s, unsigned long data, } 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)) { @@ -850,7 +850,7 @@ int mutt_parse_macro (BUFFER * buf, BUFFER * s, unsigned long data, } } - mem_free (&seq); + p_delete(&seq); } else { for (i = 0; i < nummenus; ++i) { @@ -859,7 +859,7 @@ int mutt_parse_macro (BUFFER * buf, BUFFER * s, unsigned long data, } } } - mem_free (&key); + p_delete(&key); return (r); } @@ -885,9 +885,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 ();