]> source.dussan.org Git - poi.git/commitdiff
do not write single bytes
authorAxel Howind <axh@apache.org>
Thu, 22 Feb 2024 15:44:31 +0000 (15:44 +0000)
committerAxel Howind <axh@apache.org>
Thu, 22 Feb 2024 15:44:31 +0000 (15:44 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1915953 13f79535-47bb-0310-9956-ffa450edef68

poi-ooxml/src/main/java/org/apache/poi/xssf/streaming/Zip64Impl.java

index 706004912da791119235842251f5c2e4d380ab38..d2e00f56ed9b76415832e6e578943105eedb2918 100644 (file)
@@ -145,9 +145,10 @@ class Zip64Impl {
      * Writes a 16-bit short to the output stream in little-endian byte order.
      */
     private void writeShort(int v) throws IOException {
-        OutputStream out = this.out;
-        out.write((v >>> 0) & 0xff);
-        out.write((v >>> 8) & 0xff);
+        out.write(new byte[]{
+                        (byte) ((v >>> 0) & 0xff),
+                        (byte) ((v >>> 8) & 0xff)
+        });
         written += 2;
     }
 
@@ -155,11 +156,12 @@ class Zip64Impl {
      * Writes a 32-bit int to the output stream in little-endian byte order.
      */
     private void writeInt(long v) throws IOException {
-        OutputStream out = this.out;
-        out.write((int) ((v >>> 0) & 0xff));
-        out.write((int) ((v >>> 8) & 0xff));
-        out.write((int) ((v >>> 16) & 0xff));
-        out.write((int) ((v >>> 24) & 0xff));
+        out.write(new byte[]{
+                (byte) ((v >>> 0) & 0xff),
+                (byte) ((v >>> 8) & 0xff),
+                (byte) ((v >>> 16) & 0xff),
+                (byte) ((v >>> 24) & 0xff)
+        });
         written += 4;
     }
 
@@ -167,17 +169,17 @@ class Zip64Impl {
      * Writes a 64-bit int to the output stream in little-endian byte order.
      */
     private void writeLong(long v) throws IOException {
-        OutputStream out = this.out;
-        out.write((int) ((v >>> 0) & 0xff));
-        out.write((int) ((v >>> 8) & 0xff));
-        out.write((int) ((v >>> 16) & 0xff));
-        out.write((int) ((v >>> 24) & 0xff));
-        out.write((int) ((v >>> 32) & 0xff));
-        out.write((int) ((v >>> 40) & 0xff));
-        out.write((int) ((v >>> 48) & 0xff));
-        out.write((int) ((v >>> 56) & 0xff));
+        out.write(new byte[]{
+                (byte) ((v >>> 0) & 0xff),
+                (byte) ((v >>> 8) & 0xff),
+                (byte) ((v >>> 16) & 0xff),
+                (byte) ((v >>> 24) & 0xff),
+                (byte) ((v >>> 32) & 0xff),
+                (byte) ((v >>> 40) & 0xff),
+                (byte) ((v >>> 48) & 0xff),
+                (byte) ((v >>> 56) & 0xff)
+        });
         written += 8;
     }
 
 }
-