From 0be032c6998e712dc2c9f2ed97c3491d89eb05af Mon Sep 17 00:00:00 2001 From: Aleksey Veresov Date: Fri, 31 Jan 2020 17:16:27 +0300 Subject: [xift] Almost done. --- src/utils.cpp | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 src/utils.cpp (limited to 'src/utils.cpp') diff --git a/src/utils.cpp b/src/utils.cpp new file mode 100644 index 0000000..2137aa8 --- /dev/null +++ b/src/utils.cpp @@ -0,0 +1,36 @@ +#include "utils.hpp" + +#include +#include + + +char *xift_str_create_copy(const char *begin, const char *end) +{ + char *res; + res = (char *)malloc(end - begin + 1); + if (res) { + memcpy(res, begin, end - begin); + res[end - begin] = 0; + } + return res; +} + + +bool xift_str_add(char *&dest, int &len, int &size, char c) +{ + if (!dest) { + dest = (char *)malloc(2); + size = 2; + len = 0; + } + if (len + 1 == size) { + size *= 2; + dest = (char *)realloc(dest, size); + } + if (dest) { + dest[len] = c; + ++len; + dest[len] = 0; + } + return dest != 0; +} -- cgit v1.2.3