about summary refs log tree commit diff
path: root/Src/lex.c
diff options
context:
space:
mode:
authorSven Wischnowsky <wischnow@users.sourceforge.net>2001-03-06 13:00:40 +0000
committerSven Wischnowsky <wischnow@users.sourceforge.net>2001-03-06 13:00:40 +0000
commit684c9eebe52be2f8e7ef05df794f5213b5858555 (patch)
tree3e7fb3f9ee151f1a961fea0b53117ff75510b2a4 /Src/lex.c
parentc8f2e51007b7e3fd4bf581ca92b4ff13e7aae8ed (diff)
downloadzsh-684c9eebe52be2f8e7ef05df794f5213b5858555.tar.gz
zsh-684c9eebe52be2f8e7ef05df794f5213b5858555.tar.xz
zsh-684c9eebe52be2f8e7ef05df794f5213b5858555.zip
make the parser use real memory for the ecbuf to avoid having hrealloc() throw away lots of memory (13576)
Diffstat (limited to 'Src/lex.c')
-rw-r--r--Src/lex.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/Src/lex.c b/Src/lex.c
index 322bb9abe..de58ade7a 100644
--- a/Src/lex.c
+++ b/Src/lex.c
@@ -270,6 +270,7 @@ lexsave(void)
     inredir = 0;
     hdocs = NULL;
     histactive = 0;
+    ecbuf = NULL;
 
     ls->next = lstack;
     lstack = ls;
@@ -318,6 +319,8 @@ lexrestore(void)
     hwbegin = lstack->hwbegin;
     hwend = lstack->hwend;
     addtoline = lstack->addtoline;
+    if (ecbuf)
+	zfree(ecbuf, eclen);
     eclen = lstack->eclen;
     ecused = lstack->ecused;
     ecnpats = lstack->ecnpats;