diff options
author | Axel Beckert <abe@deuxchevaux.org> | 2022-02-12 20:55:56 +0100 |
---|---|---|
committer | Axel Beckert <abe@deuxchevaux.org> | 2022-02-12 20:55:56 +0100 |
commit | a13f7a2b3efc45af0879bebe63bed7641af4b39f (patch) | |
tree | 4656cbf81a49b84bdbf10b83fe81bd33cf8a65cc /Src/Zle/zle_keymap.c | |
parent | 60187dd3dae5f3e0cb3bd8f9717d3eda47e6f860 (diff) | |
parent | 12eb3e5356f2fc3351eed58ef1cef1b8fb83b504 (diff) | |
download | zsh-a13f7a2b3efc45af0879bebe63bed7641af4b39f.tar.gz zsh-a13f7a2b3efc45af0879bebe63bed7641af4b39f.zip |
Update upstream source from tag 'upstream/5.8.1'
Update to upstream version '5.8.1'
with Debian dir a5d2bf34c355a0e96e2d6d9fba85468f75c5364f
Diffstat (limited to 'Src/Zle/zle_keymap.c')
-rw-r--r-- | Src/Zle/zle_keymap.c | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/Src/Zle/zle_keymap.c b/Src/Zle/zle_keymap.c index d13aed594..49b2a26ad 100644 --- a/Src/Zle/zle_keymap.c +++ b/Src/Zle/zle_keymap.c @@ -155,7 +155,7 @@ createkeymapnamtab(void) keymapnamtab = newhashtable(7, "keymapnamtab", NULL); keymapnamtab->hash = hasher; - keymapnamtab->emptytable = emptyhashtable; + keymapnamtab->emptytable = emptykeymapnamtab; keymapnamtab->filltable = NULL; keymapnamtab->cmpnodes = strcmp; keymapnamtab->addnode = addhashnode; @@ -178,6 +178,26 @@ makekeymapnamnode(Keymap keymap) return kmn; } +/**/ +static void +emptykeymapnamtab(HashTable ht) +{ + struct hashnode *hn, *hp; + int i; + + for (i = 0; i < ht->hsize; i++) { + for (hn = ht->nodes[i]; hn;) { + KeymapName kmn = (KeymapName) hn; + hp = hn->next; + zsfree(kmn->nam); + unrefkeymap(kmn->keymap); + zfree(kmn, sizeof(*kmn)); + hn = hp; + } + ht->nodes[i] = NULL; + } + ht->ct = 0; +} /* * Reference a keymap from a keymapname. |