From efbc3ff902abda6213502f839cfd19b31b1f0459 Mon Sep 17 00:00:00 2001 From: adam Date: Wed, 23 Jun 2004 02:16:03 +0000 Subject: [PATCH] fixed nasty livelock bug in LineReader darcs-hash:20040623021603-5007d-905d1734961d65907fd26cd3826f027dd7c199ed.gz --- src/org/ibex/util/LineReader.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/org/ibex/util/LineReader.java b/src/org/ibex/util/LineReader.java index 972dfe5..429c218 100644 --- a/src/org/ibex/util/LineReader.java +++ b/src/org/ibex/util/LineReader.java @@ -3,7 +3,7 @@ import java.io.*; public class LineReader { - private static int MAXBUF = 1024 * 16; + private int MAXBUF = 1024 * 16; char[] buf = new char[MAXBUF]; int buflen = 0; Reader r; @@ -26,6 +26,12 @@ public class LineReader { return ret; } } + if (buflen == MAXBUF) { + char[] buf2 = new char[MAXBUF*2]; + System.arraycopy(buf, 0, buf2, 0, buflen); + buf = buf2; + MAXBUF *= 2; + } int numread = r.read(buf, buflen, MAXBUF - buflen); if (numread == -1) { if (buflen == 0) return null; -- 1.7.10.4