diff options
author | quou <quou@disroot.org> | 2024-12-30 12:18:55 +1100 |
---|---|---|
committer | quou <quou@disroot.org> | 2024-12-30 12:18:55 +1100 |
commit | 90eed5c3684a6dd751afc2bcb7ae0ac919c143a8 (patch) | |
tree | d8e275e1d45235b4053e33b934dd2fa3ad98ed9d | |
parent | 112680014408ab946ad56001dfe53a7035f82d2c (diff) |
dup_string function that takes a heap
-rw-r--r-- | qstd/str.c | 6 | ||||
-rw-r--r-- | qstd/str.h | 2 |
2 files changed, 8 insertions, 0 deletions
@@ -58,3 +58,9 @@ char* dup_string(Arena* a, const char* s) { return d; } +char* dup_stringh(struct Heap* h, const char* s) { + int size = string_len(s) + 1; + char* d = heap_alloc_aligned(h, size, 1); + string_copy(d, s); + return d; +} @@ -5,6 +5,7 @@ #include <stdint.h> struct Arena; +struct Heap; uint64_t fnv1a64(uint8_t* buf, size_t size); uint64_t fnv1a64_2(uint64_t h, uint8_t* buf, size_t size); @@ -14,5 +15,6 @@ int string_equal(const char* a, const char* b); int string_copy(char* dst, const char* src); int string_len(const char* s); char* dup_string(struct Arena* a, const char* s); +char* dup_stringh(struct Heap* h, const char* s); #endif |