diff --git a/src/algorithm.rs b/src/algorithm.rs index 6a92606..5e2fad7 100644 --- a/src/algorithm.rs +++ b/src/algorithm.rs @@ -154,16 +154,15 @@ impl Printer { self.left_total = 1; self.right_total = 1; self.right = self.left; - self.buf.truncate(1); + self.buf.clear(); } else { + self.check_stack(0); self.right += 1; - self.buf.advance_right(); } - self.check_stack(0); - self.buf[self.right] = BufEntry { + self.buf.push(BufEntry { token: Token::Break(b), size: -self.right_total, - }; + }); self.scan_stack.push_back(self.right); self.right_total += b.blank_space; } diff --git a/src/ring.rs b/src/ring.rs index 03e535b..15443b3 100644 --- a/src/ring.rs +++ b/src/ring.rs @@ -34,10 +34,6 @@ impl RingBuffer { pub fn clear(&mut self) { self.data.clear(); } - - pub fn truncate(&mut self, len: usize) { - self.data.truncate(len); - } } impl Index for RingBuffer {