d.smali
.class public final Lorg/apache/commons/compress/a/d;
.super Ljava/lang/Object;
.source "IOUtils.java"
# static fields
.field private static final a:[B
# direct methods
.method static constructor <clinit>()V
.registers 1
const/16 v0, 0x1000
.line 1
new-array v0, v0, [B
sput-object v0, Lorg/apache/commons/compress/a/d;->a:[B
return-void
.end method
.method public static a(Ljava/io/InputStream;[B)I
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 5
array-length v0, p1
const/4 v1, 0x0
invoke-static {p0, p1, v1, v0}, Lorg/apache/commons/compress/a/d;->a(Ljava/io/InputStream;[BII)I
move-result p0
return p0
.end method
.method public static a(Ljava/io/InputStream;[BII)I
.registers 7
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
if-ltz p3, :cond_1b
if-ltz p2, :cond_1b
add-int v0, p3, p2
.line 6
array-length v1, p1
if-gt v0, v1, :cond_1b
const/4 v0, 0x0
:goto_a
if-eq v0, p3, :cond_1a
add-int v1, p2, v0
sub-int v2, p3, v0
.line 7
invoke-virtual {p0, p1, v1, v2}, Ljava/io/InputStream;->read([BII)I
move-result v1
const/4 v2, -0x1
if-ne v1, v2, :cond_18
goto :goto_1a
:cond_18
add-int/2addr v0, v1
goto :goto_a
:cond_1a
:goto_1a
return v0
.line 8
:cond_1b
new-instance p0, Ljava/lang/IndexOutOfBoundsException;
invoke-direct {p0}, Ljava/lang/IndexOutOfBoundsException;-><init>()V
goto :goto_22
:goto_21
throw p0
:goto_22
goto :goto_21
.end method
.method public static a(Ljava/io/InputStream;J)J
.registers 11
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
move-wide v0, p1
:goto_1
const-wide/16 v2, 0x0
cmp-long v4, v0, v2
if-lez v4, :cond_12
.line 1
invoke-virtual {p0, v0, v1}, Ljava/io/InputStream;->skip(J)J
move-result-wide v4
cmp-long v6, v4, v2
if-nez v6, :cond_10
goto :goto_12
:cond_10
sub-long/2addr v0, v4
goto :goto_1
:cond_12
:goto_12
cmp-long v4, v0, v2
if-lez v4, :cond_2b
.line 2
sget-object v4, Lorg/apache/commons/compress/a/d;->a:[B
const/4 v5, 0x0
const-wide/16 v6, 0x1000
.line 3
invoke-static {v0, v1, v6, v7}, Ljava/lang/Math;->min(JJ)J
move-result-wide v6
long-to-int v7, v6
.line 4
invoke-static {p0, v4, v5, v7}, Lorg/apache/commons/compress/a/d;->a(Ljava/io/InputStream;[BII)I
move-result v4
const/4 v5, 0x1
if-ge v4, v5, :cond_28
goto :goto_2b
:cond_28
int-to-long v4, v4
sub-long/2addr v0, v4
goto :goto_12
:cond_2b
:goto_2b
sub-long/2addr p1, v0
return-wide p1
.end method