summaryrefslogtreecommitdiff
path: root/src/dynstr.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/dynstr.c')
-rw-r--r--src/dynstr.c94
1 files changed, 0 insertions, 94 deletions
diff --git a/src/dynstr.c b/src/dynstr.c
deleted file mode 100644
index 72db26d..0000000
--- a/src/dynstr.c
+++ /dev/null
@@ -1,94 +0,0 @@
-#include "common.h"
-
-#include "dynstr.h"
-
-dynstr_t* dynstr_new(void)
-{
- dynstr_t* str = calloc(1, sizeof(dynstr_t));
- if (str)
- {
- str->size = 64;
- str->data = malloc(str->size);
- if (!str->data)
- {
- free(str);
- return NULL;
- }
- }
- return str;
-}
-
-dynstr_t* dynstr_new_strn(const char* cstr, size_t len)
-{
- dynstr_t* str = calloc(1, sizeof(dynstr_t));
- assert(cstr);
- if (str)
- {
- str->len = len;
- str->size = len + 1;
- str->data = malloc(str->size);
- if (!str->data)
- {
- free(str);
- return NULL;
- }
- memcpy(str->data, cstr, len);
- }
- return str;
-}
-
-void dynstr_free(dynstr_t* str)
-{
- if (str)
- {
- free(str->data);
- free(str);
- }
-}
-
-char* dynstr_done(dynstr_t* str)
-{
- char* ret;
- assert(str);
- assert(str->len < str->size);
- str->data[str->len] = '\0';
- ret = str->data;
- free(str);
- return ret;
-}
-
-const char* dynstr_peek(dynstr_t* str)
-{
- assert(str);
- assert(str->len < str->size);
- str->data[str->len] = '\0';
- return str->data;
-}
-
-bool dynstr_nappend(dynstr_t* str, const char* add, size_t len)
-{
- if (str->len + len >= str->size)
- {
- size_t ns = MAX(str->size * 2, str->len + len + 1);
- char* tmp = realloc(str->data, ns);
- if (!tmp)
- {
- return false;
- }
- str->data = tmp;
- str->size = ns;
- }
- memcpy(str->data + str->len, add, len);
- str->len += len;
- return true;
-}
-
-void dynstr_cut(dynstr_t* str, size_t newlen)
-{
- assert(str);
- assert(newlen <= str->len);
- if (newlen < str->len)
- {
- str->len = newlen;
- }
-}