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 /qstd | |
| parent | 112680014408ab946ad56001dfe53a7035f82d2c (diff) | |
dup_string function that takes a heap
Diffstat (limited to 'qstd')
| -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 |