Function appendLz [src]

Fetch an LZ sequence (length, distance) from inside the buffer

Prototype

pub fn appendLz( self: *Self, allocator: Allocator, len: usize, dist: usize, writer: anytype, ) !void

Parameters

self: *Selfallocator: Allocatorlen: usizedist: usize

Source

pub fn appendLz( self: *Self, allocator: Allocator, len: usize, dist: usize, writer: anytype, ) !void { if (dist > self.dict_size or dist > self.len) { return error.CorruptInput; } var offset = (self.dict_size + self.cursor - dist) % self.dict_size; var i: usize = 0; while (i < len) : (i += 1) { const x = self.get(offset); try self.appendLiteral(allocator, x, writer); offset += 1; if (offset == self.dict_size) { offset = 0; } } }