aboutsummaryrefslogtreecommitdiff
path: root/src/server/reader.odin
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/reader.odin')
-rw-r--r--src/server/reader.odin42
1 files changed, 21 insertions, 21 deletions
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
}