// You may not use this file except in compliance with the License.
package org.ibex.util;
-import java.io.*;
+import java.io.Reader;
+import java.io.IOException;
+
+/** @author adam@ibex.org */
public class LineReader {
private int MAXBUF = 1024 * 16;
- char[] buf = new char[MAXBUF];
- int buflen = 0;
- Reader r;
- Vec pushback = new Vec();
+
+ private final Basket.Stack pushback = new Basket.Array();
+
+ private char[] buf = new char[MAXBUF];
+ private int buflen = 0;
+ private Reader r;
public LineReader(Reader r) { this.r = r; }
return ret;
}
}
- if (buflen == MAXBUF) {
- char[] buf2 = new char[MAXBUF*2];
- System.arraycopy(buf, 0, buf2, 0, buflen);
- buf = buf2;
- MAXBUF *= 2;
- }
+ 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;