pub fn findBuffer(buffer: []const u8) FindBufferError!EndRecord buffer: []const u8111
112
113
114
115
116
117
118 pub fn findBuffer(buffer: []const u8) FindBufferError!EndRecord {
const pos = std.mem.findLast(u8, buffer, &end_record_sig) orelse return error.ZipNoEndRecord;
if (pos + @sizeOf(EndRecord) > buffer.len) return error.EndOfStream;
const record_ptr: *EndRecord = @ptrCast(buffer[pos..][0..@sizeOf(EndRecord)]);
var record = record_ptr.*;
if (!is_le) std.mem.byteSwapAllFields(EndRecord, &record);
return record;
}
TODO audit this logic