Explorar el Código

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`.
Feoramund hace 1 año
padre
commit
d66486c17e
Se han modificado 1 ficheros con 3 adiciones y 2 borrados
  1. 3 2
      core/io/util.odin

+ 3 - 2
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