Hi Peter,

On Dec 20, 2017, at 3:45 AM, Peter Levart <peter.lev...@gmail.com> wrote:

>                 if (result == null) {
>                     result = copy;
>                 } else {
>                     bufs = new ArrayList<>(8); // <— ?
>                     bufs.add(result);
>                     bufs.add(copy);
>                 }

I am probably missing something here, but if the do-while loop iterates three 
or more times with nread > 0 each time won’t data be lost? Should this not 
instead be:

                if (result == null) {
                    result = copy;
                } else {
                    if (bufs == null) {
                        bufs = new ArrayList<>(8);
                        bufs.add(result);
                    }
                    bufs.add(copy);
                }

Thanks,

Brian

Reply via email to