/* * Copyright (C) 2002 Manuel Novoa III * Copyright (C) 2000-2005 Erik Andersen * * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. */ #include "_string.h" #include char attribute_hidden *__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; } strong_alias(__strndup,strndup)