This is an automated email from the ASF dual-hosted git repository. ggregory pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-compress.git
commit 31b972105e4af662bf1e45cf88367dfc155414da Author: Gary D. Gregory <garydgreg...@gmail.com> AuthorDate: Sat Mar 1 15:54:00 2025 -0500 Internal refactoring --- .../compress/archivers/zip/FileRandomAccessOutputStream.java | 9 +-------- .../org/apache/commons/compress/archivers/zip/ZipIoUtil.java | 6 +++--- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/src/main/java/org/apache/commons/compress/archivers/zip/FileRandomAccessOutputStream.java b/src/main/java/org/apache/commons/compress/archivers/zip/FileRandomAccessOutputStream.java index ee3e39f94..16c09c9f4 100644 --- a/src/main/java/org/apache/commons/compress/archivers/zip/FileRandomAccessOutputStream.java +++ b/src/main/java/org/apache/commons/compress/archivers/zip/FileRandomAccessOutputStream.java @@ -72,14 +72,7 @@ public synchronized void write(final byte[] b, final int off, final int len) thr @Override public void writeAll(final byte[] b, final int off, final int len, final long pos) throws IOException { - final ByteBuffer buf = ByteBuffer.wrap(b, off, len); - for (long currentPos = pos; buf.hasRemaining();) { - final int written = channel.write(buf, currentPos); - if (written <= 0) { - throw new IOException("Failed to fully write to file: written=" + written); - } - currentPos += written; - } + ZipIoUtil.writeAll(channel, ByteBuffer.wrap(b, off, len), pos); position += len; } } diff --git a/src/main/java/org/apache/commons/compress/archivers/zip/ZipIoUtil.java b/src/main/java/org/apache/commons/compress/archivers/zip/ZipIoUtil.java index 89c525bff..4a2fe0bb0 100644 --- a/src/main/java/org/apache/commons/compress/archivers/zip/ZipIoUtil.java +++ b/src/main/java/org/apache/commons/compress/archivers/zip/ZipIoUtil.java @@ -39,13 +39,13 @@ final class ZipIoUtil { * @throws IOException If some I/O error occurs or fails or fails to write all bytes. */ static void writeAll(final FileChannel channel, final ByteBuffer buffer, final long position) throws IOException { - for (long currentPosition = position; buffer.hasRemaining();) { + for (long currentPos = position; buffer.hasRemaining();) { final int remaining = buffer.remaining(); - final int written = channel.write(buffer, currentPosition); + final int written = channel.write(buffer, currentPos); if (written <= 0) { throw new IOException("Failed to write all bytes in the buffer for channel=" + channel + ", length=" + remaining + ", written=" + written); } - currentPosition += written; + currentPos += written; } }