From 283f4c978298771f9b488474b737c8ba877de1a2 Mon Sep 17 00:00:00 2001 From: s809 <43530948+s809@users.noreply.github.com> Date: Sun, 20 Aug 2023 20:23:28 +0500 Subject: [PATCH] Fix incorrect use of checksum stream (for some reason each section goes twice through this method) --- .../core/file/metaData/AbstractMetaDataContainerFile.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/com/seibel/distanthorizons/core/file/metaData/AbstractMetaDataContainerFile.java b/core/src/main/java/com/seibel/distanthorizons/core/file/metaData/AbstractMetaDataContainerFile.java index 1248de29d..5a5a0390e 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/file/metaData/AbstractMetaDataContainerFile.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/file/metaData/AbstractMetaDataContainerFile.java @@ -215,10 +215,11 @@ public abstract class AbstractMetaDataContainerFile { fileChannel.position(METADATA_SIZE_IN_BYTES); - try (DhDataOutputStream compressedOut = new DhDataOutputStream(Channels.newOutputStream(fileChannel)); - CheckedOutputStream checkedOut = new CheckedOutputStream(compressedOut, new Adler32())) // TODO: Is Adler32 ok? + try (CheckedOutputStream checkedOut = new CheckedOutputStream(Channels.newOutputStream(fileChannel), new Adler32()); // TODO: Is Adler32 ok? + DhDataOutputStream compressedOut = new DhDataOutputStream(checkedOut)) { dataWriterFunc.writeBufferToFile(compressedOut); + compressedOut.flush(); this.baseMetaData.checksum = (int) checkedOut.getChecksum().getValue(); }