=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/key-bindings.c,v retrieving revision 1.40 retrieving revision 1.41 diff -c -r1.40 -r1.41 *** src/usr.bin/tmux/key-bindings.c 2014/04/17 07:55:43 1.40 --- src/usr.bin/tmux/key-bindings.c 2014/05/14 06:21:19 1.41 *************** *** 1,4 **** ! /* $OpenBSD: key-bindings.c,v 1.40 2014/04/17 07:55:43 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: key-bindings.c,v 1.41 2014/05/14 06:21:19 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott *************** *** 27,33 **** RB_GENERATE(key_bindings, key_binding, entry, key_bindings_cmp); struct key_bindings key_bindings; - struct key_bindings dead_key_bindings; int key_bindings_cmp(struct key_binding *bd1, struct key_binding *bd2) --- 27,32 ---- *************** *** 78,97 **** if ((bd = key_bindings_lookup(key)) == NULL) return; RB_REMOVE(key_bindings, &key_bindings, bd); ! RB_INSERT(key_bindings, &dead_key_bindings, bd); ! } ! ! void ! key_bindings_clean(void) ! { ! struct key_binding *bd; ! ! while (!RB_EMPTY(&dead_key_bindings)) { ! bd = RB_ROOT(&dead_key_bindings); ! RB_REMOVE(key_bindings, &dead_key_bindings, bd); ! cmd_list_free(bd->cmdlist); ! free(bd); ! } } void --- 77,84 ---- if ((bd = key_bindings_lookup(key)) == NULL) return; RB_REMOVE(key_bindings, &key_bindings, bd); ! cmd_list_free(bd->cmdlist); ! free(bd); } void