"Sohn, Matthias" <matthias.sohn@xxxxxxx> wrote: > This method ignores the return value of java.io.InputStream.skip() Doh. In theory the skip should always succeed because the buffer held the entire block we want to skip over due to the mark/reset usage around this region. But I agree, a skipFully() pattern is better here. > @@ -139,12 +140,23 @@ private String readLine(final byte[] hdrbuf) > throws IOException { > while (lf < cnt && hdrbuf[lf] != '\n') > lf++; > bin.reset(); > - bin.skip(lf); > + skipFully(bin, lf); > if (lf < cnt && hdrbuf[lf] == '\n') > - bin.skip(1); > + skipFully(bin, 1); > return RawParseUtils.decode(Constants.CHARSET, hdrbuf, > 0, lf); > } > > + // skip given number of bytes on InputStream respecting return > value of InputStream.skip() > + static private void skipFully(InputStream in, long nBytes) We already have this method; see NB.skipFully(). NB also has readFully() and a few other useful functions for dealing with common IO related patterns. Please respin by calling NB.skipFully above rather than creating a new package level method, and fix the line wrapping issue so we can more easily apply it. :-) -- Shawn. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html