Code clean-up.

(cherry picked from commit c7b9b1fadd2c06b13c98775e77dab728bc0eb296)
This commit is contained in:
Harald Kuhr 2022-10-19 20:45:41 +02:00
parent b5e8853e6b
commit 38192ae835

View File

@ -48,18 +48,18 @@ public final class ByteArrayImageInputStream extends ImageInputStreamImpl {
private final int dataOffset; private final int dataOffset;
private final int dataLength; private final int dataLength;
public ByteArrayImageInputStream(final byte[] pData) { public ByteArrayImageInputStream(final byte[] data) {
this(pData, 0, pData != null ? pData.length : -1); this(data, 0, data != null ? data.length : -1);
} }
public ByteArrayImageInputStream(final byte[] pData, int offset, int length) { public ByteArrayImageInputStream(final byte[] data, int offset, int length) {
data = notNull(pData, "data"); this.data = notNull(data, "data");
dataOffset = isBetween(0, pData.length, offset, "offset"); dataOffset = isMax(data.length, offset, "offset");
dataLength = isBetween(0, pData.length - offset, length, "length"); dataLength = isMax(data.length - offset, length, "length");
} }
private static int isBetween(final int low, final int high, final int value, final String name) { private static int isMax(final int high, final int value, final String name) {
return isTrue(value >= low && value <= high, value, String.format("%s out of range [%d, %d]: %d", name, low, high, value)); return isTrue(value >= 0 && value <= high, value, String.format("%s out of range [0, %d]: %d", name, high, value));
} }
public int read() throws IOException { public int read() throws IOException {
@ -72,14 +72,14 @@ public final class ByteArrayImageInputStream extends ImageInputStreamImpl {
return data[((int) streamPos++) + dataOffset] & 0xff; return data[((int) streamPos++) + dataOffset] & 0xff;
} }
public int read(byte[] pBuffer, int pOffset, int pLength) throws IOException { public int read(byte[] buffer, int offset, int len) throws IOException {
if (streamPos >= dataLength) { if (streamPos >= dataLength) {
return -1; return -1;
} }
int length = (int) Math.min(this.dataLength - streamPos, pLength); int length = (int) Math.min(dataLength - streamPos, len);
bitOffset = 0; bitOffset = 0;
System.arraycopy(data, (int) streamPos + dataOffset, pBuffer, pOffset, length); System.arraycopy(data, (int) streamPos + dataOffset, buffer, offset, length);
streamPos += length; streamPos += length;
return length; return length;