Return-Path: Mailing-List: contact tomcat-dev-help@jakarta.apache.org; run by ezmlm Delivered-To: mailing list tomcat-dev@jakarta.apache.org Received: (qmail 7544 invoked from network); 3 Dec 1999 00:39:52 -0000 Received: from unknown (HELO web1.epitonic.com) (216.33.145.58) by apache.org with SMTP; 3 Dec 1999 00:39:52 -0000 Received: from bmovie (adsl-216-102-219-194.dsl.snfc21.pacbell.net [216.102.219.194]) by web1.epitonic.com (8.8.8+Sun/8.8.8) with ESMTP id QAA23217 for ; Thu, 2 Dec 1999 16:37:01 -0800 (PST) Message-Id: <4.2.0.58.19991202121154.00af62d0@pop.epitonic.com> X-Sender: alex@pop.epitonic.com X-Mailer: QUALCOMM Windows Eudora Pro Version 4.2.0.58 Date: Thu, 02 Dec 1999 14:10:20 -0800 To: tomcat-dev@jakarta.apache.org From: Alex Cruikshank Subject: Re: Bugs in JspReader.java In-Reply-To: <8525683B.0038BE8F.00@d54mta04.raleigh.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed > >Alex, Why do you suggest a new internal class instead of fixing mark? Currently, Mark only holds the state for a single stream, and the rest of the reader's state (stream, master, and includeStack) is stored as class variables, so it didn't occur to me to move all these into Mark. But I think it's ultimately a better solution. IncludeState would need to be moved into Mark. The includeStack would have to be cloned everytime a new mark was created, and every method in JspReader that accesses stream would have to access current.stream. The only problem is that, somehow, Mark will have to make it's includeStack accesible to JspReader. Maybe the solution would be to give Mark a pushStream(char[] stream, int fileId, String baseDir ), and a popStream() that are called by pushFile() and popFile() in JspReader respectively. These are a lot of changes, but ultimately would allow JspReader to work as advertised while maintaining the same interface. I'll work on a version and see if it works. Any word on if the other changes could be made? Alex Cruikshank Software Engineer Epitonic.com alex@epitonic.com