diff options
author | Joshua Rowe <17525998+omnisci3nce@users.noreply.github.com> | 2024-02-25 13:50:16 +1100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-25 13:50:16 +1100 |
commit | b5b7cea24c46d28a4b72bc18ca8ccb2d532007d3 (patch) | |
tree | fe49ddad815c65ef0deb87dd76e172051e6c49e7 /examples | |
parent | fc287c6e4f958242a4272da5cb1704e3e789fe07 (diff) | |
parent | 938f745f052c14fccaa987b98ea4ac84e70c1fcc (diff) |
Merge pull request #3 from omnisci3nce/feature/some-string-utils
Port String utils but using arena for allocation
Diffstat (limited to 'examples')
-rw-r--r-- | examples/main_loop/ex_main_loop.c | 2 | ||||
-rw-r--r-- | examples/standard_lib/ex_std.c | 30 |
2 files changed, 31 insertions, 1 deletions
diff --git a/examples/main_loop/ex_main_loop.c b/examples/main_loop/ex_main_loop.c index 2afc3c0..3b2354a 100644 --- a/examples/main_loop/ex_main_loop.c +++ b/examples/main_loop/ex_main_loop.c @@ -19,4 +19,4 @@ int main() { } return 0; -}
\ No newline at end of file +} diff --git a/examples/standard_lib/ex_std.c b/examples/standard_lib/ex_std.c new file mode 100644 index 0000000..9d474de --- /dev/null +++ b/examples/standard_lib/ex_std.c @@ -0,0 +1,30 @@ +#include <stdio.h> +#include <stdlib.h> +#include "file.h" +#include "str.h" + +int main() { + // Examples of how to work with arenas and strings + size_t arena_size = 1024; + arena scratch = arena_create(malloc(arena_size), arena_size); + arena* a = &scratch; + + str8 hello = str8lit("Hello World"); + + // this works but we should be careful because str8 is not *guaranteed* to point to + // a null-terminated string + printf("String before: '%s' (null-terminated: %s) \n ", hello.buf, + str8_is_null_term(hello) ? "true" : "false"); + + char* c = str8_to_cstr(&scratch, hello); + + printf("String after: %s\n", c); + + str8_opt test_file = str8_from_file(&scratch, str8lit("assets/shaders/ui_rect.vert")); + if (test_file.has_value) { + printf("Contents: %.*s \n", (int)test_file.contents.len, test_file.contents.buf); + printf("Null-terminated: %s\n", str8_is_null_term(test_file.contents) ? "true" : "false"); + } + + return 0; +} |