From ad713602e15b7803ac8e1c450fe37a7447899e48 Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Wed, 16 Dec 2020 12:17:27 -0600 Subject: [PATCH] added more robustness to builder and array api --- core/array.onyx | 19 ++++++++++++------- core/string/builder.onyx | 2 +- core/string/reader.onyx | 2 +- onyx | Bin 510348 -> 510300 bytes progs/odin_example.onyx | 6 +----- src/onyxparser.c | 13 ++++++++----- 6 files changed, 23 insertions(+), 19 deletions(-) diff --git a/core/array.onyx b/core/array.onyx index b367d3a5..18c6f0f8 100644 --- a/core/array.onyx +++ b/core/array.onyx @@ -21,21 +21,25 @@ clear :: proc (arr: ^[..] $T) { arr.count = 0; } -ensure_capacity :: proc (arr: ^[..] $T, cap: u32) { - if arr.capacity >= cap do return; +ensure_capacity :: proc (arr: ^[..] $T, cap: u32) -> bool { + if arr.capacity >= cap do return true; while cap > arr.capacity do arr.capacity <<= 1; - arr.data = cresize(arr.data, sizeof T * arr.capacity); + new_data := cresize(arr.data, sizeof T * arr.capacity); + if new_data == null do return false; + arr.data = new_data; + return true; } -push :: proc (arr: ^[..] $T, x: T) { - ensure_capacity(arr, arr.count + 1); +push :: proc (arr: ^[..] $T, x: T) -> bool { + if !ensure_capacity(arr, arr.count + 1) do return false; arr.data[arr.count] = x; arr.count += 1; + return true; } -insert :: proc (arr: ^[..] $T, idx: u32, x: T) { - ensure_capacity(arr, arr.count + 1); +insert :: proc (arr: ^[..] $T, idx: u32, x: T) -> bool { + if !ensure_capacity(arr, arr.count + 1) do return false; arr.count += 1; while i := arr.count; i > idx { @@ -44,6 +48,7 @@ insert :: proc (arr: ^[..] $T, idx: u32, x: T) { } arr.data[idx] = x; + return true; } remove :: proc (arr: ^[..] $T, elem: T) { diff --git a/core/string/builder.onyx b/core/string/builder.onyx index 37372e1a..69ee4d5a 100644 --- a/core/string/builder.onyx +++ b/core/string/builder.onyx @@ -31,7 +31,7 @@ add_str :: proc (use sb: ^Builder, s: str) -> ^Builder { if data.capacity < len_total do #context_scope { context.allocator = alloc; - array.ensure_capacity(^data, len_total); + if !array.ensure_capacity(^data, len_total) do return sb; } for i: 0 .. s.count do data[data.count + i] = s[i]; diff --git a/core/string/reader.onyx b/core/string/reader.onyx index f1dcaa78..b7bc8a7e 100644 --- a/core/string/reader.onyx +++ b/core/string/reader.onyx @@ -157,7 +157,7 @@ advance_line :: proc (use reader: ^StringReader) { if count == 0 do return; adv := 0; - while data[adv] != #char "\n" do adv += 1; + while data[adv] != #char "\n" && adv <= count - 1 do adv += 1; data += adv + 1; count -= adv + 1; diff --git a/onyx b/onyx index 51cdf8eabc92d9d7b774e792c1a5c4ca754ed783..9703240b979e6b851e26f5f62093db6e93fc2d0c 100755 GIT binary patch delta 69499 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 BA;|y$ diff --git a/progs/odin_example.onyx b/progs/odin_example.onyx index e3dea714..dcf5583a 100644 --- a/progs/odin_example.onyx +++ b/progs/odin_example.onyx @@ -91,9 +91,5 @@ main :: proc (args: [] cstr) { } } - print("The program \""); - print(program); - print("\" calculates the value "); - print(accumulator); - print("\n"); + printf("The program \"%s\" calculates the value %i\n", program, accumulator); } diff --git a/src/onyxparser.c b/src/onyxparser.c index dd76093d..47052f15 100644 --- a/src/onyxparser.c +++ b/src/onyxparser.c @@ -1251,15 +1251,18 @@ static AstNode* parse_statement(OnyxParser* parser) { assignment->right = builtin_context_variable; context_tmp->next = (AstNode *) assignment; - AstBlock* context_block = parse_block(parser); - needs_semicolon = 0; - assignment->next = (AstNode *) context_block; - AstBinaryOp* assignment2 = make_node(AstBinaryOp, Ast_Kind_Binary_Op); assignment2->operation = Binary_Op_Assign; assignment2->left = builtin_context_variable; assignment2->right = (AstTyped *) context_tmp; - context_block->next = (AstNode *) assignment2; + + AstDefer* defer_node = make_node(AstDefer, Ast_Kind_Defer); + defer_node->stmt = (AstNode *) assignment2; + assignment->next = (AstNode *) defer_node; + + AstBlock* context_block = parse_block(parser); + needs_semicolon = 0; + defer_node->next = (AstNode *) context_block; retval = (AstNode *) context_tmp; break; -- 2.25.1