/* | |
* Copyright (C) 2002 Manuel Novoa III | |
* Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org> | |
* | |
* Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. | |
*/ | |
#include "_string.h" | |
#include <stdlib.h> | |
char *strndup(register const char *s1, size_t n) | |
{ | |
register char *s; | |
n = strnlen(s1,n); /* Avoid problems if s1 not nul-terminated. */ | |
if ((s = malloc(n + 1)) != NULL) { | |
memcpy(s, s1, n); | |
s[n] = 0; | |
} | |
return s; | |
} | |
libc_hidden_def(strndup) |