OSDN Git Service

2000-01-16 Jeff Sturm <jsturm@sigma6.com>
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 16 Jan 2000 21:33:46 +0000 (21:33 +0000)
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 16 Jan 2000 21:33:46 +0000 (21:33 +0000)
* java/io/StreamTokenizer.java (nextToken): Avoid unread(TT_EOF).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31449 138bc75d-0d04-0410-961f-82ee72b054a4

libjava/ChangeLog
libjava/java/io/StreamTokenizer.java

index 8ffff03..d126cd1 100644 (file)
@@ -1,3 +1,7 @@
+2000-01-16  Jeff Sturm  <jsturm@sigma6.com>
+
+       * java/io/StreamTokenizer.java (nextToken): Avoid unread(TT_EOF).
+
 2000-01-13  Tom Tromey  <tromey@cygnus.com>
 
        * java/lang/natClassLoader.cc (_Jv_FindClass): Register `loader',
index d518f83..b5fc595 100644 (file)
@@ -179,7 +179,10 @@ public class StreamTokenizer
 
          // Throw away \n if in combination with \r.
          if (ch == '\r' && (ch = in.read()) != '\n')
-           in.unread(ch);
+           {
+             if (ch != TT_EOF)
+               in.unread(ch);
+           }
          if (eolSignificant)
            return (ttype = TT_EOL);
        }
@@ -192,7 +195,8 @@ public class StreamTokenizer
          {
            // Read ahead to see if this is an ordinary '-' rather than numeric.
            ch = in.read();
-           in.unread(ch);
+           if (ch != TT_EOF)
+             in.unread(ch);
            if (isNumeric(ch) && ch != '-')
              ch = '-';
            else
@@ -209,7 +213,8 @@ public class StreamTokenizer
          else
            tokbuf.append((char) ch);
 
-       in.unread(ch);
+       if (ch != TT_EOF)
+         in.unread(ch);
        ttype = TT_NUMBER;
        nval = Double.valueOf(tokbuf.toString()).doubleValue();
       }
@@ -219,7 +224,8 @@ public class StreamTokenizer
        tokbuf.append((char) ch);
        while (isAlphabetic(ch = in.read()) || isNumeric(ch))
          tokbuf.append((char) ch);
-       in.unread(ch);
+       if (ch != TT_EOF)
+         in.unread(ch);
        ttype = TT_WORD;
        sval = tokbuf.toString();
        if (lowerCase)
@@ -229,7 +235,8 @@ public class StreamTokenizer
       {
        while ((ch = in.read()) != '\n' && ch != '\r' && ch != TT_EOF)
          ;
-       in.unread(ch);
+       if (ch != TT_EOF)
+         in.unread(ch);
        return nextToken();     // Recursive, but not too deep in normal cases.
       }
     else if (isQuote(ch))
@@ -277,14 +284,15 @@ public class StreamTokenizer
                          }
                      }
 
-                   in.unread(nextch);
+                   if (nextch != TT_EOF)
+                     in.unread(nextch);
                }
 
            tokbuf.append((char) ch);
          }
 
        // Throw away matching quote char.
-       if (ch != ttype)
+       if (ch != ttype && ch != TT_EOF)
          in.unread(ch);
 
        sval = tokbuf.toString();
@@ -296,7 +304,8 @@ public class StreamTokenizer
            {
              while ((ch = in.read()) != '\n' && ch != '\r' && ch != TT_EOF)
                ;
-             in.unread(ch);
+             if (ch != TT_EOF)
+               in.unread(ch);
              return nextToken(); // Recursive, but not too deep in normal cases
            }
          else if (ch == '*' && slashStar) 
@@ -305,19 +314,23 @@ public class StreamTokenizer
                {
                  ch = in.read();
                  if (ch == '*')
-                   if ((ch = in.read()) == '/')
-                     break;
-                   else
-                     in.unread(ch);
+                   {
+                     if ((ch = in.read()) == '/')
+                       break;
+                     else if (ch != TT_EOF)
+                       in.unread(ch);
+                   }
                  else if (ch == '\n' || ch == '\r')
                    {
                      lineNumber++;
                      if (ch == '\r' && (ch = in.read()) != '\n')
-                       in.unread(ch);
+                       {
+                         if (ch != TT_EOF)
+                           in.unread(ch);
+                       }
                    }
                  else if (ch == TT_EOF)
                    {
-                     in.unread(ch);
                      break;
                    }
                }
@@ -325,7 +338,8 @@ public class StreamTokenizer
            }
          else
            {
-             in.unread(ch);
+             if (ch != TT_EOF)
+               in.unread(ch);
              ch = '/';
            }