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 _______________________________________________ Classpath-patches mailing list [email protected] http://lists.gnu.org/mailman/listinfo/classpath-patches
