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 93e2a0242..968c92e5c 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 @@ int copy(final PackFile pack, long position, final byte[] dstbuf, */ 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 @@ int inflate(final PackFile pack, long position, final byte[] dstbuf, 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 @@ void inflateVerify(final PackFile pack, long position) } } + 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;