freebsd-skq/lib/libc/string
cem cdc7a46eeb strcpy.3: Improve legibility and clarity
In the DESCRIPTION, put the more commonly used functions first in the
corresponding sentence, to help catch the eye.

Pull out the note about overlapping buffers to its own paragraph, as it
applies to all routines documented by this page.

Emphasize the potentially surprising strncpy(3) behavior of zero-filling the
remainder of a buffer larger than the source string.

Encourage strlcpy use; remove portability note about strlcpy(3).  Adapting a
strlcpy-using code base to a platform that does not provide strlcpy in libc
is so trivial as to not be worth mentioning.  (Just copy strlcpy.c out of
any BSD libc, or include and link the pre-packaged libbsd library on non-BSD
platforms.)

Likewise, expand the page's warning about ease of potential misuse to cover
all functions documented herein, and explicitly suggest using strlcpy most
of the time.  The text was mostly cribbed from a similar suggestion in
gets(3).

Finally, document the remaining valid use of strncpy -- the rare
fixed-length record with no expectation of nul-termination.

Sponsored by:	Dell EMC Isilon
2018-06-06 20:09:21 +00:00
..
bcmp.3
bcmp.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
bcopy.3
bcopy.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
bstring.3
bzero.3
bzero.c
ffs.3
ffs.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
ffsl.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
ffsll.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
fls.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
flsl.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
flsll.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
index.3
Makefile.inc Document memset_s(3). memset_s(3) is defined in 2018-02-16 05:48:45 +00:00
memccpy.3
memccpy.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
memchr.3
memchr.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
memcmp.3
memcmp.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
memcpy.3 Add notes about overlapping copies. 2017-11-13 17:04:44 +00:00
memcpy.c
memmem.3
memmem.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
memmove.3
memmove.c
memrchr.c
memset_s.c Improve standard compliance for memset_s() and abort_handler_s(). 2017-08-12 15:18:17 +00:00
memset.3 Document memset_s(3). memset_s(3) is defined in 2018-02-16 05:48:45 +00:00
memset.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
stpcpy.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
stpncpy.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
strcasecmp.3
strcasecmp.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
strcasestr.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
strcat.3 Add notes about overlapping copies. 2017-11-13 17:04:44 +00:00
strcat.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
strchr.3
strchr.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
strchrnul.c Remove "all rights reserved" on files where I have copyright. 2018-05-09 17:06:52 +00:00
strcmp.3
strcmp.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
strcoll.3
strcoll.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
strcpy.3 strcpy.3: Improve legibility and clarity 2018-06-06 20:09:21 +00:00
strcpy.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
strcspn.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
strdup.3
strdup.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
strerror.3
strerror.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
string.3
strlcat.c
strlcpy.3
strlcpy.c
strlen.3 Don't put multiple names on a single .Nm line. This fixes apropos(1) 2018-04-17 09:05:46 +00:00
strlen.c Remove "All rights reserved" from my files. 2018-05-10 06:41:08 +00:00
strmode.3
strmode.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
strncat.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
strncmp.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
strncpy.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
strndup.c
strnlen.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
strnstr.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
strpbrk.3
strpbrk.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
strrchr.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
strsep.3 strsep.3: don't silently ignore errors 2018-05-28 18:29:15 +00:00
strsep.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
strsignal.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
strspn.3
strspn.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
strstr.3
strstr.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
strtok.3
strtok.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
strxfrm.3
strxfrm.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
swab.3
swab.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
Symbol.map Implement the memset_s(3) function as specified by the C11 ISO/IEC 2017-03-30 04:57:26 +00:00
timingsafe_bcmp.3
timingsafe_bcmp.c
timingsafe_memcmp.c
wcpcpy.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
wcpncpy.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
wcscasecmp.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
wcscat.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
wcschr.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
wcscmp.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
wcscoll.3
wcscoll.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
wcscpy.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
wcscspn.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
wcsdup.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
wcslcat.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
wcslcpy.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
wcslen.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
wcsncasecmp.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
wcsncat.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
wcsncmp.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
wcsncpy.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
wcsnlen.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
wcspbrk.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
wcsrchr.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
wcsspn.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
wcsstr.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
wcstok.3
wcstok.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
wcswidth.3
wcswidth.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
wcsxfrm.3
wcsxfrm.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
wmemchr.3
wmemchr.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
wmemcmp.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
wmemcpy.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
wmemmove.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
wmemset.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00