aboutsummaryrefslogtreecommitdiff
path: root/key-bindings.c
diff options
context:
space:
mode:
Diffstat (limited to 'key-bindings.c')
-rw-r--r--key-bindings.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/key-bindings.c b/key-bindings.c
index a922eb18..0d13385d 100644
--- a/key-bindings.c
+++ b/key-bindings.c
@@ -68,12 +68,12 @@ void
key_bindings_unref_table(struct key_table *table)
{
struct key_binding *bd;
+ struct key_binding *bd1;
if (--table->references != 0)
return;
- while (!RB_EMPTY(&table->key_bindings)) {
- bd = RB_ROOT(&table->key_bindings);
+ RB_FOREACH_SAFE(bd, key_bindings, &table->key_bindings, bd1) {
RB_REMOVE(key_bindings, &table->key_bindings, bd);
cmd_list_free(bd->cmdlist);
free(bd);