Here is an updated version which hopefully addresses the shortcoming pointed 
out below:

http://cr.openjdk.java.net/~bpb/6516099/webrev.02/ 
<http://cr.openjdk.java.net/~bpb/6516099/webrev.02/>

The remaining assumption here is that skip(long) never returns a negative value.

Thanks,

Brian

> On Oct 23, 2018, at 11:29 AM, Brian Burkhalter <brian.burkhal...@oracle.com> 
> wrote:
> 
> That is exactly why version .00 of the patch implemented skipNBytes() in a 
> fixed way in terms of read(). I think that there is a good compromise however 
> and I shall update the patch accordingly.
> 
>> On Oct 22, 2018, at 12:55 PM, Brent Christian <brent.christ...@oracle.com 
>> <mailto:brent.christ...@oracle.com>> wrote:
>> 
>> 562     public void skipNBytes(long n) throws IOException {
>> 563         if (n > 0 && skip(n) != n) {
>> 564             throw new EOFException("End of stream before enough bytes 
>> skipped");
>> 565         }
>> 566     }
>> 
>> If an overrided skip() method were to skip < n bytes but not yet be at EOF, 
>> which I think the skip() spec allows, then wouldn't skipNBytes() throw an 
>> EOFException ?

Reply via email to