about summary refs log tree commit diff
path: root/Src/lex.c
diff options
context:
space:
mode:
authorTanaka Akira <akr@users.sourceforge.net>1999-12-17 10:59:21 +0000
committerTanaka Akira <akr@users.sourceforge.net>1999-12-17 10:59:21 +0000
commitd707a1eb1fe7f6eedaa375452824f9185d142413 (patch)
treed2556d71670433cdeae1a1d6d6f672d868b9e88c /Src/lex.c
parent8f85eb31c97b0bed6751096d998baf18f4ef6136 (diff)
downloadzsh-d707a1eb1fe7f6eedaa375452824f9185d142413.tar.gz
zsh-d707a1eb1fe7f6eedaa375452824f9185d142413.tar.xz
zsh-d707a1eb1fe7f6eedaa375452824f9185d142413.zip
zsh-workers/9098
Diffstat (limited to 'Src/lex.c')
-rw-r--r--Src/lex.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/Src/lex.c b/Src/lex.c
index 818ea9f8e..22e05dbb0 100644
--- a/Src/lex.c
+++ b/Src/lex.c
@@ -480,7 +480,10 @@ add(int c)
 	bsiz = newbsiz;
 #endif
 
-	int newbsiz = bsiz + 32;
+	int newbsiz = bsiz * 2;
+
+	if (newbsiz > inbufct && inbufct > bsiz)
+	    newbsiz = inbufct;
 
 	bptr = len + (tokstr = (char *)hrealloc(tokstr, bsiz, newbsiz));
 	bsiz = newbsiz;