diff options
Diffstat (limited to 'src/eu/siacs/conversations/utils/zlib/ZLibInputStream.java')
-rw-r--r-- | src/eu/siacs/conversations/utils/zlib/ZLibInputStream.java | 72 |
1 files changed, 37 insertions, 35 deletions
diff --git a/src/eu/siacs/conversations/utils/zlib/ZLibInputStream.java b/src/eu/siacs/conversations/utils/zlib/ZLibInputStream.java index 2eebf6f4..b777c10c 100644 --- a/src/eu/siacs/conversations/utils/zlib/ZLibInputStream.java +++ b/src/eu/siacs/conversations/utils/zlib/ZLibInputStream.java @@ -12,41 +12,43 @@ import java.util.zip.InflaterInputStream; */ public class ZLibInputStream extends InflaterInputStream { - /** - * Construct a ZLibInputStream, reading data from the underlying stream. - * - * @param is The {@code InputStream} to read data from. - * @throws IOException If an {@code IOException} occurs. - */ - public ZLibInputStream(InputStream is) throws IOException { - super(is, new Inflater(), 512); - } + /** + * Construct a ZLibInputStream, reading data from the underlying stream. + * + * @param is + * The {@code InputStream} to read data from. + * @throws IOException + * If an {@code IOException} occurs. + */ + public ZLibInputStream(InputStream is) throws IOException { + super(is, new Inflater(), 512); + } - /** - * Provide a more InputStream compatible version of available. - * A return value of 1 means that it is likly to read one byte without - * blocking, 0 means that the system is known to block for more input. - * - * @return 0 if no data is available, 1 otherwise - * @throws IOException - */ - @Override - public int available() throws IOException { - /* This is one of the funny code blocks. - * InflaterInputStream.available violates the contract of - * InputStream.available, which breaks kXML2. - * - * I'm not sure who's to blame, oracle/sun for a broken api or the - * google guys for mixing a sun bug with a xml reader that can't handle - * it.... - * - * Anyway, this simple if breaks suns distorted reality, but helps - * to use the api as intended. - */ - if (inf.needsInput()) { - return 0; - } - return super.available(); - } + /** + * Provide a more InputStream compatible version of available. A return + * value of 1 means that it is likly to read one byte without blocking, 0 + * means that the system is known to block for more input. + * + * @return 0 if no data is available, 1 otherwise + * @throws IOException + */ + @Override + public int available() throws IOException { + /* + * This is one of the funny code blocks. InflaterInputStream.available + * violates the contract of InputStream.available, which breaks kXML2. + * + * I'm not sure who's to blame, oracle/sun for a broken api or the + * google guys for mixing a sun bug with a xml reader that can't handle + * it.... + * + * Anyway, this simple if breaks suns distorted reality, but helps to + * use the api as intended. + */ + if (inf.needsInput()) { + return 0; + } + return super.available(); + } } |