summaryrefslogtreecommitdiff
path: root/src/string/strdup.c
blob: ecd671db2051897a41d2dc6675a2204ec13d8764 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <string.h>
#include <stdlib.h>
#include "_safety.h"

char * strdup(const char *s)
{
	SIGNAL_SAFE(0);

	size_t len = strlen(s);
	char *ret = malloc(len + 1);
	if (ret) {
		strcpy(ret, s);
	}
	return ret;
}

__check_1(char *, 0, strdup, const char *)

/*
XOPEN(400)
POSIX(200809)
*/