X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=keymap.c;h=707a8cb729ec871ab8016d78f83407b8a3f743f1;hp=bd122118a29155b6255dcf9efc0fd23d809f9e2c;hb=1dc7032b59cc5b91d70076ed228bda8caf65a7f3;hpb=7e48409c3d6fb969706114b3c0962ffa0e112d37 diff --git a/keymap.c b/keymap.c index bd12211..707a8cb 100644 --- a/keymap.c +++ b/keymap.c @@ -11,6 +11,9 @@ # include "config.h" #endif +#include +#include + #include "mutt.h" #include "buffer.h" #include "ascii.h" @@ -20,8 +23,6 @@ #include "mapping.h" #include "mutt_crypt.h" -#include "lib/mem.h" -#include "lib/intl.h" #include "lib/str.h" #include @@ -81,6 +82,9 @@ static struct mapping_t KeyNames[] = { {"", ' '}, #ifdef KEY_BTAB {"", KEY_BTAB}, +#endif +#ifdef KEY_NEXT + {"", KEY_NEXT}, #endif {NULL, 0} }; @@ -90,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) @@ -134,7 +137,7 @@ static int parse_keycode (const char *s) return -1; } -static int parsekeys (char *str, keycode_t * d, int max) +static int parsekeys (const char *str, keycode_t * d, int max) { int n, len = max; char buff[SHORT_STRING]; @@ -181,7 +184,7 @@ static int parsekeys (char *str, keycode_t * d, int max) /* insert a key sequence into the specified map. the map is sorted by ASCII * value (lowest to highest) */ -void km_bind (char *s, int menu, int op, char *macro, char *descr) +void km_bind (const char *s, int menu, int op, char *macro, char *descr) { struct keymap_t *map, *tmp, *last = NULL, *next; keycode_t buf[MAX_SEQ]; @@ -202,10 +205,10 @@ void km_bind (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); @@ -238,7 +241,7 @@ void km_bind (char *s, int menu, int op, char *macro, char *descr) Keymaps[menu] = map; } -void km_bindkey (char *s, int menu, int op) +void km_bindkey (const char *s, int menu, int op) { km_bind (s, menu, op, NULL, NULL); } @@ -256,7 +259,7 @@ static int get_op (struct binding_t *bindings, const char *start, size_t len) return OP_NULL; } -static char *get_func (struct binding_t *bindings, int op) +static const char *get_func (struct binding_t *bindings, int op) { int i; @@ -372,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? */ @@ -451,10 +454,10 @@ 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]; - char *p; + const char *p; if ((p = mutt_getnamebyvalue (c, KeyNames))) return p; @@ -709,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); } @@ -809,7 +812,7 @@ int mutt_parse_bind (BUFFER * buf, BUFFER * s, unsigned long data, } } } - mem_free (&key); + p_delete(&key); return (r); } @@ -847,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) { @@ -856,7 +859,7 @@ int mutt_parse_macro (BUFFER * buf, BUFFER * s, unsigned long data, } } } - mem_free (&key); + p_delete(&key); return (r); }