diff options
| -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 |