summaryrefslogtreecommitdiff
path: root/dynstr.c
diff options
context:
space:
mode:
Diffstat (limited to 'dynstr.c')
-rw-r--r--dynstr.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/dynstr.c b/dynstr.c
index ac276ae..046613e 100644
--- a/dynstr.c
+++ b/dynstr.c
@@ -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) {