[?OT?] strndup exists in FreeBSD?

Giorgos Keramidas keramida at ceid.upatras.gr
Mon Apr 14 23:06:54 UTC 2008


On Mon, 14 Apr 2008 15:43:24 -0700, "Steve Franks" <stevefranks at ieee.org> wrote:
> I'm getting an undefined reference to strndup, so clearly there's a
> header somewhere with it - doesn't seem to be in my default libc,
> however on 7.0-amd64?

I don't see an strndup() function in our libc.

keramida at kobe:/usr/src/lib/libc/string$ grep ^strdup *.c
strdup.c:strdup(str)
keramida at kobe:/usr/src/lib/libc/string$ grep ^strndup *.c
keramida at kobe:/usr/src/lib/libc/string$

While it seems like a cool function name, what's the point of having it?
If you know how much you want to copy, it's trivial to allocate a buffer
large enough and strlcpy() into it.  If you don't know how much you want
to copy, then strdup() is ok anyway :)



More information about the freebsd-questions mailing list