From 1471a35bb83c0c656d766234193559269deb7cfd Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Sun, 1 Jul 2018 14:40:48 -0400 Subject: [PATCH] Reserves a more appropriate amount of data. --- Storage/Disk/Encodings/MFM/Encoder.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Storage/Disk/Encodings/MFM/Encoder.cpp b/Storage/Disk/Encodings/MFM/Encoder.cpp index 115d28f4e..57533ec01 100644 --- a/Storage/Disk/Encodings/MFM/Encoder.cpp +++ b/Storage/Disk/Encodings/MFM/Encoder.cpp @@ -127,7 +127,7 @@ template std::shared_ptr std::size_t post_data_bytes, uint8_t post_data_value, std::size_t expected_track_bytes) { Storage::Disk::PCMSegment segment; - segment.data.reserve(expected_track_bytes); + segment.data.reserve(expected_track_bytes * 8); T shifter(segment.data); // output the index mark @@ -192,6 +192,7 @@ void Encoder::output_short(uint16_t value) { uint16_t mask = 0x8000; while(mask) { target_.push_back(!!(value & mask)); + mask >>= 1; } }