From bbcdf9c685b46d13899926206e21137b6bf84799 Mon Sep 17 00:00:00 2001 From: Robbert van der Helm Date: Fri, 18 Dec 2020 22:14:10 +0100 Subject: [PATCH] Loosen assertions in VectorStream::write_back --- src/common/serialization/vst3/base.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/common/serialization/vst3/base.cpp b/src/common/serialization/vst3/base.cpp index 0ef96324..8be06e16 100644 --- a/src/common/serialization/vst3/base.cpp +++ b/src/common/serialization/vst3/base.cpp @@ -229,10 +229,12 @@ tresult VectorStream::write_back(Steinberg::IBStream* stream) const { int32 num_bytes_written = 0; assert(stream->seek(0, kIBSeekSet) == Steinberg::kResultOk); - assert(stream->write(const_cast(buffer.data()), buffer.size(), - &num_bytes_written) == Steinberg::kResultOk); - assert(num_bytes_written == 0 || - static_cast(num_bytes_written) == buffer.size()); + if (stream->write(const_cast(buffer.data()), buffer.size(), + &num_bytes_written) == Steinberg::kResultOk) { + // Some implementations will return `kResultFalse` when writing 0 bytes + assert(num_bytes_written == 0 || + static_cast(num_bytes_written) == buffer.size()); + } return Steinberg::kResultOk; }