From 1d30ff2dd860f506da14250b73cd7d74ebfddc14 Mon Sep 17 00:00:00 2001 From: Timofey Solomko Date: Sat, 5 Nov 2016 12:01:01 +0300 Subject: [PATCH] Fixed problems with rewind function. --- Sources/DataWithPointer.swift | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Sources/DataWithPointer.swift b/Sources/DataWithPointer.swift index dff2c4a9..5d3d746b 100644 --- a/Sources/DataWithPointer.swift +++ b/Sources/DataWithPointer.swift @@ -69,9 +69,14 @@ class DataWithPointer { } func rewind(bitsCount: Int) { - let amountOfBytes = (bitsCount - self.bitShift) / 8 + let amountOfBytes = (bitsCount - self.bitShift) / 8 + 1 self.index -= amountOfBytes - self.bitShift = bitsCount - 8 * amountOfBytes + self.bitShift = 8 - (bitsCount - self.bitShift) % 8 + + if self.bitShift == 8 { + self.index += 1 + self.bitShift = 0 + } }