summaryrefslogtreecommitdiff
path: root/Src/Zle/zle_main.c
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2003-01-27 14:54:31 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2003-01-27 14:54:31 +0000
commit778a73b027509c9c9f70c8dbd184097efeacae43 (patch)
tree17d52da7da8fd0a1f85a0491b52e80ab66299f4b /Src/Zle/zle_main.c
parentcd70d2745cc34cd05292e6c87fa1e4f272792313 (diff)
downloadzsh-778a73b027509c9c9f70c8dbd184097efeacae43.tar.gz
zsh-778a73b027509c9c9f70c8dbd184097efeacae43.zip
18139: Improve $killring interface; can now change length. Empty
strings in $killring are ignored when yank-popping. Yank-popping is more consistent about looping and using the original cutbuffer.
Diffstat (limited to 'Src/Zle/zle_main.c')
-rw-r--r--Src/Zle/zle_main.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/Src/Zle/zle_main.c b/Src/Zle/zle_main.c
index 1c45d120c..0e63bf5b1 100644
--- a/Src/Zle/zle_main.c
+++ b/Src/Zle/zle_main.c
@@ -1406,8 +1406,11 @@ finish_(Module m)
if (rdstrs)
freelinklist(rdstrs, freestr);
zfree(cutbuf.buf, cutbuf.len);
- for(i = KRINGCT; i--; )
- zfree(kring[i].buf, kring[i].len);
+ if (kring) {
+ for(i = kringsize; i--; )
+ zfree(kring[i].buf, kring[i].len);
+ zfree(kring, kringsize * sizeof(struct cutbuffer));
+ }
for(i = 35; i--; )
zfree(vibuf[i].buf, vibuf[i].len);