update LineReader to use Baskets
[org.ibex.util.git] / src / org / ibex / util / LineReader.java
index ac784b8..75c18f0 100644 (file)
@@ -3,15 +3,20 @@
 // 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; }
 
@@ -30,12 +35,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;
-           }
+            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;