blob: 2e71489ff60cb14be2edf8fb828b8c44fac476ba [file] [log] [blame]
Thomas Heijligen92043552019-01-29 12:48:01 +01001#include <string.h>
2#include <stddef.h>
3#include <stdlib.h>
4
5char *strdup(const char *s)
6{
7 size_t sz = strlen(s) + 1;
8 char *d = malloc(sz);
Thejaswani Putta6f5225c2019-04-11 18:36:08 -07009 if (d)
10 memcpy(d, s, sz);
Thomas Heijligen92043552019-01-29 12:48:01 +010011 return d;
12}
13
14char *strconcat(const char *s1, const char *s2)
15{
16 size_t sz_1 = strlen(s1);
17 size_t sz_2 = strlen(s2);
18 char *d = malloc(sz_1 + sz_2 + 1);
Thejaswani Putta6f5225c2019-04-11 18:36:08 -070019 if (d) {
20 memcpy(d, s1, sz_1);
21 memcpy(d + sz_1, s2, sz_2 + 1);
22 }
Thomas Heijligen92043552019-01-29 12:48:01 +010023 return d;
24}