From 2282c34174a377a9cdc416fd56cb5d87e8a28b49 Mon Sep 17 00:00:00 2001 From: Daniel Stevens Date: Sun, 3 Feb 2019 14:33:38 +0700 Subject: [PATCH] Bug Fix: Fix domain errors The `Slice()` methods should use paraemters in the domain of the slice, rather than the domain of the wrapped stream. --- src/Stream/FileSliceReader.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Stream/FileSliceReader.cpp b/src/Stream/FileSliceReader.cpp index f725f1e2..e0e0906e 100644 --- a/src/Stream/FileSliceReader.cpp +++ b/src/Stream/FileSliceReader.cpp @@ -108,7 +108,7 @@ namespace Stream FileSliceReader FileSliceReader::Slice(uint64_t sliceLength) { - FileSliceReader slice = Slice(wrappedStream.Position(), sliceLength); + FileSliceReader slice = Slice(Position(), sliceLength); // Wait until slice is successfully created before seeking forward. SeekForward(sliceLength); @@ -128,6 +128,6 @@ namespace Stream ); } - return FileSliceReader(wrappedStream, sliceStartPosition, sliceLength); + return FileSliceReader(wrappedStream, this->startingOffset + sliceStartPosition, sliceLength); } }