The class java.io.PushbackInputStream in JDK 1.1.3 returns the wrong value from its available() method. If you look at the source code, it returns
pos + super.available();
when it should really return
(buf.length - pos) + super.available();
I hope I’ve hereby saved you the grief it caused me when implementing some I/O classes to transparently translate NETASCII Internet text messages to the local native text format.