[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [cp-patches] Re: Patch: FYI: fix http Headers oddity
From: |
Chris Burdess |
Subject: |
Re: [cp-patches] Re: Patch: FYI: fix http Headers oddity |
Date: |
Fri, 20 May 2005 08:49:02 +0100 |
User-agent: |
Mutt/1.3.28i |
Bryce McKinlay wrote:
> >>>>Does anyone know why we use the custom "LineInputStream" class instead
> >>>>of, say, BufferedReader here? At one point BufferedReader.readLine()
> >>>>was buggy and could "read too much" and block before returning a line,
> >>>>but I believe we have fixed that. Code re-use would help to avoid bugs
> >>>>like this ;-)
> >>>>
> >>>Erm, because LineInputStream is an InputStream dealing with bytes, and
> >>>BufferedReader is a Reader dealing with chars.
> >>>
> >>Why is this distinction important? We are converting the result to chars
> >>(well, a String) anyway.
> >>
> ...
> However, Tromey did point out a good reason on IRC earlier today:
> BufferedReader.readLine() would read beyond the end of the headers on
> the underlying stream.
Exactly.
> Since the underlying stream may really be bytes
> and not characters, we need a mechanism to reset the stream back to the
> first byte after the headers when it reads past the last EOL.
In fact we don't need any such mechanism, because LineInputStream
already exists and works.
--
Chris Burdess