| ... | @@ -1743,8 +1743,10 @@ pub const Raw = struct { | ... | @@ -1743,8 +1743,10 @@ pub const Raw = struct { |
| 1743 | try Raw.rebaseInner(w, 0, w.buffer.len, false); | 1743 | try Raw.rebaseInner(w, 0, w.buffer.len, false); |
| 1744 | } | 1744 | } |
| 1745 | | 1745 | |
| 1746 | fn finish(r: *Raw) Writer.Error!void { | 1746 | pub fn finish(r: *Raw) Writer.Error!void { |
| | 1747 | defer r.writer = .failing; |
| 1747 | try Raw.rebaseInner(&r.writer, 0, r.writer.buffer.len, true); | 1748 | try Raw.rebaseInner(&r.writer, 0, r.writer.buffer.len, true); |
| | 1749 | // The footer is written in `rebaseInner` as part of the write vector |
| 1748 | } | 1750 | } |
| 1749 | | 1751 | |
| 1750 | fn rebase(w: *Writer, preserve: usize, capacity: usize) Writer.Error!void { | 1752 | fn rebase(w: *Writer, preserve: usize, capacity: usize) Writer.Error!void { |
| ... | @@ -2334,7 +2336,7 @@ pub const Huffman = struct { | ... | @@ -2334,7 +2336,7 @@ pub const Huffman = struct { |
| 2334 | try h.bit_writer.byteAlignBlocks(); | 2336 | try h.bit_writer.byteAlignBlocks(); |
| 2335 | } | 2337 | } |
| 2336 | | 2338 | |
| 2337 | fn finish(h: *Huffman) Writer.Error!void { | 2339 | pub fn finish(h: *Huffman) Writer.Error!void { |
| 2338 | defer h.writer = .failing; | 2340 | defer h.writer = .failing; |
| 2339 | try Huffman.rebaseInner(&h.writer, 0, h.writer.buffer.len, true); | 2341 | try Huffman.rebaseInner(&h.writer, 0, h.writer.buffer.len, true); |
| 2340 | try h.bit_writer.output.rebase(0, 1); | 2342 | try h.bit_writer.output.rebase(0, 1); |