14ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira/* Generated By:JavaCC: Do not edit this line. SimpleCharStream.java Version 4.0 */ 24fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy/* 34fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * Copyright 2004 the mime4j project 44fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * 54fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * Licensed under the Apache License, Version 2.0 (the "License"); 64fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * you may not use this file except in compliance with the License. 74fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * You may obtain a copy of the License at 84fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * 94fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * http://www.apache.org/licenses/LICENSE-2.0 104fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * 114fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * Unless required by applicable law or agreed to in writing, software 124fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * distributed under the License is distributed on an "AS IS" BASIS, 134fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 144fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * See the License for the specific language governing permissions and 154fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * limitations under the License. 164ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira */ 174ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereirapackage org.apache.james.mime4j.field.contenttype.parser; 184ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 194ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira/** 204ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira * An implementation of interface CharStream, where the stream is assumed to 214ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira * contain only ASCII characters (without unicode processing). 224ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira */ 234ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 244ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereirapublic class SimpleCharStream 254ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira{ 264ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public static final boolean staticFlag = false; 274ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira int bufsize; 284ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira int available; 294ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira int tokenBegin; 304ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public int bufpos = -1; 314ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira protected int bufline[]; 324ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira protected int bufcolumn[]; 334ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 344ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira protected int column = 0; 354ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira protected int line = 1; 364ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 374ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira protected boolean prevCharIsCR = false; 384ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira protected boolean prevCharIsLF = false; 394ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 404ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira protected java.io.Reader inputStream; 414ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 424ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira protected char[] buffer; 434ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira protected int maxNextCharInd = 0; 444ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira protected int inBuf = 0; 454ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira protected int tabSize = 8; 464ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 474ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira protected void setTabSize(int i) { tabSize = i; } 484ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira protected int getTabSize(int i) { return tabSize; } 494ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 504ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 514ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira protected void ExpandBuff(boolean wrapAround) 524ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira { 534ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira char[] newbuffer = new char[bufsize + 2048]; 544ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira int newbufline[] = new int[bufsize + 2048]; 554ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira int newbufcolumn[] = new int[bufsize + 2048]; 564ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 574ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira try 584ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira { 594ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira if (wrapAround) 604ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira { 614ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira System.arraycopy(buffer, tokenBegin, newbuffer, 0, bufsize - tokenBegin); 624ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira System.arraycopy(buffer, 0, newbuffer, 634ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira bufsize - tokenBegin, bufpos); 644ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira buffer = newbuffer; 654ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 664ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira System.arraycopy(bufline, tokenBegin, newbufline, 0, bufsize - tokenBegin); 674ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira System.arraycopy(bufline, 0, newbufline, bufsize - tokenBegin, bufpos); 684ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira bufline = newbufline; 694ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 704ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira System.arraycopy(bufcolumn, tokenBegin, newbufcolumn, 0, bufsize - tokenBegin); 714ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira System.arraycopy(bufcolumn, 0, newbufcolumn, bufsize - tokenBegin, bufpos); 724ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira bufcolumn = newbufcolumn; 734ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 744ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira maxNextCharInd = (bufpos += (bufsize - tokenBegin)); 754ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 764ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira else 774ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira { 784ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira System.arraycopy(buffer, tokenBegin, newbuffer, 0, bufsize - tokenBegin); 794ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira buffer = newbuffer; 804ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 814ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira System.arraycopy(bufline, tokenBegin, newbufline, 0, bufsize - tokenBegin); 824ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira bufline = newbufline; 834ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 844ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira System.arraycopy(bufcolumn, tokenBegin, newbufcolumn, 0, bufsize - tokenBegin); 854ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira bufcolumn = newbufcolumn; 864ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 874ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira maxNextCharInd = (bufpos -= tokenBegin); 884ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 894ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 904ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira catch (Throwable t) 914ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira { 924ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira throw new Error(t.getMessage()); 934ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 944ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 954ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 964ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira bufsize += 2048; 974ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira available = bufsize; 984ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira tokenBegin = 0; 994ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 1004ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 1014ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira protected void FillBuff() throws java.io.IOException 1024ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira { 1034ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira if (maxNextCharInd == available) 1044ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira { 1054ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira if (available == bufsize) 1064ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira { 1074ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira if (tokenBegin > 2048) 1084ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira { 1094ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira bufpos = maxNextCharInd = 0; 1104ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira available = tokenBegin; 1114ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 1124ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira else if (tokenBegin < 0) 1134ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira bufpos = maxNextCharInd = 0; 1144ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira else 1154ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira ExpandBuff(false); 1164ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 1174ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira else if (available > tokenBegin) 1184ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira available = bufsize; 1194ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira else if ((tokenBegin - available) < 2048) 1204ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira ExpandBuff(true); 1214ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira else 1224ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira available = tokenBegin; 1234ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 1244ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 1254ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira int i; 1264ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira try { 1274ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira if ((i = inputStream.read(buffer, maxNextCharInd, 1284ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira available - maxNextCharInd)) == -1) 1294ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira { 1304ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira inputStream.close(); 1314ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira throw new java.io.IOException(); 1324ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 1334ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira else 1344ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira maxNextCharInd += i; 1354ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira return; 1364ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 1374ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira catch(java.io.IOException e) { 1384ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira --bufpos; 1394ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira backup(0); 1404ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira if (tokenBegin == -1) 1414ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira tokenBegin = bufpos; 1424ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira throw e; 1434ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 1444ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 1454ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 1464ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public char BeginToken() throws java.io.IOException 1474ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira { 1484ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira tokenBegin = -1; 1494ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira char c = readChar(); 1504ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira tokenBegin = bufpos; 1514ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 1524ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira return c; 1534ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 1544ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 1554ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira protected void UpdateLineColumn(char c) 1564ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira { 1574ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira column++; 1584ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 1594ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira if (prevCharIsLF) 1604ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira { 1614ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira prevCharIsLF = false; 1624ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira line += (column = 1); 1634ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 1644ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira else if (prevCharIsCR) 1654ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira { 1664ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira prevCharIsCR = false; 1674ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira if (c == '\n') 1684ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira { 1694ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira prevCharIsLF = true; 1704ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 1714ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira else 1724ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira line += (column = 1); 1734ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 1744ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 1754ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira switch (c) 1764ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira { 1774ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira case '\r' : 1784ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira prevCharIsCR = true; 1794ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira break; 1804ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira case '\n' : 1814ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira prevCharIsLF = true; 1824ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira break; 1834ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira case '\t' : 1844ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira column--; 1854ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira column += (tabSize - (column % tabSize)); 1864ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira break; 1874ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira default : 1884ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira break; 1894ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 1904ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 1914ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira bufline[bufpos] = line; 1924ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira bufcolumn[bufpos] = column; 1934ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 1944ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 1954ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public char readChar() throws java.io.IOException 1964ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira { 1974ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira if (inBuf > 0) 1984ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira { 1994ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira --inBuf; 2004ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 2014ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira if (++bufpos == bufsize) 2024ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira bufpos = 0; 2034ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 2044ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira return buffer[bufpos]; 2054ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 2064ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 2074ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira if (++bufpos >= maxNextCharInd) 2084ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira FillBuff(); 2094ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 2104ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira char c = buffer[bufpos]; 2114ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 2124ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira UpdateLineColumn(c); 2134ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira return (c); 2144ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 2154ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 2164ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira /** 2174ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira * @deprecated 2184ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira * @see #getEndColumn 2194ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira */ 220ec8c218f2155aa692b237d13f45bb7a87c8d7116Scott Kennedy @Deprecated 2214ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public int getColumn() { 2224ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira return bufcolumn[bufpos]; 2234ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 2244ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 2254ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira /** 2264ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira * @deprecated 2274ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira * @see #getEndLine 2284ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira */ 229ec8c218f2155aa692b237d13f45bb7a87c8d7116Scott Kennedy @Deprecated 2304ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public int getLine() { 2314ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira return bufline[bufpos]; 2324ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 2334ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 2344ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public int getEndColumn() { 2354ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira return bufcolumn[bufpos]; 2364ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 2374ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 2384ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public int getEndLine() { 2394ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira return bufline[bufpos]; 2404ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 2414ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 2424ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public int getBeginColumn() { 2434ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira return bufcolumn[tokenBegin]; 2444ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 2454ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 2464ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public int getBeginLine() { 2474ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira return bufline[tokenBegin]; 2484ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 2494ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 2504ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public void backup(int amount) { 2514ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 2524ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira inBuf += amount; 2534ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira if ((bufpos -= amount) < 0) 2544ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira bufpos += bufsize; 2554ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 2564ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 2574ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public SimpleCharStream(java.io.Reader dstream, int startline, 2584ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira int startcolumn, int buffersize) 2594ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira { 2604ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira inputStream = dstream; 2614ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira line = startline; 2624ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira column = startcolumn - 1; 2634ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 2644ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira available = bufsize = buffersize; 2654ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira buffer = new char[buffersize]; 2664ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira bufline = new int[buffersize]; 2674ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira bufcolumn = new int[buffersize]; 2684ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 2694ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 2704ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public SimpleCharStream(java.io.Reader dstream, int startline, 2714ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira int startcolumn) 2724ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira { 2734ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira this(dstream, startline, startcolumn, 4096); 2744ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 2754ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 2764ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public SimpleCharStream(java.io.Reader dstream) 2774ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira { 2784ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira this(dstream, 1, 1, 4096); 2794ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 2804ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public void ReInit(java.io.Reader dstream, int startline, 2814ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira int startcolumn, int buffersize) 2824ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira { 2834ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira inputStream = dstream; 2844ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira line = startline; 2854ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira column = startcolumn - 1; 2864ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 2874ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira if (buffer == null || buffersize != buffer.length) 2884ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira { 2894ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira available = bufsize = buffersize; 2904ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira buffer = new char[buffersize]; 2914ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira bufline = new int[buffersize]; 2924ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira bufcolumn = new int[buffersize]; 2934ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 2944ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira prevCharIsLF = prevCharIsCR = false; 2954ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira tokenBegin = inBuf = maxNextCharInd = 0; 2964ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira bufpos = -1; 2974ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 2984ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 2994ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public void ReInit(java.io.Reader dstream, int startline, 3004ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira int startcolumn) 3014ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira { 3024ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira ReInit(dstream, startline, startcolumn, 4096); 3034ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 3044ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 3054ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public void ReInit(java.io.Reader dstream) 3064ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira { 3074ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira ReInit(dstream, 1, 1, 4096); 3084ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 3094ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public SimpleCharStream(java.io.InputStream dstream, String encoding, int startline, 3104ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira int startcolumn, int buffersize) throws java.io.UnsupportedEncodingException 3114ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira { 3124ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira this(encoding == null ? new java.io.InputStreamReader(dstream) : new java.io.InputStreamReader(dstream, encoding), startline, startcolumn, buffersize); 3134ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 3144ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 3154ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public SimpleCharStream(java.io.InputStream dstream, int startline, 3164ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira int startcolumn, int buffersize) 3174ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira { 3184ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira this(new java.io.InputStreamReader(dstream), startline, startcolumn, buffersize); 3194ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 3204ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 3214ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public SimpleCharStream(java.io.InputStream dstream, String encoding, int startline, 3224ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira int startcolumn) throws java.io.UnsupportedEncodingException 3234ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira { 3244ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira this(dstream, encoding, startline, startcolumn, 4096); 3254ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 3264ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 3274ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public SimpleCharStream(java.io.InputStream dstream, int startline, 3284ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira int startcolumn) 3294ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira { 3304ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira this(dstream, startline, startcolumn, 4096); 3314ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 3324ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 3334ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public SimpleCharStream(java.io.InputStream dstream, String encoding) throws java.io.UnsupportedEncodingException 3344ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira { 3354ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira this(dstream, encoding, 1, 1, 4096); 3364ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 3374ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 3384ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public SimpleCharStream(java.io.InputStream dstream) 3394ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira { 3404ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira this(dstream, 1, 1, 4096); 3414ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 3424ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 3434ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public void ReInit(java.io.InputStream dstream, String encoding, int startline, 3444ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira int startcolumn, int buffersize) throws java.io.UnsupportedEncodingException 3454ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira { 3464ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira ReInit(encoding == null ? new java.io.InputStreamReader(dstream) : new java.io.InputStreamReader(dstream, encoding), startline, startcolumn, buffersize); 3474ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 3484ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 3494ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public void ReInit(java.io.InputStream dstream, int startline, 3504ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira int startcolumn, int buffersize) 3514ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira { 3524ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira ReInit(new java.io.InputStreamReader(dstream), startline, startcolumn, buffersize); 3534ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 3544ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 3554ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public void ReInit(java.io.InputStream dstream, String encoding) throws java.io.UnsupportedEncodingException 3564ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira { 3574ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira ReInit(dstream, encoding, 1, 1, 4096); 3584ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 3594ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 3604ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public void ReInit(java.io.InputStream dstream) 3614ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira { 3624ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira ReInit(dstream, 1, 1, 4096); 3634ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 3644ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public void ReInit(java.io.InputStream dstream, String encoding, int startline, 3654ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira int startcolumn) throws java.io.UnsupportedEncodingException 3664ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira { 3674ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira ReInit(dstream, encoding, startline, startcolumn, 4096); 3684ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 3694ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public void ReInit(java.io.InputStream dstream, int startline, 3704ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira int startcolumn) 3714ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira { 3724ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira ReInit(dstream, startline, startcolumn, 4096); 3734ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 3744ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public String GetImage() 3754ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira { 3764ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira if (bufpos >= tokenBegin) 3774ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira return new String(buffer, tokenBegin, bufpos - tokenBegin + 1); 3784ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira else 3794ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira return new String(buffer, tokenBegin, bufsize - tokenBegin) + 3804ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira new String(buffer, 0, bufpos + 1); 3814ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 3824ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 3834ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public char[] GetSuffix(int len) 3844ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira { 3854ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira char[] ret = new char[len]; 3864ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 3874ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira if ((bufpos + 1) >= len) 3884ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira System.arraycopy(buffer, bufpos - len + 1, ret, 0, len); 3894ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira else 3904ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira { 3914ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira System.arraycopy(buffer, bufsize - (len - bufpos - 1), ret, 0, 3924ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira len - bufpos - 1); 3934ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira System.arraycopy(buffer, 0, ret, len - bufpos - 1, bufpos + 1); 3944ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 3954ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 3964ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira return ret; 3974ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 3984ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 3994ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public void Done() 4004ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira { 4014ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira buffer = null; 4024ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira bufline = null; 4034ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira bufcolumn = null; 4044ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 4054ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 4064ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira /** 4074ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira * Method to adjust line and column numbers for the start of a token. 4084ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira */ 4094ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public void adjustBeginLineColumn(int newLine, int newCol) 4104ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira { 4114ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira int start = tokenBegin; 4124ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira int len; 4134ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 4144ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira if (bufpos >= tokenBegin) 4154ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira { 4164ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira len = bufpos - tokenBegin + inBuf + 1; 4174ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 4184ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira else 4194ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira { 4204ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira len = bufsize - tokenBegin + bufpos + 1 + inBuf; 4214ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 4224ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 4234ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira int i = 0, j = 0, k = 0; 4244ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira int nextColDiff = 0, columnDiff = 0; 4254ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 4264ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira while (i < len && 4274ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira bufline[j = start % bufsize] == bufline[k = ++start % bufsize]) 4284ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira { 4294ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira bufline[j] = newLine; 4304ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira nextColDiff = columnDiff + bufcolumn[k] - bufcolumn[j]; 4314ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira bufcolumn[j] = newCol + columnDiff; 4324ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira columnDiff = nextColDiff; 4334ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira i++; 4344ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 4354ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 4364ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira if (i < len) 4374ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira { 4384ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira bufline[j] = newLine++; 4394ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira bufcolumn[j] = newCol + columnDiff; 4404ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 4414ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira while (i++ < len) 4424ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira { 4434ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira if (bufline[j = start % bufsize] != bufline[++start % bufsize]) 4444ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira bufline[j] = newLine++; 4454ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira else 4464ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira bufline[j] = newLine; 4474ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 4484ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 4494ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 4504ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira line = bufline[j]; 4514ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira column = bufcolumn[j]; 4524ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 4534ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 4544ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira} 455