From d66486c17e55261d33b2a3ee9e7c6b68656a9ef2 Mon Sep 17 00:00:00 2001 From: Feoramund <161657516+Feoramund@users.noreply.github.com> Date: Sun, 18 Aug 2024 23:39:14 -0400 Subject: [PATCH] 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`. --- core/io/util.odin | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/core/io/util.odin b/core/io/util.odin index c24eb99c5..27c344890 100644 --- a/core/io/util.odin +++ b/core/io/util.odin @@ -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