[ 
https://issues.apache.org/jira/browse/VFS-355?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13067498#comment-13067498
 ] 

Miroslav Pokorny commented on VFS-355:
--------------------------------------

replacing RamFileRandomAccessContent.InputStream.read(byte[],int,int) with the 
code below *WORKS*...

@Override
            public int read(byte b[], int off, int len) throws IOException {
                int count = -1;
                final int left = getLeftBytes();
                if (left > 0) {
                    count = Math.min(len, left);
                    RamFileRandomAccessContent.this.readFully(b, off, count);
                    ;
                }
                return count;
            }

> RamFileProvider: ReadingRamFileRandomAccessContent InputStream of file does 
> not return -1 when empty...
> -------------------------------------------------------------------------------------------------------
>
>                 Key: VFS-355
>                 URL: https://issues.apache.org/jira/browse/VFS-355
>             Project: Commons VFS
>          Issue Type: Bug
>    Affects Versions: 1.0
>         Environment: N/A
>            Reporter: Miroslav Pokorny
>
> RamFileRandomAccessContent
> public int read(byte b[], int off, int len) throws IOException
>                       {
>                               int retLen = Math.min(len, getLeftBytes());
>                               RamFileRandomAccessContent.this.readFully(b, 
> off, retLen);
>                               return retLen;
>                       }
> Notice retLen should return 1 if getLeftBytes() returns 0 but it doesnt. When 
> empty it simply returns 0 which means if one reads until -1 it never 
> happens...

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to