From e928793e7994d780979faca0939a0f6642f517d5 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Wed, 29 Sep 2021 14:49:06 +0100 Subject: [PATCH] Correct `_builder_stream_vtable` --- core/strings/builder.odin | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/core/strings/builder.odin b/core/strings/builder.odin index dbf886b3e..5ae7d102a 100644 --- a/core/strings/builder.odin +++ b/core/strings/builder.odin @@ -52,18 +52,18 @@ _builder_stream_vtable := &io.Stream_VTable{ impl_write = proc(s: io.Stream, p: []byte) -> (n: int, err: io.Error) { b := (^Builder)(s.stream_data) n = write_bytes(b, p) - if len(b.buf) == cap(b.buf) { + if n < len(p) { err = .EOF } return }, - impl_write_byte = proc(s: io.Stream, c: byte) -> io.Error { + impl_write_byte = proc(s: io.Stream, c: byte) -> (err: io.Error) { b := (^Builder)(s.stream_data) - _ = write_byte(b, c) - if len(b.buf) == cap(b.buf) { - return .EOF + n := write_byte(b, c) + if n == 0 { + err = .EOF } - return nil + return }, impl_size = proc(s: io.Stream) -> i64 { b := (^Builder)(s.stream_data)