Correct _builder_stream_vtable

This commit is contained in:
gingerBill
2021-09-29 14:49:06 +01:00
parent e99061500d
commit e928793e79
+6 -6
View File
@@ -52,18 +52,18 @@ _builder_stream_vtable := &io.Stream_VTable{
impl_write = proc(s: io.Stream, p: []byte) -> (n: int, err: io.Error) { impl_write = proc(s: io.Stream, p: []byte) -> (n: int, err: io.Error) {
b := (^Builder)(s.stream_data) b := (^Builder)(s.stream_data)
n = write_bytes(b, p) n = write_bytes(b, p)
if len(b.buf) == cap(b.buf) { if n < len(p) {
err = .EOF err = .EOF
} }
return 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) b := (^Builder)(s.stream_data)
_ = write_byte(b, c) n := write_byte(b, c)
if len(b.buf) == cap(b.buf) { if n == 0 {
return .EOF err = .EOF
} }
return nil return
}, },
impl_size = proc(s: io.Stream) -> i64 { impl_size = proc(s: io.Stream) -> i64 {
b := (^Builder)(s.stream_data) b := (^Builder)(s.stream_data)