Cleanup possiblyFilteredInputStream() in WorkingTreeIterator
Use early return instead of nested if/else Change-Id: I3b5048f9f5cfdfd01f916af550722532db3f9bb3
This commit is contained in:
parent
3f4725c179
commit
8f9c4ee41d
|
@ -335,39 +335,36 @@ private byte[] idBufferBlob(final Entry e) {
|
||||||
|
|
||||||
private InputStream possiblyFilteredInputStream(final Entry e,
|
private InputStream possiblyFilteredInputStream(final Entry e,
|
||||||
final InputStream is, final long len) throws IOException {
|
final InputStream is, final long len) throws IOException {
|
||||||
InputStream filteredIs;
|
|
||||||
if (!mightNeedCleaning()) {
|
if (!mightNeedCleaning()) {
|
||||||
filteredIs = is;
|
|
||||||
canonLen = len;
|
canonLen = len;
|
||||||
} else {
|
return is;
|
||||||
if (len <= MAXIMUM_FILE_SIZE_TO_READ_FULLY) {
|
|
||||||
ByteBuffer rawbuf = IO.readWholeStream(is, (int) len);
|
|
||||||
byte[] raw = rawbuf.array();
|
|
||||||
int n = rawbuf.limit();
|
|
||||||
if (!isBinary(raw, n)) {
|
|
||||||
rawbuf = filterClean(raw, n);
|
|
||||||
raw = rawbuf.array();
|
|
||||||
n = rawbuf.limit();
|
|
||||||
}
|
|
||||||
filteredIs = new ByteArrayInputStream(raw, 0, n);
|
|
||||||
canonLen = n;
|
|
||||||
} else {
|
|
||||||
if (isBinary(e)) {
|
|
||||||
filteredIs = is;
|
|
||||||
canonLen = len;
|
|
||||||
} else {
|
|
||||||
final InputStream lenIs = filterClean(e
|
|
||||||
.openInputStream());
|
|
||||||
try {
|
|
||||||
canonLen = computeLength(lenIs);
|
|
||||||
} finally {
|
|
||||||
safeClose(lenIs);
|
|
||||||
}
|
|
||||||
filteredIs = filterClean(is);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return filteredIs;
|
|
||||||
|
if (len <= MAXIMUM_FILE_SIZE_TO_READ_FULLY) {
|
||||||
|
ByteBuffer rawbuf = IO.readWholeStream(is, (int) len);
|
||||||
|
byte[] raw = rawbuf.array();
|
||||||
|
int n = rawbuf.limit();
|
||||||
|
if (!isBinary(raw, n)) {
|
||||||
|
rawbuf = filterClean(raw, n);
|
||||||
|
raw = rawbuf.array();
|
||||||
|
n = rawbuf.limit();
|
||||||
|
}
|
||||||
|
canonLen = n;
|
||||||
|
return new ByteArrayInputStream(raw, 0, n);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isBinary(e)) {
|
||||||
|
canonLen = len;
|
||||||
|
return is;
|
||||||
|
}
|
||||||
|
|
||||||
|
final InputStream lenIs = filterClean(e.openInputStream());
|
||||||
|
try {
|
||||||
|
canonLen = computeLength(lenIs);
|
||||||
|
} finally {
|
||||||
|
safeClose(lenIs);
|
||||||
|
}
|
||||||
|
return filterClean(is);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void safeClose(final InputStream in) {
|
private static void safeClose(final InputStream in) {
|
||||||
|
|
Loading…
Reference in New Issue