| ... | @@ -311,8 +311,8 @@ pub const DecodeState = struct { | ... | @@ -311,8 +311,8 @@ pub const DecodeState = struct { |
| 311 | try self.decodeLiteralsRingBuffer(dest, sequence.literal_length); | 311 | try self.decodeLiteralsRingBuffer(dest, sequence.literal_length); |
| 312 | const copy_start = dest.write_index + dest.data.len - sequence.offset; | 312 | const copy_start = dest.write_index + dest.data.len - sequence.offset; |
| 313 | const copy_slice = dest.sliceAt(copy_start, sequence.match_length); | 313 | const copy_slice = dest.sliceAt(copy_start, sequence.match_length); |
| 314 | for (copy_slice.first) |b| dest.writeAssumeCapacity(b); | 314 | dest.writeSliceForwardsAssumeCapacity(copy_slice.first); |
| 315 | for (copy_slice.second) |b| dest.writeAssumeCapacity(b); | 315 | dest.writeSliceForwardsAssumeCapacity(copy_slice.second); |
| 316 | self.written_count += sequence.match_length; | 316 | self.written_count += sequence.match_length; |
| 317 | } | 317 | } |
| 318 | | 318 | |
| ... | @@ -723,9 +723,7 @@ pub fn decodeBlockRingBuffer( | ... | @@ -723,9 +723,7 @@ pub fn decodeBlockRingBuffer( |
| 723 | }, | 723 | }, |
| 724 | .rle => { | 724 | .rle => { |
| 725 | if (src.len < 1) return error.MalformedRleBlock; | 725 | if (src.len < 1) return error.MalformedRleBlock; |
| 726 | for (0..block_size) |_| { | 726 | dest.writeSliceAssumeCapacity(src[0..block_size]); |
| 727 | dest.writeAssumeCapacity(src[0]); | | |
| 728 | } | | |
| 729 | consumed_count.* += 1; | 727 | consumed_count.* += 1; |
| 730 | decode_state.written_count += block_size; | 728 | decode_state.written_count += block_size; |
| 731 | return block_size; | 729 | return block_size; |