diff options
Diffstat (limited to 'dynstr.c')
-rw-r--r-- | dynstr.c | 13 |
1 files changed, 13 insertions, 0 deletions
@@ -197,6 +197,19 @@ size_t dynstr_memcpy(void *mem, Dynstr *dynstr, size_t offset, size_t size) } +char *dynstr_strdup(Dynstr *dynstr) +{ + char *mem; + + mem = alloc(dynstr->size + 1); + if (mem == NULL) + return NULL; + memcpy(mem, dynstr->mem, dynstr->size); + mem[dynstr->size] = '\0'; + return mem; +} + + Dynstr *dynstr_substr(Dynstr *dynstr, size_t offset, size_t size) { if (offset >= dynstr->size) { |