Alejandro Colomar <a...@kernel.org> writes: > BTW, I was trying to find out the history of memccpy(3), and why it was > introduced in 4.4BSD. Does anyone know the history? I find it a weird > function that doesn't have any good use case, or I don't seem to see it. > Every use case I see, such as a poor-man's strlcpy(3), seems to be prone > to off-by-one errors, or have other APIs that would be more ergonomic. > What were the original uses in 4.4BSD?
In the sources for 2.11 BSD you can find the following in include/strings.h: /* Routines described in memory(BA_LIB); System V compatibility */ char *memccpy(), *memchr(), *memcpy(), *memset(), *strchr(), *strdup(), *strpbrk(), *strrchr(), *strsep(), *strtok(); The first time I can see the function defined is in Eigth Edition Unix. You can look for yourself here, <https://www.tuhs.org/cgi-bin/utree.pl>. Collin