author | Krista Bennett <krista@pep-project.org> |
Mon, 29 Jan 2018 12:15:51 +0100 | |
changeset 2461 | 85c8e5aad3bc |
parent 2376 | 997e80887f22 |
child 2462 | 48b526a0daac |
permissions | -rw-r--r-- |
1 // This file is under GNU General Public License 3.0
2 // see LICENSE.txt
4 #include "platform.h"
5 #include "pEp_string.h"
7 #include <stdlib.h>
8 #include <assert.h>
10 DYNAMIC_API char * new_string(const char *src, size_t len)
11 {
12 char *s = NULL;
13 if (src) {
14 if (len)
15 s = strndup(src, len);
16 else
17 s = strdup(src);
18 assert(s);
19 }
20 else {
21 s = calloc(1, len + 1);
22 assert(s);
23 }
25 return s;
26 }
29 DYNAMIC_API void free_string(char *s)
30 {
31 free(s);
32 }
34 DYNAMIC_API char * string_dup(const char *src, size_t len)
35 {
36 assert(src);
37 if (!src)
38 return NULL;
40 char *s = NULL;
41 if (len)
42 s = strndup(src, len);
43 else
44 s = strdup(src);
45 assert(s);
47 return s;
48 }