summaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.jgit')
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/lib/WindowCursor.java17
1 files changed, 9 insertions, 8 deletions
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/lib/WindowCursor.java b/org.eclipse.jgit/src/org/eclipse/jgit/lib/WindowCursor.java
index 93e2a02420..968c92e5ce 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/lib/WindowCursor.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/lib/WindowCursor.java
@@ -116,10 +116,7 @@ public final class WindowCursor {
*/
int inflate(final PackFile pack, long position, final byte[] dstbuf,
int dstoff) throws IOException, DataFormatException {
- if (inf == null)
- inf = InflaterCache.get();
- else
- inf.reset();
+ prepareInflater();
for (;;) {
pin(pack, position);
dstoff = window.inflate(position, dstbuf, dstoff, inf);
@@ -131,10 +128,7 @@ public final class WindowCursor {
void inflateVerify(final PackFile pack, long position)
throws IOException, DataFormatException {
- if (inf == null)
- inf = InflaterCache.get();
- else
- inf.reset();
+ prepareInflater();
for (;;) {
pin(pack, position);
window.inflateVerify(position, inf);
@@ -144,6 +138,13 @@ public final class WindowCursor {
}
}
+ private void prepareInflater() {
+ if (inf == null)
+ inf = InflaterCache.get();
+ else
+ inf.reset();
+ }
+
private void pin(final PackFile pack, final long position)
throws IOException {
final ByteWindow w = window;