From 58287455d64ab16091522bf8a358b079ef05daad Mon Sep 17 00:00:00 2001 From: Daniel Gavin Date: Fri, 4 Mar 2022 12:17:00 +0100 Subject: strip colons and update ast to use unions --- src/server/reader.odin | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) (limited to 'src/server/reader.odin') diff --git a/src/server/reader.odin b/src/server/reader.odin index a05e147..be0d4ae 100644 --- a/src/server/reader.odin +++ b/src/server/reader.odin @@ -4,7 +4,7 @@ import "core:os" import "core:mem" import "core:strings" -ReaderFn :: proc(_: rawptr, _: []byte) -> (int, int); +ReaderFn :: proc(_: rawptr, _: []byte) -> (int, int) Reader :: struct { reader_fn: ReaderFn, @@ -12,61 +12,61 @@ Reader :: struct { } make_reader :: proc(reader_fn: ReaderFn, reader_context: rawptr) -> Reader { - return Reader {reader_context = reader_context, reader_fn = reader_fn}; + return Reader {reader_context = reader_context, reader_fn = reader_fn} } read_u8 :: proc(reader: ^Reader) -> (u8, bool) { - value: [1]byte; + value: [1]byte - read, err := reader.reader_fn(reader.reader_context, value[:]); + read, err := reader.reader_fn(reader.reader_context, value[:]) if (err != 0 || read != 1) { - return 0, false; + return 0, false } - return value[0], true; + return value[0], true } read_until_delimiter :: proc(reader: ^Reader, delimiter: u8, builder: ^strings.Builder) -> bool { for true { - value, success := read_u8(reader); + value, success := read_u8(reader) if (!success) { - return false; + return false } - strings.write_byte(builder, value); + strings.write_byte(builder, value) if (value == delimiter) { - break; + break } } - return true; + return true } read_sized :: proc(reader: ^Reader, data: []u8) -> (ok: bool) { - ok = true; - size := len(data); - n := 0; + ok = true + size := len(data) + n := 0 for n < size && ok { - read: int; - err_code: int; + read: int + err_code: int - read, err_code = reader.reader_fn(reader.reader_context, data[n:]); + read, err_code = reader.reader_fn(reader.reader_context, data[n:]) - ok = err_code == 0; + ok = err_code == 0 - n += read; + n += read } if n >= size { - ok = true; + ok = true } - return; + return } -- cgit v1.2.3