xref: /optee_os/lib/libutils/ext/nex_strdup.c (revision 1131d3c544b82fb869c78fb5e6d7b7b246cece19)
1*1131d3c5SVolodymyr Babchuk // SPDX-License-Identifier: BSD-2-Clause
2*1131d3c5SVolodymyr Babchuk /*
3*1131d3c5SVolodymyr Babchuk  * Copyright (c) 2018 EPAM Systems
4*1131d3c5SVolodymyr Babchuk  */
5*1131d3c5SVolodymyr Babchuk #include <stdlib.h>
6*1131d3c5SVolodymyr Babchuk #include <string.h>
7*1131d3c5SVolodymyr Babchuk #include <string_ext.h>
8*1131d3c5SVolodymyr Babchuk 
nex_strdup(const char * s)9*1131d3c5SVolodymyr Babchuk char *nex_strdup(const char *s)
10*1131d3c5SVolodymyr Babchuk {
11*1131d3c5SVolodymyr Babchuk 	size_t l = strlen(s) + 1;
12*1131d3c5SVolodymyr Babchuk 	char *p = nex_malloc(l);
13*1131d3c5SVolodymyr Babchuk 
14*1131d3c5SVolodymyr Babchuk 	if (p)
15*1131d3c5SVolodymyr Babchuk 		memcpy(p, s, l);
16*1131d3c5SVolodymyr Babchuk 	return p;
17*1131d3c5SVolodymyr Babchuk }
18