Make io.Section_Reader set base too

This should fix seeking from `.Start`, getting the `size`, and
`read_at`.

Also make the API consistent with the other `*_init` procs in
`util.odin` by returning the `io.Reader`.
This commit is contained in:
Feoramund
2024-08-18 23:39:14 -04:00
committed by Laytan
parent 981a2e1a00
commit d66486c17e

View File

@@ -376,11 +376,12 @@ Section_Reader :: struct {
limit: i64,
}
section_reader_init :: proc(s: ^Section_Reader, r: Reader_At, off: i64, n: i64) {
section_reader_init :: proc(s: ^Section_Reader, r: Reader_At, off: i64, n: i64) -> Reader {
s.r = r
s.base = off
s.off = off
s.limit = off + n
return
return section_reader_to_stream(s)
}
section_reader_to_stream :: proc(s: ^Section_Reader) -> (out: Stream) {
out.data = s