Sign in
googlers
/
maze
/
klibc
/
refs/tags/klibc-0.117
/
.
/
klibc
/
strndup.c
blob: 1b44e6f99ae697b201373e84cdc0a0372103dc7a [
file
] [
log
] [
blame
]
/*
* strndup.c
*/
#include
<string.h>
#include
<stdlib.h>
char
*
strndup
(
const
char
*
s
,
size_t
n
)
{
int
l
=
n
>
strlen
(
s
)
?
strlen
(
s
)+
1
:
n
+
1
;
char
*
d
=
malloc
(
l
);
if
(
d
)
memcpy
(
d
,
s
,
l
);
d
[
n
]
=
'\0'
;
return
d
;
}