From 8d729883b3e134df8b9fc10f094df9fc3618bdb4 Mon Sep 17 00:00:00 2001 From: quou Date: Wed, 31 Jul 2024 22:11:13 +1000 Subject: string_dup and string_len --- standard.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'standard.c') diff --git a/standard.c b/standard.c index 96677ea..afe6ad4 100644 --- a/standard.c +++ b/standard.c @@ -1,4 +1,5 @@ #include "maths.h" +#include "memory.h" #include "standard.h" int string_equal(const char* a, const char* b) { @@ -17,6 +18,19 @@ int string_copy(char* dst, const char* src) { return i; } +int string_len(const char* s) { + int l; + for (l = 0; *s; s++, l++); + return l; +} + +char* dup_string(Arena* a, const char* s) { + int size = string_len(s) + 1; + char* d = arena_alloc_aligned(a, size, 1); + string_copy(d, s); + return d; +} + int int_to_buf(int n, char* buf) { int i, sign, t; unsigned n1; -- cgit v1.2.3-54-g00ecf