Lucene.Net.Demo.Html.SimpleCharStream.ExpandBuff C# (CSharp) Method

ExpandBuff() protected method

protected ExpandBuff ( bool wrapAround ) : void
wrapAround bool
return void
        protected internal virtual void  ExpandBuff(bool wrapAround)
        {
            char[] newbuffer = new char[bufsize + 2048];
            int[] newbufline = new int[bufsize + 2048];
            int[] newbufcolumn = new int[bufsize + 2048];
			
            try
            {
                if (wrapAround)
                {
                    Array.Copy(buffer, tokenBegin, newbuffer, 0, bufsize - tokenBegin);
                    Array.Copy(buffer, 0, newbuffer, bufsize - tokenBegin, bufpos);
                    buffer = newbuffer;
					
                    Array.Copy(bufline, tokenBegin, newbufline, 0, bufsize - tokenBegin);
                    Array.Copy(bufline, 0, newbufline, bufsize - tokenBegin, bufpos);
                    bufline = newbufline;
					
                    Array.Copy(bufcolumn, tokenBegin, newbufcolumn, 0, bufsize - tokenBegin);
                    Array.Copy(bufcolumn, 0, newbufcolumn, bufsize - tokenBegin, bufpos);
                    bufcolumn = newbufcolumn;
					
                    maxNextCharInd = (bufpos += (bufsize - tokenBegin));
                }
                else
                {
                    Array.Copy(buffer, tokenBegin, newbuffer, 0, bufsize - tokenBegin);
                    buffer = newbuffer;
					
                    Array.Copy(bufline, tokenBegin, newbufline, 0, bufsize - tokenBegin);
                    bufline = newbufline;
					
                    Array.Copy(bufcolumn, tokenBegin, newbufcolumn, 0, bufsize - tokenBegin);
                    bufcolumn = newbufcolumn;
					
                    maxNextCharInd = (bufpos -= tokenBegin);
                }
            }
            catch (System.Exception t)
            {
                throw new System.ApplicationException(t.Message);
            }
			
			
            bufsize += 2048;
            available = bufsize;
            tokenBegin = 0;
        }