Cleanup possiblyFilteredInputStream() in WorkingTreeIterator

Use early return instead of nested if/else

Change-Id: I3b5048f9f5cfdfd01f916af550722532db3f9bb3
This commit is contained in:
Robin Rosenberg 2012-04-06 00:26:06 +02:00
parent 3f4725c179
commit 8f9c4ee41d
1 changed files with 27 additions and 30 deletions

View File

@ -335,11 +335,11 @@ 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) { if (len <= MAXIMUM_FILE_SIZE_TO_READ_FULLY) {
ByteBuffer rawbuf = IO.readWholeStream(is, (int) len); ByteBuffer rawbuf = IO.readWholeStream(is, (int) len);
byte[] raw = rawbuf.array(); byte[] raw = rawbuf.array();
@ -349,25 +349,22 @@ private InputStream possiblyFilteredInputStream(final Entry e,
raw = rawbuf.array(); raw = rawbuf.array();
n = rawbuf.limit(); n = rawbuf.limit();
} }
filteredIs = new ByteArrayInputStream(raw, 0, n);
canonLen = n; canonLen = n;
} else { return new ByteArrayInputStream(raw, 0, n);
}
if (isBinary(e)) { if (isBinary(e)) {
filteredIs = is;
canonLen = len; canonLen = len;
} else { return is;
final InputStream lenIs = filterClean(e }
.openInputStream());
final InputStream lenIs = filterClean(e.openInputStream());
try { try {
canonLen = computeLength(lenIs); canonLen = computeLength(lenIs);
} finally { } finally {
safeClose(lenIs); safeClose(lenIs);
} }
filteredIs = filterClean(is); return filterClean(is);
}
}
}
return filteredIs;
} }
private static void safeClose(final InputStream in) { private static void safeClose(final InputStream in) {