If the stream is a delta decompression stream, getting the size
can be expensive. Its cheaper to get it from the stream itself
rather than from the object loader.
Change-Id: Ia7f0af98681f6d56ea419a48c6fa8eea09274b28
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
if (isLarge()) {
ObjectStream in = openStream();
try {
+ final long sz = in.getSize();
byte[] tmp = new byte[1024];
long copied = 0;
for (;;) {
out.write(tmp, 0, n);
copied += n;
}
- if (copied != getSize())
+ if (copied != sz)
throw new EOFException();
} finally {
in.close();