>>>>> "Lillian" == Lillian Angel <[EMAIL PROTECTED]> writes:

I like the idea of this patch, but I am not sure it is correct.

Lillian> -      return new InflaterInputStream(inp, new Inflater(true));
Lillian> +        final int sz = (int) entry.getSize();
Lillian> +        return new InflaterInputStream(inp, new Inflater(true))
Lillian> +        {
Lillian> +          public int available() throws IOException
Lillian> +          {
Lillian> +            if (super.available() != 0)
Lillian> +              return sz;

Return 'sz' doesn't seem to be correct after the caller has read some
bytes.  It is only correct the first time.  I think you want
something like:

  final Inflater inf = new Inflater(true);
  return new InflaterInputStream(....) { ....
     return sz - inf.getTotalOut();

What do you think?

Tom

Reply via email to