pub fn toOwnedSlice(mr: *MultiReader, index: usize) Allocator.Error![]u8 mr: *MultiReaderindex: usize132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147pub fn toOwnedSlice(mr: *MultiReader, index: usize) Allocator.Error![]u8 {
const gpa = mr.gpa;
const r: *Io.Reader = reader(mr, index);
if (r.seek == 0) {
const new = try gpa.realloc(r.buffer, r.end);
r.buffer = &.{};
r.end = 0;
return new;
}
const new = try gpa.dupe(u8, r.buffered());
gpa.free(r.buffer);
r.buffer = &.{};
r.seek = 0;
r.end = 0;
return new;
}