msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2012-05-28 07:17+0900\n"
+"POT-Creation-Date: 2013-03-22 01:07+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Content-Transfer-Encoding: 8bit\n"
#. type: TH
-#: build/C/man3/bcmp.3:29
+#: build/C/man3/bcmp.3:31
#, no-wrap
msgid "BCMP"
msgstr ""
#. type: TH
-#: build/C/man3/bcmp.3:29 build/C/man3/bzero.3:29
+#: build/C/man3/bcmp.3:31 build/C/man3/bzero.3:31
#, no-wrap
msgid "2008-08-06"
msgstr ""
#. type: TH
-#: build/C/man3/bcmp.3:29 build/C/man3/bcopy.3:31 build/C/man3/bzero.3:29
+#: build/C/man3/bcmp.3:31 build/C/man3/bcopy.3:33 build/C/man3/bzero.3:31
#, no-wrap
msgid "Linux"
msgstr ""
#. type: TH
-#: build/C/man3/bcmp.3:29 build/C/man3/bcopy.3:31 build/C/man3/bstring.3:30 build/C/man3/bzero.3:29 build/C/man3/ffs.3:31 build/C/man3/index.3:29 build/C/man3/memccpy.3:28 build/C/man3/memchr.3:30 build/C/man3/memcmp.3:28 build/C/man3/memcpy.3:28 build/C/man3/memfrob.3:28 build/C/man3/memmem.3:28 build/C/man3/memmove.3:28 build/C/man3/mempcpy.3:6 build/C/man3/memset.3:28 build/C/man3/stpcpy.3:25 build/C/man3/stpncpy.3:12 build/C/man3/strcasecmp.3:28 build/C/man3/strcat.3:30 build/C/man3/strchr.3:31 build/C/man3/strcmp.3:30 build/C/man3/strcoll.3:28 build/C/man3/strcpy.3:33 build/C/man3/strdup.3:29 build/C/man3/strerror.3:37 build/C/man3/strfry.3:28 build/C/man3/string.3:28 build/C/man3/strlen.3:28 build/C/man3/strnlen.3:11 build/C/man3/strpbrk.3:28 build/C/man3/strsep.3:31 build/C/man3/strsignal.3:28 build/C/man3/strspn.3:28 build/C/man3/strstr.3:31 build/C/man3/strtok.3:28 build/C/man3/strverscmp.3:23 build/C/man3/strxfrm.3:28
+#: build/C/man3/bcmp.3:31 build/C/man3/bcopy.3:33 build/C/man3/bstring.3:32 build/C/man3/bzero.3:31 build/C/man3/ffs.3:33 build/C/man3/index.3:31 build/C/man3/memccpy.3:30 build/C/man3/memchr.3:32 build/C/man3/memcmp.3:30 build/C/man3/memcpy.3:30 build/C/man3/memfrob.3:30 build/C/man3/memmem.3:30 build/C/man3/memmove.3:30 build/C/man3/mempcpy.3:10 build/C/man3/memset.3:30 build/C/man3/stpcpy.3:25 build/C/man3/stpncpy.3:14 build/C/man3/strcasecmp.3:30 build/C/man3/strcat.3:32 build/C/man3/strchr.3:33 build/C/man3/strcmp.3:32 build/C/man3/strcoll.3:30 build/C/man3/strcpy.3:35 build/C/man3/strdup.3:31 build/C/man3/strerror.3:39 build/C/man3/strfry.3:30 build/C/man3/string.3:30 build/C/man3/strlen.3:30 build/C/man3/strnlen.3:13 build/C/man3/strpbrk.3:30 build/C/man3/strsep.3:33 build/C/man3/strsignal.3:30 build/C/man3/strspn.3:30 build/C/man3/strstr.3:33 build/C/man3/strtok.3:30 build/C/man3/strverscmp.3:25 build/C/man3/strxfrm.3:30
#, no-wrap
msgid "Linux Programmer's Manual"
msgstr ""
#. type: SH
-#: build/C/man3/bcmp.3:30 build/C/man3/bcopy.3:32 build/C/man3/bstring.3:31 build/C/man3/bzero.3:30 build/C/man3/ffs.3:32 build/C/man3/index.3:30 build/C/man3/memccpy.3:29 build/C/man3/memchr.3:31 build/C/man3/memcmp.3:29 build/C/man3/memcpy.3:29 build/C/man3/memfrob.3:29 build/C/man3/memmem.3:29 build/C/man3/memmove.3:29 build/C/man3/mempcpy.3:7 build/C/man3/memset.3:29 build/C/man3/stpcpy.3:26 build/C/man3/stpncpy.3:13 build/C/man3/strcasecmp.3:29 build/C/man3/strcat.3:31 build/C/man3/strchr.3:32 build/C/man3/strcmp.3:31 build/C/man3/strcoll.3:29 build/C/man3/strcpy.3:34 build/C/man3/strdup.3:30 build/C/man3/strerror.3:38 build/C/man3/strfry.3:29 build/C/man3/string.3:29 build/C/man3/strlen.3:29 build/C/man3/strnlen.3:12 build/C/man3/strpbrk.3:29 build/C/man3/strsep.3:32 build/C/man3/strsignal.3:29 build/C/man3/strspn.3:29 build/C/man3/strstr.3:32 build/C/man3/strtok.3:29 build/C/man3/strverscmp.3:24 build/C/man3/strxfrm.3:29
+#: build/C/man3/bcmp.3:32 build/C/man3/bcopy.3:34 build/C/man3/bstring.3:33 build/C/man3/bzero.3:32 build/C/man3/ffs.3:34 build/C/man3/index.3:32 build/C/man3/memccpy.3:31 build/C/man3/memchr.3:33 build/C/man3/memcmp.3:31 build/C/man3/memcpy.3:31 build/C/man3/memfrob.3:31 build/C/man3/memmem.3:31 build/C/man3/memmove.3:31 build/C/man3/mempcpy.3:11 build/C/man3/memset.3:31 build/C/man3/stpcpy.3:26 build/C/man3/stpncpy.3:15 build/C/man3/strcasecmp.3:31 build/C/man3/strcat.3:33 build/C/man3/strchr.3:34 build/C/man3/strcmp.3:33 build/C/man3/strcoll.3:31 build/C/man3/strcpy.3:36 build/C/man3/strdup.3:32 build/C/man3/strerror.3:40 build/C/man3/strfry.3:31 build/C/man3/string.3:31 build/C/man3/strlen.3:31 build/C/man3/strnlen.3:14 build/C/man3/strpbrk.3:31 build/C/man3/strsep.3:34 build/C/man3/strsignal.3:31 build/C/man3/strspn.3:31 build/C/man3/strstr.3:34 build/C/man3/strtok.3:31 build/C/man3/strverscmp.3:26 build/C/man3/strxfrm.3:31
#, no-wrap
msgid "NAME"
msgstr ""
#. type: Plain text
-#: build/C/man3/bcmp.3:32
+#: build/C/man3/bcmp.3:34
msgid "bcmp - compare byte sequences"
msgstr ""
#. type: SH
-#: build/C/man3/bcmp.3:32 build/C/man3/bcopy.3:34 build/C/man3/bstring.3:34 build/C/man3/bzero.3:32 build/C/man3/ffs.3:34 build/C/man3/index.3:32 build/C/man3/memccpy.3:31 build/C/man3/memchr.3:33 build/C/man3/memcmp.3:31 build/C/man3/memcpy.3:31 build/C/man3/memfrob.3:31 build/C/man3/memmem.3:31 build/C/man3/memmove.3:31 build/C/man3/mempcpy.3:9 build/C/man3/memset.3:31 build/C/man3/stpcpy.3:28 build/C/man3/stpncpy.3:15 build/C/man3/strcasecmp.3:31 build/C/man3/strcat.3:33 build/C/man3/strchr.3:34 build/C/man3/strcmp.3:33 build/C/man3/strcoll.3:31 build/C/man3/strcpy.3:36 build/C/man3/strdup.3:32 build/C/man3/strerror.3:40 build/C/man3/strfry.3:31 build/C/man3/string.3:34 build/C/man3/strlen.3:31 build/C/man3/strnlen.3:14 build/C/man3/strpbrk.3:31 build/C/man3/strsep.3:34 build/C/man3/strsignal.3:31 build/C/man3/strspn.3:31 build/C/man3/strstr.3:34 build/C/man3/strtok.3:31 build/C/man3/strverscmp.3:26 build/C/man3/strxfrm.3:31
+#: build/C/man3/bcmp.3:34 build/C/man3/bcopy.3:36 build/C/man3/bstring.3:36 build/C/man3/bzero.3:34 build/C/man3/ffs.3:36 build/C/man3/index.3:34 build/C/man3/memccpy.3:33 build/C/man3/memchr.3:35 build/C/man3/memcmp.3:33 build/C/man3/memcpy.3:33 build/C/man3/memfrob.3:33 build/C/man3/memmem.3:33 build/C/man3/memmove.3:33 build/C/man3/mempcpy.3:13 build/C/man3/memset.3:33 build/C/man3/stpcpy.3:28 build/C/man3/stpncpy.3:17 build/C/man3/strcasecmp.3:33 build/C/man3/strcat.3:35 build/C/man3/strchr.3:36 build/C/man3/strcmp.3:35 build/C/man3/strcoll.3:33 build/C/man3/strcpy.3:38 build/C/man3/strdup.3:34 build/C/man3/strerror.3:42 build/C/man3/strfry.3:33 build/C/man3/string.3:36 build/C/man3/strlen.3:33 build/C/man3/strnlen.3:16 build/C/man3/strpbrk.3:33 build/C/man3/strsep.3:36 build/C/man3/strsignal.3:33 build/C/man3/strspn.3:33 build/C/man3/strstr.3:36 build/C/man3/strtok.3:33 build/C/man3/strverscmp.3:28 build/C/man3/strxfrm.3:33
#, no-wrap
msgid "SYNOPSIS"
msgstr ""
#. type: Plain text
-#: build/C/man3/bcmp.3:35 build/C/man3/bcopy.3:37 build/C/man3/bzero.3:35 build/C/man3/ffs.3:37 build/C/man3/index.3:35 build/C/man3/strcasecmp.3:34 build/C/man3/string.3:37
+#: build/C/man3/bcmp.3:37 build/C/man3/bcopy.3:39 build/C/man3/bzero.3:37 build/C/man3/ffs.3:39 build/C/man3/index.3:37 build/C/man3/strcasecmp.3:36 build/C/man3/string.3:39
#, no-wrap
msgid "B<#include E<lt>strings.hE<gt>>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/bcmp.3:37
+#: build/C/man3/bcmp.3:39
#, no-wrap
msgid "B<int bcmp(const void *>I<s1>B<, const void *>I<s2>B<, size_t >I<n>B<);>\n"
msgstr ""
#. type: SH
-#: build/C/man3/bcmp.3:38 build/C/man3/bcopy.3:40 build/C/man3/bstring.3:61 build/C/man3/bzero.3:38 build/C/man3/ffs.3:72 build/C/man3/index.3:40 build/C/man3/memccpy.3:37 build/C/man3/memchr.3:52 build/C/man3/memcmp.3:37 build/C/man3/memcpy.3:37 build/C/man3/memfrob.3:38 build/C/man3/memmem.3:39 build/C/man3/memmove.3:37 build/C/man3/mempcpy.3:23 build/C/man3/memset.3:37 build/C/man3/stpcpy.3:53 build/C/man3/stpncpy.3:40 build/C/man3/strcasecmp.3:39 build/C/man3/strcat.3:41 build/C/man3/strchr.3:47 build/C/man3/strcmp.3:41 build/C/man3/strcoll.3:37 build/C/man3/strcpy.3:44 build/C/man3/strdup.3:75 build/C/man3/strerror.3:65 build/C/man3/strfry.3:39 build/C/man3/string.3:88 build/C/man3/strlen.3:37 build/C/man3/strnlen.3:39 build/C/man3/strpbrk.3:37 build/C/man3/strsep.3:48 build/C/man3/strsignal.3:58 build/C/man3/strspn.3:39 build/C/man3/strstr.3:46 build/C/man3/strtok.3:50 build/C/man3/strverscmp.3:34 build/C/man3/strxfrm.3:37
+#: build/C/man3/bcmp.3:40 build/C/man3/bcopy.3:42 build/C/man3/bstring.3:63 build/C/man3/bzero.3:40 build/C/man3/ffs.3:74 build/C/man3/index.3:42 build/C/man3/memccpy.3:39 build/C/man3/memchr.3:54 build/C/man3/memcmp.3:39 build/C/man3/memcpy.3:39 build/C/man3/memfrob.3:40 build/C/man3/memmem.3:41 build/C/man3/memmove.3:39 build/C/man3/mempcpy.3:27 build/C/man3/memset.3:39 build/C/man3/stpcpy.3:53 build/C/man3/stpncpy.3:42 build/C/man3/strcasecmp.3:41 build/C/man3/strcat.3:43 build/C/man3/strchr.3:49 build/C/man3/strcmp.3:43 build/C/man3/strcoll.3:39 build/C/man3/strcpy.3:46 build/C/man3/strdup.3:77 build/C/man3/strerror.3:67 build/C/man3/strfry.3:41 build/C/man3/string.3:90 build/C/man3/strlen.3:39 build/C/man3/strnlen.3:41 build/C/man3/strpbrk.3:39 build/C/man3/strsep.3:50 build/C/man3/strsignal.3:60 build/C/man3/strspn.3:41 build/C/man3/strstr.3:48 build/C/man3/strtok.3:52 build/C/man3/strverscmp.3:36 build/C/man3/strxfrm.3:39
#, no-wrap
msgid "DESCRIPTION"
msgstr ""
#. type: Plain text
-#: build/C/man3/bcmp.3:54
+#: build/C/man3/bcmp.3:56
msgid ""
"The B<bcmp>() function compares the two byte sequences I<s1> and I<s2> of "
"length I<n> each. If they are equal, and in particular if I<n> is zero, "
msgstr ""
#. type: SH
-#: build/C/man3/bcmp.3:54 build/C/man3/bcopy.3:50 build/C/man3/bzero.3:46 build/C/man3/ffs.3:85 build/C/man3/index.3:53 build/C/man3/memccpy.3:45 build/C/man3/memchr.3:103 build/C/man3/memcmp.3:46 build/C/man3/memcpy.3:46 build/C/man3/memfrob.3:51 build/C/man3/memmem.3:45 build/C/man3/memmove.3:51 build/C/man3/mempcpy.3:49 build/C/man3/memset.3:42 build/C/man3/stpcpy.3:61 build/C/man3/stpncpy.3:59 build/C/man3/strcasecmp.3:52 build/C/man3/strcat.3:91 build/C/man3/strchr.3:79 build/C/man3/strcmp.3:54 build/C/man3/strcoll.3:49 build/C/man3/strcpy.3:91 build/C/man3/strdup.3:102 build/C/man3/strerror.3:134 build/C/man3/strfry.3:47 build/C/man3/strlen.3:42 build/C/man3/strnlen.3:49 build/C/man3/strpbrk.3:42 build/C/man3/strsep.3:61 build/C/man3/strsignal.3:73 build/C/man3/strspn.3:51 build/C/man3/strstr.3:58 build/C/man3/strtok.3:104 build/C/man3/strverscmp.3:79 build/C/man3/strxfrm.3:54
+#: build/C/man3/bcmp.3:56 build/C/man3/bcopy.3:52 build/C/man3/bzero.3:48 build/C/man3/ffs.3:87 build/C/man3/index.3:55 build/C/man3/memccpy.3:47 build/C/man3/memchr.3:105 build/C/man3/memcmp.3:45 build/C/man3/memcpy.3:48 build/C/man3/memfrob.3:53 build/C/man3/memmem.3:47 build/C/man3/memmove.3:53 build/C/man3/mempcpy.3:53 build/C/man3/memset.3:44 build/C/man3/stpcpy.3:61 build/C/man3/stpncpy.3:61 build/C/man3/strcasecmp.3:54 build/C/man3/strcat.3:97 build/C/man3/strchr.3:81 build/C/man3/strcmp.3:56 build/C/man3/strcoll.3:51 build/C/man3/strcpy.3:97 build/C/man3/strdup.3:104 build/C/man3/strerror.3:136 build/C/man3/strfry.3:49 build/C/man3/strlen.3:44 build/C/man3/strnlen.3:51 build/C/man3/strpbrk.3:44 build/C/man3/strsep.3:63 build/C/man3/strsignal.3:75 build/C/man3/strspn.3:53 build/C/man3/strstr.3:60 build/C/man3/strtok.3:106 build/C/man3/strverscmp.3:81 build/C/man3/strxfrm.3:56
#, no-wrap
msgid "RETURN VALUE"
msgstr ""
#. type: Plain text
-#: build/C/man3/bcmp.3:59
+#: build/C/man3/bcmp.3:61
msgid ""
"The B<bcmp>() function returns 0 if the byte sequences are equal, otherwise "
"a nonzero result is returned."
msgstr ""
#. type: SH
-#: build/C/man3/bcmp.3:59 build/C/man3/bcopy.3:52 build/C/man3/bzero.3:48 build/C/man3/ffs.3:89 build/C/man3/index.3:60 build/C/man3/memccpy.3:51 build/C/man3/memchr.3:122 build/C/man3/memcmp.3:53 build/C/man3/memcpy.3:50 build/C/man3/memfrob.3:56 build/C/man3/memmem.3:50 build/C/man3/memmove.3:55 build/C/man3/mempcpy.3:54 build/C/man3/memset.3:47 build/C/man3/stpcpy.3:66 build/C/man3/stpncpy.3:64 build/C/man3/strcasecmp.3:61 build/C/man3/strcat.3:97 build/C/man3/strchr.3:102 build/C/man3/strcmp.3:63 build/C/man3/strcoll.3:56 build/C/man3/strcpy.3:98 build/C/man3/strdup.3:111 build/C/man3/strerror.3:173 build/C/man3/strfry.3:52 build/C/man3/strlen.3:46 build/C/man3/strnlen.3:56 build/C/man3/strpbrk.3:48 build/C/man3/strsep.3:66 build/C/man3/strsignal.3:80 build/C/man3/strspn.3:63 build/C/man3/strstr.3:61 build/C/man3/strtok.3:111 build/C/man3/strverscmp.3:86 build/C/man3/strxfrm.3:62
+#: build/C/man3/bcmp.3:61 build/C/man3/bcopy.3:54 build/C/man3/bzero.3:50 build/C/man3/ffs.3:91 build/C/man3/index.3:62 build/C/man3/memccpy.3:53 build/C/man3/memchr.3:124 build/C/man3/memcmp.3:60 build/C/man3/memcpy.3:52 build/C/man3/memfrob.3:58 build/C/man3/memmem.3:52 build/C/man3/memmove.3:57 build/C/man3/mempcpy.3:58 build/C/man3/memset.3:49 build/C/man3/stpcpy.3:66 build/C/man3/stpncpy.3:66 build/C/man3/strcasecmp.3:63 build/C/man3/strcat.3:103 build/C/man3/strchr.3:104 build/C/man3/strcmp.3:65 build/C/man3/strcoll.3:58 build/C/man3/strcpy.3:104 build/C/man3/strdup.3:113 build/C/man3/strerror.3:175 build/C/man3/strfry.3:54 build/C/man3/strlen.3:48 build/C/man3/strnlen.3:58 build/C/man3/strpbrk.3:50 build/C/man3/strsep.3:68 build/C/man3/strsignal.3:82 build/C/man3/strspn.3:65 build/C/man3/strstr.3:63 build/C/man3/strtok.3:113 build/C/man3/strverscmp.3:88 build/C/man3/strxfrm.3:64
#, no-wrap
msgid "CONFORMING TO"
msgstr ""
#. type: Plain text
-#: build/C/man3/bcmp.3:66
+#: build/C/man3/bcmp.3:68
msgid ""
"4.3BSD. This function is deprecated (marked as LEGACY in POSIX.1-2001): use "
"B<memcmp>(3) in new programs. POSIX.1-2008 removes the specification of "
msgstr ""
#. type: SH
-#: build/C/man3/bcmp.3:66 build/C/man3/bcopy.3:66 build/C/man3/bstring.3:80 build/C/man3/bzero.3:55 build/C/man3/ffs.3:101 build/C/man3/index.3:71 build/C/man3/memccpy.3:53 build/C/man3/memchr.3:134 build/C/man3/memcmp.3:55 build/C/man3/memcpy.3:52 build/C/man3/memfrob.3:61 build/C/man3/memmem.3:63 build/C/man3/memmove.3:57 build/C/man3/mempcpy.3:67 build/C/man3/memset.3:49 build/C/man3/stpcpy.3:99 build/C/man3/stpncpy.3:66 build/C/man3/strcasecmp.3:63 build/C/man3/strcat.3:99 build/C/man3/strchr.3:109 build/C/man3/strcmp.3:65 build/C/man3/strcoll.3:63 build/C/man3/strcpy.3:135 build/C/man3/strdup.3:121 build/C/man3/strerror.3:202 build/C/man3/strfry.3:57 build/C/man3/string.3:92 build/C/man3/strlen.3:48 build/C/man3/strnlen.3:58 build/C/man3/strpbrk.3:50 build/C/man3/strsep.3:86 build/C/man3/strsignal.3:83 build/C/man3/strspn.3:65 build/C/man3/strstr.3:74 build/C/man3/strtok.3:201 build/C/man3/strverscmp.3:88 build/C/man3/strxfrm.3:70
+#: build/C/man3/bcmp.3:68 build/C/man3/bcopy.3:68 build/C/man3/bstring.3:82 build/C/man3/bzero.3:57 build/C/man3/ffs.3:103 build/C/man3/index.3:73 build/C/man3/memccpy.3:55 build/C/man3/memchr.3:136 build/C/man3/memcmp.3:62 build/C/man3/memcpy.3:54 build/C/man3/memfrob.3:63 build/C/man3/memmem.3:65 build/C/man3/memmove.3:59 build/C/man3/mempcpy.3:71 build/C/man3/memset.3:51 build/C/man3/stpcpy.3:99 build/C/man3/stpncpy.3:68 build/C/man3/strcasecmp.3:65 build/C/man3/strcat.3:142 build/C/man3/strchr.3:111 build/C/man3/strcmp.3:67 build/C/man3/strcoll.3:65 build/C/man3/strcpy.3:194 build/C/man3/strdup.3:123 build/C/man3/strerror.3:204 build/C/man3/strfry.3:59 build/C/man3/string.3:94 build/C/man3/strlen.3:50 build/C/man3/strnlen.3:60 build/C/man3/strpbrk.3:52 build/C/man3/strsep.3:88 build/C/man3/strsignal.3:85 build/C/man3/strspn.3:67 build/C/man3/strstr.3:76 build/C/man3/strtok.3:203 build/C/man3/strverscmp.3:90 build/C/man3/strxfrm.3:72
#, no-wrap
msgid "SEE ALSO"
msgstr ""
#. type: Plain text
-#: build/C/man3/bcmp.3:73
+#: build/C/man3/bcmp.3:75
msgid ""
"B<memcmp>(3), B<strcasecmp>(3), B<strcmp>(3), B<strcoll>(3), "
"B<strncasecmp>(3), B<strncmp>(3)"
msgstr ""
#. type: SH
-#: build/C/man3/bcmp.3:73 build/C/man3/bcopy.3:72 build/C/man3/bstring.3:92 build/C/man3/bzero.3:58 build/C/man3/ffs.3:103 build/C/man3/index.3:81 build/C/man3/memccpy.3:59 build/C/man3/memchr.3:145 build/C/man3/memcmp.3:63 build/C/man3/memcpy.3:60 build/C/man3/memfrob.3:63 build/C/man3/memmem.3:65 build/C/man3/memmove.3:64 build/C/man3/mempcpy.3:72 build/C/man3/memset.3:53 build/C/man3/stpcpy.3:108 build/C/man3/stpncpy.3:69 build/C/man3/strcasecmp.3:72 build/C/man3/strcat.3:108 build/C/man3/strchr.3:122 build/C/man3/strcmp.3:75 build/C/man3/strcoll.3:71 build/C/man3/strcpy.3:146 build/C/man3/strdup.3:129 build/C/man3/strerror.3:208 build/C/man3/strfry.3:60 build/C/man3/string.3:117 build/C/man3/strlen.3:53 build/C/man3/strnlen.3:60 build/C/man3/strpbrk.3:61 build/C/man3/strsep.3:96 build/C/man3/strsignal.3:86 build/C/man3/strspn.3:77 build/C/man3/strstr.3:86 build/C/man3/strtok.3:212 build/C/man3/strverscmp.3:93 build/C/man3/strxfrm.3:78
+#: build/C/man3/bcmp.3:75 build/C/man3/bcopy.3:74 build/C/man3/bstring.3:94 build/C/man3/bzero.3:60 build/C/man3/ffs.3:105 build/C/man3/index.3:83 build/C/man3/memccpy.3:61 build/C/man3/memchr.3:147 build/C/man3/memcmp.3:70 build/C/man3/memcpy.3:62 build/C/man3/memfrob.3:65 build/C/man3/memmem.3:67 build/C/man3/memmove.3:66 build/C/man3/mempcpy.3:76 build/C/man3/memset.3:55 build/C/man3/stpcpy.3:108 build/C/man3/stpncpy.3:71 build/C/man3/strcasecmp.3:74 build/C/man3/strcat.3:151 build/C/man3/strchr.3:124 build/C/man3/strcmp.3:77 build/C/man3/strcoll.3:73 build/C/man3/strcpy.3:205 build/C/man3/strdup.3:131 build/C/man3/strerror.3:210 build/C/man3/strfry.3:62 build/C/man3/string.3:119 build/C/man3/strlen.3:55 build/C/man3/strnlen.3:62 build/C/man3/strpbrk.3:63 build/C/man3/strsep.3:98 build/C/man3/strsignal.3:88 build/C/man3/strspn.3:79 build/C/man3/strstr.3:88 build/C/man3/strtok.3:214 build/C/man3/strverscmp.3:95 build/C/man3/strxfrm.3:80
#, no-wrap
msgid "COLOPHON"
msgstr ""
#. type: Plain text
-#: build/C/man3/bcmp.3:80 build/C/man3/bcopy.3:79 build/C/man3/bstring.3:99 build/C/man3/bzero.3:65 build/C/man3/ffs.3:110 build/C/man3/index.3:88 build/C/man3/memccpy.3:66 build/C/man3/memchr.3:152 build/C/man3/memcmp.3:70 build/C/man3/memcpy.3:67 build/C/man3/memfrob.3:70 build/C/man3/memmem.3:72 build/C/man3/memmove.3:71 build/C/man3/mempcpy.3:79 build/C/man3/memset.3:60 build/C/man3/stpcpy.3:115 build/C/man3/stpncpy.3:76 build/C/man3/strcasecmp.3:79 build/C/man3/strcat.3:115 build/C/man3/strchr.3:129 build/C/man3/strcmp.3:82 build/C/man3/strcoll.3:78 build/C/man3/strcpy.3:153 build/C/man3/strdup.3:136 build/C/man3/strerror.3:215 build/C/man3/strfry.3:67 build/C/man3/string.3:124 build/C/man3/strlen.3:60 build/C/man3/strnlen.3:67 build/C/man3/strpbrk.3:68 build/C/man3/strsep.3:103 build/C/man3/strsignal.3:93 build/C/man3/strspn.3:84 build/C/man3/strstr.3:93 build/C/man3/strtok.3:219 build/C/man3/strverscmp.3:100 build/C/man3/strxfrm.3:85
+#: build/C/man3/bcmp.3:82 build/C/man3/bcopy.3:81 build/C/man3/bstring.3:101 build/C/man3/bzero.3:67 build/C/man3/ffs.3:112 build/C/man3/index.3:90 build/C/man3/memccpy.3:68 build/C/man3/memchr.3:154 build/C/man3/memcmp.3:77 build/C/man3/memcpy.3:69 build/C/man3/memfrob.3:72 build/C/man3/memmem.3:74 build/C/man3/memmove.3:73 build/C/man3/mempcpy.3:83 build/C/man3/memset.3:62 build/C/man3/stpcpy.3:115 build/C/man3/stpncpy.3:78 build/C/man3/strcasecmp.3:81 build/C/man3/strcat.3:158 build/C/man3/strchr.3:131 build/C/man3/strcmp.3:84 build/C/man3/strcoll.3:80 build/C/man3/strcpy.3:212 build/C/man3/strdup.3:138 build/C/man3/strerror.3:217 build/C/man3/strfry.3:69 build/C/man3/string.3:126 build/C/man3/strlen.3:62 build/C/man3/strnlen.3:69 build/C/man3/strpbrk.3:70 build/C/man3/strsep.3:105 build/C/man3/strsignal.3:95 build/C/man3/strspn.3:86 build/C/man3/strstr.3:95 build/C/man3/strtok.3:221 build/C/man3/strverscmp.3:102 build/C/man3/strxfrm.3:87
msgid ""
-"This page is part of release 3.41 of the Linux I<man-pages> project. A "
+"This page is part of release 3.50 of the Linux I<man-pages> project. A "
"description of the project, and information about reporting bugs, can be "
"found at http://www.kernel.org/doc/man-pages/."
msgstr ""
#. type: TH
-#: build/C/man3/bcopy.3:31
+#: build/C/man3/bcopy.3:33
#, no-wrap
msgid "BCOPY"
msgstr ""
#. type: TH
-#: build/C/man3/bcopy.3:31
+#: build/C/man3/bcopy.3:33
#, no-wrap
msgid "2009-03-15"
msgstr ""
#. type: Plain text
-#: build/C/man3/bcopy.3:34
+#: build/C/man3/bcopy.3:36
msgid "bcopy - copy byte sequence"
msgstr ""
#. type: Plain text
-#: build/C/man3/bcopy.3:39
+#: build/C/man3/bcopy.3:41
#, no-wrap
msgid "B<void bcopy(const void *>I<src>B<, void *>I<dest>B<, size_t >I<n>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/bcopy.3:50
+#: build/C/man3/bcopy.3:52
msgid ""
"The B<bcopy>() function copies I<n> bytes from I<src> to I<dest>. The "
"result is correct, even when both areas overlap."
msgstr ""
#. type: Plain text
-#: build/C/man3/bcopy.3:52 build/C/man3/bzero.3:48
+#: build/C/man3/bcopy.3:54 build/C/man3/bzero.3:50
msgid "None."
msgstr ""
#. type: Plain text
-#: build/C/man3/bcopy.3:66
+#: build/C/man3/bcopy.3:68
msgid ""
"4.3BSD. This function is deprecated (marked as LEGACY in POSIX.1-2001): use "
"B<memcpy>(3) or B<memmove>(3) in new programs. Note that the first two "
msgstr ""
#. type: Plain text
-#: build/C/man3/bcopy.3:72
+#: build/C/man3/bcopy.3:74
msgid "B<memccpy>(3), B<memcpy>(3), B<memmove>(3), B<strcpy>(3), B<strncpy>(3)"
msgstr ""
#. type: TH
-#: build/C/man3/bstring.3:30
+#: build/C/man3/bstring.3:32
#, no-wrap
msgid "BSTRING"
msgstr ""
#. type: TH
-#: build/C/man3/bstring.3:30
+#: build/C/man3/bstring.3:32
#, no-wrap
msgid "2002-01-20"
msgstr ""
#. type: Plain text
-#: build/C/man3/bstring.3:34
+#: build/C/man3/bstring.3:36
msgid ""
"bcmp, bcopy, bzero, memccpy, memchr, memcmp, memcpy, memfrob, memmem, "
"memmove, memset - byte string operations"
msgstr ""
#. type: Plain text
-#: build/C/man3/bstring.3:37 build/C/man3/ffs.3:41 build/C/man3/memccpy.3:34 build/C/man3/memchr.3:36 build/C/man3/memcmp.3:34 build/C/man3/memcpy.3:34 build/C/man3/memmove.3:34 build/C/man3/mempcpy.3:14 build/C/man3/memset.3:34 build/C/man3/stpcpy.3:31 build/C/man3/stpncpy.3:18 build/C/man3/strcat.3:36 build/C/man3/strchr.3:37 build/C/man3/strcmp.3:36 build/C/man3/strcoll.3:34 build/C/man3/strcpy.3:39 build/C/man3/strdup.3:35 build/C/man3/strerror.3:43 build/C/man3/strfry.3:36 build/C/man3/string.3:47 build/C/man3/strlen.3:34 build/C/man3/strnlen.3:17 build/C/man3/strpbrk.3:34 build/C/man3/strsep.3:37 build/C/man3/strsignal.3:34 build/C/man3/strspn.3:34 build/C/man3/strstr.3:37 build/C/man3/strstr.3:43 build/C/man3/strtok.3:34 build/C/man3/strverscmp.3:31 build/C/man3/strxfrm.3:34
+#: build/C/man3/bstring.3:39 build/C/man3/ffs.3:43 build/C/man3/memccpy.3:36 build/C/man3/memchr.3:38 build/C/man3/memcmp.3:36 build/C/man3/memcpy.3:36 build/C/man3/memmove.3:36 build/C/man3/mempcpy.3:18 build/C/man3/memset.3:36 build/C/man3/stpcpy.3:31 build/C/man3/stpncpy.3:20 build/C/man3/strcat.3:38 build/C/man3/strchr.3:39 build/C/man3/strcmp.3:38 build/C/man3/strcoll.3:36 build/C/man3/strcpy.3:41 build/C/man3/strdup.3:37 build/C/man3/strerror.3:45 build/C/man3/strfry.3:38 build/C/man3/string.3:49 build/C/man3/strlen.3:36 build/C/man3/strnlen.3:19 build/C/man3/strpbrk.3:36 build/C/man3/strsep.3:39 build/C/man3/strsignal.3:36 build/C/man3/strspn.3:36 build/C/man3/strstr.3:39 build/C/man3/strstr.3:45 build/C/man3/strtok.3:36 build/C/man3/strverscmp.3:33 build/C/man3/strxfrm.3:36
#, no-wrap
msgid "B<#include E<lt>string.hE<gt>>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/bstring.3:39
+#: build/C/man3/bstring.3:41
#, no-wrap
msgid "B<int bcmp(const void *>I<s1>B<, const void *>I<s2>B<, int >I<n>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/bstring.3:41
+#: build/C/man3/bstring.3:43
#, no-wrap
msgid "B<void bcopy(const void *>I<src>B<, void *>I<dest>B<, int >I<n>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/bstring.3:43
+#: build/C/man3/bstring.3:45
#, no-wrap
msgid "B<void bzero(void *>I<s>B<, int >I<n>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/bstring.3:45 build/C/man3/memccpy.3:36
+#: build/C/man3/bstring.3:47 build/C/man3/memccpy.3:38
#, no-wrap
msgid ""
"B<void *memccpy(void *>I<dest>B<, const void *>I<src>B<, int >I<c>B<, size_t "
msgstr ""
#. type: Plain text
-#: build/C/man3/bstring.3:47 build/C/man3/memchr.3:38
+#: build/C/man3/bstring.3:49 build/C/man3/memchr.3:40
#, no-wrap
msgid "B<void *memchr(const void *>I<s>B<, int >I<c>B<, size_t >I<n>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/bstring.3:49 build/C/man3/memcmp.3:36
+#: build/C/man3/bstring.3:51 build/C/man3/memcmp.3:38
#, no-wrap
msgid "B<int memcmp(const void *>I<s1>B<, const void *>I<s2>B<, size_t >I<n>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/bstring.3:51 build/C/man3/memcpy.3:36
+#: build/C/man3/bstring.3:53 build/C/man3/memcpy.3:38
#, no-wrap
msgid "B<void *memcpy(void *>I<dest>B<, const void *>I<src>B<, size_t >I<n>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/bstring.3:53 build/C/man3/memfrob.3:37
+#: build/C/man3/bstring.3:55 build/C/man3/memfrob.3:39
#, no-wrap
msgid "B<void *memfrob(void *>I<s>B<, size_t >I<n>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/bstring.3:56
+#: build/C/man3/bstring.3:58
#, no-wrap
msgid ""
"B<void *memmem(const void *>I<needle>B<, size_t >I<needlelen>B<,>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/bstring.3:58 build/C/man3/memmove.3:36
+#: build/C/man3/bstring.3:60 build/C/man3/memmove.3:38
#, no-wrap
msgid "B<void *memmove(void *>I<dest>B<, const void *>I<src>B<, size_t >I<n>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/bstring.3:60 build/C/man3/memset.3:36
+#: build/C/man3/bstring.3:62 build/C/man3/memset.3:38
#, no-wrap
msgid "B<void *memset(void *>I<s>B<, int >I<c>B<, size_t >I<n>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/bstring.3:66
+#: build/C/man3/bstring.3:68
msgid ""
"The byte string functions perform operations on strings (byte arrays) that "
"are not necessarily null-terminated. See the individual man pages for "
msgstr ""
#. type: SH
-#: build/C/man3/bstring.3:66 build/C/man3/ffs.3:98 build/C/man3/strcoll.3:58 build/C/man3/strcpy.3:100 build/C/man3/strsep.3:68 build/C/man3/strxfrm.3:64
+#: build/C/man3/bstring.3:68 build/C/man3/ffs.3:100 build/C/man3/strcat.3:105 build/C/man3/strcoll.3:60 build/C/man3/strcpy.3:106 build/C/man3/strsep.3:70 build/C/man3/strxfrm.3:66
#, no-wrap
msgid "NOTES"
msgstr ""
#. The old functions are not even available on some non-GNU/Linux systems.
#. type: Plain text
-#: build/C/man3/bstring.3:80
+#: build/C/man3/bstring.3:82
msgid ""
"The functions B<bcmp>(), B<bcopy>() and B<bzero>() are obsolete. Use "
"B<memcmp>(), B<memcpy>() and B<memset>() instead."
msgstr ""
#. type: Plain text
-#: build/C/man3/bstring.3:92
+#: build/C/man3/bstring.3:94
msgid ""
"B<bcmp>(3), B<bcopy>(3), B<bzero>(3), B<memccpy>(3), B<memchr>(3), "
"B<memcmp>(3), B<memcpy>(3), B<memfrob>(3), B<memmem>(3), B<memmove>(3), "
msgstr ""
#. type: TH
-#: build/C/man3/bzero.3:29
+#: build/C/man3/bzero.3:31
#, no-wrap
msgid "BZERO"
msgstr ""
#. type: Plain text
-#: build/C/man3/bzero.3:32
+#: build/C/man3/bzero.3:34
msgid "bzero - write zero-valued bytes"
msgstr ""
#. type: Plain text
-#: build/C/man3/bzero.3:37
+#: build/C/man3/bzero.3:39
#, no-wrap
msgid "B<void bzero(void *>I<s>B<, size_t >I<n>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/bzero.3:46
+#: build/C/man3/bzero.3:48
msgid ""
"The B<bzero>() function sets the first I<n> bytes of the area starting at "
"I<s> to zero (bytes containing \\(aq\\e0\\(aq)."
msgstr ""
#. type: Plain text
-#: build/C/man3/bzero.3:55
+#: build/C/man3/bzero.3:57
msgid ""
"4.3BSD. This function is deprecated (marked as LEGACY in POSIX.1-2001): use "
"B<memset>(3) in new programs. POSIX.1-2008 removes the specification of "
msgstr ""
#. type: Plain text
-#: build/C/man3/bzero.3:58
+#: build/C/man3/bzero.3:60
msgid "B<memset>(3), B<swab>(3)"
msgstr ""
#. type: TH
-#: build/C/man3/ffs.3:31
+#: build/C/man3/ffs.3:33
#, no-wrap
msgid "FFS"
msgstr ""
#. type: TH
-#: build/C/man3/ffs.3:31 build/C/man3/strcoll.3:28 build/C/man3/strfry.3:28
+#: build/C/man3/ffs.3:33 build/C/man3/strcoll.3:30 build/C/man3/strfry.3:30
#, no-wrap
msgid "2010-09-20"
msgstr ""
#. type: TH
-#: build/C/man3/ffs.3:31 build/C/man3/index.3:29 build/C/man3/memccpy.3:28 build/C/man3/memfrob.3:28 build/C/man3/memmem.3:28 build/C/man3/memmove.3:28 build/C/man3/mempcpy.3:6 build/C/man3/memset.3:28 build/C/man3/stpcpy.3:25 build/C/man3/stpncpy.3:12 build/C/man3/strcat.3:30 build/C/man3/strchr.3:31 build/C/man3/strcoll.3:28 build/C/man3/strcpy.3:33 build/C/man3/strdup.3:29 build/C/man3/strfry.3:28 build/C/man3/strlen.3:28 build/C/man3/strnlen.3:11 build/C/man3/strsep.3:31 build/C/man3/strsignal.3:28 build/C/man3/strstr.3:31 build/C/man3/strtok.3:28 build/C/man3/strverscmp.3:23 build/C/man3/strxfrm.3:28
+#: build/C/man3/ffs.3:33 build/C/man3/index.3:31 build/C/man3/memccpy.3:30 build/C/man3/memfrob.3:30 build/C/man3/memmem.3:30 build/C/man3/memmove.3:30 build/C/man3/mempcpy.3:10 build/C/man3/memset.3:30 build/C/man3/stpcpy.3:25 build/C/man3/stpncpy.3:14 build/C/man3/strcat.3:32 build/C/man3/strchr.3:33 build/C/man3/strcoll.3:30 build/C/man3/strcpy.3:35 build/C/man3/strdup.3:31 build/C/man3/strfry.3:30 build/C/man3/strlen.3:30 build/C/man3/strnlen.3:13 build/C/man3/strsep.3:33 build/C/man3/strsignal.3:30 build/C/man3/strstr.3:33 build/C/man3/strtok.3:30 build/C/man3/strverscmp.3:25 build/C/man3/strxfrm.3:30
#, no-wrap
msgid "GNU"
msgstr ""
#. type: Plain text
-#: build/C/man3/ffs.3:34
+#: build/C/man3/ffs.3:36
msgid "ffs, ffsl, ffsll - find first bit set in a word"
msgstr ""
#. type: Plain text
-#: build/C/man3/ffs.3:39
+#: build/C/man3/ffs.3:41
#, no-wrap
msgid "B<int ffs(int >I<i>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/ffs.3:43
+#: build/C/man3/ffs.3:45
#, no-wrap
msgid "B<int ffsl(long int >I<i>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/ffs.3:45
+#: build/C/man3/ffs.3:47
#, no-wrap
msgid "B<int ffsll(long long int >I<i>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/ffs.3:50 build/C/man3/memchr.3:47 build/C/man3/stpcpy.3:38 build/C/man3/stpncpy.3:25 build/C/man3/strdup.3:48 build/C/man3/strerror.3:56 build/C/man3/strnlen.3:24 build/C/man3/strsep.3:44 build/C/man3/strsignal.3:43 build/C/man3/strtok.3:43
+#: build/C/man3/ffs.3:52 build/C/man3/memchr.3:49 build/C/man3/stpcpy.3:38 build/C/man3/stpncpy.3:27 build/C/man3/strdup.3:50 build/C/man3/strerror.3:58 build/C/man3/strnlen.3:26 build/C/man3/strsep.3:46 build/C/man3/strsignal.3:45 build/C/man3/strtok.3:45
msgid "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
msgstr ""
#. type: Plain text
-#: build/C/man3/ffs.3:55
+#: build/C/man3/ffs.3:57
msgid "B<ffs>():"
msgstr ""
#. type: TP
-#: build/C/man3/ffs.3:56
+#: build/C/man3/ffs.3:58
#, no-wrap
msgid "Since glibc 2.12:"
msgstr ""
#. type: Plain text
-#: build/C/man3/ffs.3:60
+#: build/C/man3/ffs.3:62
msgid ""
"_SVID_SOURCE || _BSD_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200809L || "
"_XOPEN_SOURCE\\ E<gt>=\\ 700 ||"
msgstr ""
#. type: TP
-#: build/C/man3/ffs.3:60
+#: build/C/man3/ffs.3:62
#, no-wrap
msgid "Before glibc 2.12:"
msgstr ""
#. type: Plain text
-#: build/C/man3/ffs.3:63
+#: build/C/man3/ffs.3:65
msgid "none"
msgstr ""
#. type: Plain text
-#: build/C/man3/ffs.3:67
+#: build/C/man3/ffs.3:69
msgid "B<ffsl>(), B<ffsll>():"
msgstr ""
#. type: Plain text
-#: build/C/man3/ffs.3:69 build/C/man3/stpcpy.3:50 build/C/man3/stpncpy.3:37 build/C/man3/strdup.3:68 build/C/man3/strnlen.3:36 build/C/man3/strsignal.3:55
+#: build/C/man3/ffs.3:71 build/C/man3/stpcpy.3:50 build/C/man3/stpncpy.3:39 build/C/man3/strdup.3:70 build/C/man3/strnlen.3:38 build/C/man3/strsignal.3:57
msgid "_GNU_SOURCE"
msgstr ""
#. type: Plain text
-#: build/C/man3/ffs.3:85
+#: build/C/man3/ffs.3:87
msgid ""
"The B<ffs>() function returns the position of the first (least significant) "
"bit set in the word I<i>. The least significant bit is position 1 and the "
msgstr ""
#. type: Plain text
-#: build/C/man3/ffs.3:89
+#: build/C/man3/ffs.3:91
msgid ""
"These functions return the position of the first bit set, or 0 if no bits "
"are set in I<i>."
msgstr ""
#. type: Plain text
-#: build/C/man3/ffs.3:92
+#: build/C/man3/ffs.3:94
msgid "B<ffs>(): 4.3BSD, POSIX.1-2001."
msgstr ""
#. type: Plain text
-#: build/C/man3/ffs.3:98
+#: build/C/man3/ffs.3:100
msgid "The B<ffsl>() and B<ffsll>() functions are glibc extensions."
msgstr ""
#. type: Plain text
-#: build/C/man3/ffs.3:101
+#: build/C/man3/ffs.3:103
msgid "BSD systems have a prototype in I<E<lt>string.hE<gt>>."
msgstr ""
#. type: Plain text
-#: build/C/man3/ffs.3:103
+#: build/C/man3/ffs.3:105
msgid "B<memchr>(3)"
msgstr ""
#. type: TH
-#: build/C/man3/index.3:29
+#: build/C/man3/index.3:31
#, no-wrap
msgid "INDEX"
msgstr ""
#. type: TH
-#: build/C/man3/index.3:29
+#: build/C/man3/index.3:31
#, no-wrap
msgid "2011-09-21"
msgstr ""
#. type: Plain text
-#: build/C/man3/index.3:32
+#: build/C/man3/index.3:34
msgid "index, rindex - locate character in string"
msgstr ""
#. type: Plain text
-#: build/C/man3/index.3:37 build/C/man3/string.3:43
+#: build/C/man3/index.3:39 build/C/man3/string.3:45
#, no-wrap
msgid "B<char *index(const char *>I<s>B<, int >I<c>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/index.3:39 build/C/man3/string.3:45
+#: build/C/man3/index.3:41 build/C/man3/string.3:47
#, no-wrap
msgid "B<char *rindex(const char *>I<s>B<, int >I<c>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/index.3:45
+#: build/C/man3/index.3:47
msgid ""
"The B<index>() function returns a pointer to the first occurrence of the "
"character I<c> in the string I<s>."
msgstr ""
#. type: Plain text
-#: build/C/man3/index.3:50
+#: build/C/man3/index.3:52
msgid ""
"The B<rindex>() function returns a pointer to the last occurrence of the "
"character I<c> in the string I<s>."
msgstr ""
#. type: Plain text
-#: build/C/man3/index.3:53
+#: build/C/man3/index.3:55
msgid ""
"The terminating null byte (\\(aq\\e0\\(aq) is considered to be a part of the "
"strings."
msgstr ""
#. type: Plain text
-#: build/C/man3/index.3:60
+#: build/C/man3/index.3:62
msgid ""
"The B<index>() and B<rindex>() functions return a pointer to the matched "
"character or NULL if the character is not found."
msgstr ""
#. type: Plain text
-#: build/C/man3/index.3:71
+#: build/C/man3/index.3:73
msgid ""
"4.3BSD; marked as LEGACY in POSIX.1-2001. POSIX.1-2008 removes the "
"specifications of B<index>() and B<rindex>(), recommending B<strchr>(3) "
msgstr ""
#. type: Plain text
-#: build/C/man3/index.3:81
+#: build/C/man3/index.3:83
msgid ""
"B<memchr>(3), B<strchr>(3), B<string>(3), B<strpbrk>(3), B<strrchr>(3), "
"B<strsep>(3), B<strspn>(3), B<strstr>(3), B<strtok>(3)"
msgstr ""
#. type: TH
-#: build/C/man3/memccpy.3:28
+#: build/C/man3/memccpy.3:30
#, no-wrap
msgid "MEMCCPY"
msgstr ""
#. type: TH
-#: build/C/man3/memccpy.3:28
+#: build/C/man3/memccpy.3:30
#, no-wrap
msgid "2009-01-13"
msgstr ""
#. type: Plain text
-#: build/C/man3/memccpy.3:31
+#: build/C/man3/memccpy.3:33
msgid "memccpy - copy memory area"
msgstr ""
#. type: Plain text
-#: build/C/man3/memccpy.3:43
+#: build/C/man3/memccpy.3:45
msgid ""
"The B<memccpy>() function copies no more than I<n> bytes from memory area "
"I<src> to memory area I<dest>, stopping when the character I<c> is found."
msgstr ""
#. type: Plain text
-#: build/C/man3/memccpy.3:45
+#: build/C/man3/memccpy.3:47
msgid "If the memory areas overlap, the results are undefined."
msgstr ""
#. type: Plain text
-#: build/C/man3/memccpy.3:51
+#: build/C/man3/memccpy.3:53
msgid ""
"The B<memccpy>() function returns a pointer to the next character in "
"I<dest> after I<c>, or NULL if I<c> was not found in the first I<n> "
msgstr ""
#. type: Plain text
-#: build/C/man3/memccpy.3:53
+#: build/C/man3/memccpy.3:55
msgid "SVr4, 4.3BSD, POSIX.1-2001."
msgstr ""
#. type: Plain text
-#: build/C/man3/memccpy.3:59
+#: build/C/man3/memccpy.3:61
msgid "B<bcopy>(3), B<memcpy>(3), B<memmove>(3), B<strcpy>(3), B<strncpy>(3)"
msgstr ""
#. type: TH
-#: build/C/man3/memchr.3:30
+#: build/C/man3/memchr.3:32
#, no-wrap
msgid "MEMCHR"
msgstr ""
#. type: TH
-#: build/C/man3/memchr.3:30
+#: build/C/man3/memchr.3:32
#, no-wrap
msgid "2012-04-23"
msgstr ""
#. type: Plain text
-#: build/C/man3/memchr.3:33
+#: build/C/man3/memchr.3:35
msgid "memchr, memrchr, rawmemchr - scan memory for a character"
msgstr ""
#. type: Plain text
-#: build/C/man3/memchr.3:40
+#: build/C/man3/memchr.3:42
#, no-wrap
msgid "B<void *memrchr(const void *>I<s>B<, int >I<c>B<, size_t >I<n>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/memchr.3:42
+#: build/C/man3/memchr.3:44
#, no-wrap
msgid "B<void *rawmemchr(const void *>I<s>B<, int >I<c>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/memchr.3:52
+#: build/C/man3/memchr.3:54
msgid "B<memrchr>(), B<rawmemchr>(): _GNU_SOURCE"
msgstr ""
#. type: Plain text
-#: build/C/man3/memchr.3:68
+#: build/C/man3/memchr.3:70
msgid ""
"The B<memchr>() function scans the initial I<n> bytes of the memory area "
"pointed to by I<s> for the first instance of I<c>. Both I<c> and the bytes "
msgstr ""
#. type: Plain text
-#: build/C/man3/memchr.3:79
+#: build/C/man3/memchr.3:81
msgid ""
"The B<memrchr>() function is like the B<memchr>() function, except that it "
"searches backward from the end of the I<n> bytes pointed to by I<s> instead "
msgstr ""
#. type: Plain text
-#: build/C/man3/memchr.3:97
+#: build/C/man3/memchr.3:99
msgid ""
"The B<rawmemchr>() function is similar to B<memchr>(): it assumes (i.e., "
"the programmer knows for certain) that an instance of I<c> lies somewhere "
msgstr ""
#. type: Plain text
-#: build/C/man3/memchr.3:101
+#: build/C/man3/memchr.3:103
#, no-wrap
msgid "char *p = rawmemchr(s,\\ \\(aq\\e0\\(aq);\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/memchr.3:111
+#: build/C/man3/memchr.3:113
msgid ""
"The B<memchr>() and B<memrchr>() functions return a pointer to the "
"matching byte or NULL if the character does not occur in the given memory "
msgstr ""
#. type: Plain text
-#: build/C/man3/memchr.3:116
+#: build/C/man3/memchr.3:118
msgid ""
"The B<rawmemchr>() function returns a pointer to the matching byte, if one "
"is found. If no matching byte is found, the result is unspecified."
msgstr ""
#. type: SH
-#: build/C/man3/memchr.3:116 build/C/man3/mempcpy.3:51 build/C/man3/strchr.3:99
+#: build/C/man3/memchr.3:118 build/C/man3/mempcpy.3:55 build/C/man3/strchr.3:101
#, no-wrap
msgid "VERSIONS"
msgstr ""
#. type: Plain text
-#: build/C/man3/memchr.3:119
+#: build/C/man3/memchr.3:121
msgid "B<rawmemchr>() first appeared in glibc in version 2.1."
msgstr ""
#. type: Plain text
-#: build/C/man3/memchr.3:122
+#: build/C/man3/memchr.3:124
msgid "B<memrchr>() first appeared in glibc in version 2.2."
msgstr ""
#. type: Plain text
-#: build/C/man3/memchr.3:126
+#: build/C/man3/memchr.3:128
msgid "The B<memchr>() function conforms to SVr4, 4.3BSD, C89, C99, POSIX.1-2001."
msgstr ""
#. type: Plain text
-#: build/C/man3/memchr.3:130
+#: build/C/man3/memchr.3:132
msgid "The B<memrchr>() function is a GNU extension, available since glibc 2.1.91."
msgstr ""
#. type: Plain text
-#: build/C/man3/memchr.3:134
+#: build/C/man3/memchr.3:136
msgid "The B<rawmemchr>() function is a GNU extension, available since glibc 2.1."
msgstr ""
#. type: Plain text
-#: build/C/man3/memchr.3:145
+#: build/C/man3/memchr.3:147
msgid ""
"B<ffs>(3), B<index>(3), B<rindex>(3), B<strchr>(3), B<strpbrk>(3), "
"B<strrchr>(3), B<strsep>(3), B<strspn>(3), B<strstr>(3), B<wmemchr>(3)"
msgstr ""
#. type: TH
-#: build/C/man3/memcmp.3:28
+#: build/C/man3/memcmp.3:30
#, no-wrap
msgid "MEMCMP"
msgstr ""
#. type: TH
-#: build/C/man3/memcmp.3:28
+#: build/C/man3/memcmp.3:30 build/C/man3/strcmp.3:32
#, no-wrap
-msgid "2011-09-14"
+msgid "2012-11-25"
msgstr ""
#. type: Plain text
-#: build/C/man3/memcmp.3:31
+#: build/C/man3/memcmp.3:33
msgid "memcmp - compare memory areas"
msgstr ""
#. type: Plain text
-#: build/C/man3/memcmp.3:46
+#: build/C/man3/memcmp.3:45
msgid ""
"The B<memcmp>() function compares the first I<n> bytes (each interpreted as "
-"I<unsigned char>) of the memory areas I<s1> and I<s2>. It returns an "
-"integer less than, equal to, or greater than zero if I<s1> is found, "
-"respectively, to be less than, to match, or be greater than I<s2>."
+"I<unsigned char>) of the memory areas I<s1> and I<s2>."
msgstr ""
#. type: Plain text
-#: build/C/man3/memcmp.3:53
+#: build/C/man3/memcmp.3:52
msgid ""
"The B<memcmp>() function returns an integer less than, equal to, or greater "
"than zero if the first I<n> bytes of I<s1> is found, respectively, to be "
msgstr ""
#. type: Plain text
-#: build/C/man3/memcmp.3:55 build/C/man3/memcpy.3:52 build/C/man3/memmove.3:57 build/C/man3/memset.3:49
+#: build/C/man3/memcmp.3:60
+msgid ""
+"For a nonzero return value, the sign is determined by the sign of the "
+"difference between the first pair of bytes (interpreted as I<unsigned char>) "
+"that differ in I<s1> and I<s2>."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/memcmp.3:62 build/C/man3/memcpy.3:54 build/C/man3/memmove.3:59 build/C/man3/memset.3:51
msgid "SVr4, 4.3BSD, C89, C99, POSIX.1-2001."
msgstr ""
#. type: Plain text
-#: build/C/man3/memcmp.3:63
+#: build/C/man3/memcmp.3:70
msgid ""
"B<bcmp>(3), B<strcasecmp>(3), B<strcmp>(3), B<strcoll>(3), "
"B<strncasecmp>(3), B<strncmp>(3), B<wmemcmp>(3)"
msgstr ""
#. type: TH
-#: build/C/man3/memcpy.3:28
+#: build/C/man3/memcpy.3:30
#, no-wrap
msgid "MEMCPY"
msgstr ""
#. type: TH
-#: build/C/man3/memcpy.3:28
+#: build/C/man3/memcpy.3:30
#, no-wrap
msgid "2010-11-15"
msgstr ""
#. type: Plain text
-#: build/C/man3/memcpy.3:31
+#: build/C/man3/memcpy.3:33
msgid "memcpy - copy memory area"
msgstr ""
#. type: Plain text
-#: build/C/man3/memcpy.3:46
+#: build/C/man3/memcpy.3:48
msgid ""
"The B<memcpy>() function copies I<n> bytes from memory area I<src> to "
"memory area I<dest>. The memory areas must not overlap. Use B<memmove>(3) "
msgstr ""
#. type: Plain text
-#: build/C/man3/memcpy.3:50
+#: build/C/man3/memcpy.3:52
msgid "The B<memcpy>() function returns a pointer to I<dest>."
msgstr ""
#. type: Plain text
-#: build/C/man3/memcpy.3:60
+#: build/C/man3/memcpy.3:62
msgid ""
"B<bcopy>(3), B<memccpy>(3), B<memmove>(3), B<mempcpy>(3), B<strcpy>(3), "
"B<strncpy>(3), B<wmemcpy>(3)"
msgstr ""
#. type: TH
-#: build/C/man3/memfrob.3:28
+#: build/C/man3/memfrob.3:30
#, no-wrap
msgid "MEMFROB"
msgstr ""
#. type: TH
-#: build/C/man3/memfrob.3:28
+#: build/C/man3/memfrob.3:30
#, no-wrap
msgid "2010-09-10"
msgstr ""
#. type: Plain text
-#: build/C/man3/memfrob.3:31
+#: build/C/man3/memfrob.3:33
msgid "memfrob - frobnicate (encrypt) a memory area"
msgstr ""
#. type: Plain text
-#: build/C/man3/memfrob.3:35
+#: build/C/man3/memfrob.3:37
#, no-wrap
msgid ""
"B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/memfrob.3:48
+#: build/C/man3/memfrob.3:50
msgid ""
"The B<memfrob>() function encrypts the first I<n> bytes of the memory area "
"I<s> by exclusive-ORing each character with the number 42. The effect can "
msgstr ""
#. type: Plain text
-#: build/C/man3/memfrob.3:51
+#: build/C/man3/memfrob.3:53
msgid ""
"Note that this function is not a proper encryption routine as the XOR "
"constant is fixed, and is only suitable for hiding strings."
msgstr ""
#. type: Plain text
-#: build/C/man3/memfrob.3:56
+#: build/C/man3/memfrob.3:58
msgid "The B<memfrob>() function returns a pointer to the encrypted memory area."
msgstr ""
#. type: Plain text
-#: build/C/man3/memfrob.3:61
+#: build/C/man3/memfrob.3:63
msgid "The B<memfrob>() function is unique to the GNU C Library."
msgstr ""
#. type: Plain text
-#: build/C/man3/memfrob.3:63
+#: build/C/man3/memfrob.3:65
msgid "B<strfry>(3)"
msgstr ""
#. type: TH
-#: build/C/man3/memmem.3:28
+#: build/C/man3/memmem.3:30
#, no-wrap
msgid "MEMMEM"
msgstr ""
#. type: TH
-#: build/C/man3/memmem.3:28
+#: build/C/man3/memmem.3:30
#, no-wrap
msgid "2008-12-05"
msgstr ""
#. type: Plain text
-#: build/C/man3/memmem.3:31
+#: build/C/man3/memmem.3:33
msgid "memmem - locate a substring"
msgstr ""
#. type: Plain text
-#: build/C/man3/memmem.3:35 build/C/man3/strchr.3:44
+#: build/C/man3/memmem.3:37 build/C/man3/strchr.3:46
#, no-wrap
msgid ""
"B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/memmem.3:38
+#: build/C/man3/memmem.3:40
#, no-wrap
msgid ""
"B<void *memmem(const void *>I<haystack>B<, size_t >I<haystacklen>B<,>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/memmem.3:45
+#: build/C/man3/memmem.3:47
msgid ""
"The B<memmem>() function finds the start of the first occurrence of the "
"substring I<needle> of length I<needlelen> in the memory area I<haystack> of "
msgstr ""
#. type: Plain text
-#: build/C/man3/memmem.3:50
+#: build/C/man3/memmem.3:52
msgid ""
"The B<memmem>() function returns a pointer to the beginning of the "
"substring, or NULL if the substring is not found."
msgstr ""
#. type: Plain text
-#: build/C/man3/memmem.3:52 build/C/man3/mempcpy.3:56 build/C/man3/strverscmp.3:88
+#: build/C/man3/memmem.3:54 build/C/man3/mempcpy.3:60 build/C/man3/strverscmp.3:90
msgid "This function is a GNU extension."
msgstr ""
#. type: SH
-#: build/C/man3/memmem.3:52 build/C/man3/stpcpy.3:72 build/C/man3/strcpy.3:124 build/C/man3/strsep.3:77 build/C/man3/strstr.3:68 build/C/man3/strtok.3:118
+#: build/C/man3/memmem.3:54 build/C/man3/stpcpy.3:72 build/C/man3/strcpy.3:183 build/C/man3/strsep.3:79 build/C/man3/strstr.3:70 build/C/man3/strtok.3:120
#, no-wrap
msgid "BUGS"
msgstr ""
#. type: Plain text
-#: build/C/man3/memmem.3:57
+#: build/C/man3/memmem.3:59
msgid ""
"This function was broken in Linux libraries up to and including libc 5.0.9; "
"there the I<needle> and I<haystack> arguments were interchanged, and a "
msgstr ""
#. type: Plain text
-#: build/C/man3/memmem.3:63
+#: build/C/man3/memmem.3:65
msgid ""
"Both old and new libc's have the bug that if I<needle> is empty, "
"I<haystack-1> (instead of I<haystack>) is returned. And glibc 2.0 makes it "
msgstr ""
#. type: Plain text
-#: build/C/man3/memmem.3:65
+#: build/C/man3/memmem.3:67
msgid "B<strstr>(3)"
msgstr ""
#. type: TH
-#: build/C/man3/memmove.3:28
+#: build/C/man3/memmove.3:30
#, no-wrap
msgid "MEMMOVE"
msgstr ""
#. type: TH
-#: build/C/man3/memmove.3:28
+#: build/C/man3/memmove.3:30
#, no-wrap
msgid "1993-04-10"
msgstr ""
#. type: Plain text
-#: build/C/man3/memmove.3:31
+#: build/C/man3/memmove.3:33
msgid "memmove - copy memory area"
msgstr ""
#. type: Plain text
-#: build/C/man3/memmove.3:51
+#: build/C/man3/memmove.3:53
msgid ""
"The B<memmove>() function copies I<n> bytes from memory area I<src> to "
"memory area I<dest>. The memory areas may overlap: copying takes place as "
msgstr ""
#. type: Plain text
-#: build/C/man3/memmove.3:55
+#: build/C/man3/memmove.3:57
msgid "The B<memmove>() function returns a pointer to I<dest>."
msgstr ""
#. type: Plain text
-#: build/C/man3/memmove.3:64
+#: build/C/man3/memmove.3:66
msgid ""
"B<bcopy>(3), B<memccpy>(3), B<memcpy>(3), B<strcpy>(3), B<strncpy>(3), "
"B<wmemmove>(3)"
msgstr ""
#. type: TH
-#: build/C/man3/mempcpy.3:6
+#: build/C/man3/mempcpy.3:10
#, no-wrap
msgid "MEMPCPY"
msgstr ""
#. type: TH
-#: build/C/man3/mempcpy.3:6
+#: build/C/man3/mempcpy.3:10
#, no-wrap
msgid "2008-08-12"
msgstr ""
#. type: Plain text
-#: build/C/man3/mempcpy.3:9
+#: build/C/man3/mempcpy.3:13
msgid "mempcpy, wmempcpy - copy memory area"
msgstr ""
#. type: Plain text
-#: build/C/man3/mempcpy.3:12 build/C/man3/mempcpy.3:18 build/C/man3/strfry.3:34 build/C/man3/strstr.3:41 build/C/man3/strverscmp.3:29
+#: build/C/man3/mempcpy.3:16 build/C/man3/mempcpy.3:22 build/C/man3/strfry.3:36 build/C/man3/strstr.3:43 build/C/man3/strverscmp.3:31
#, no-wrap
msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/mempcpy.3:16
+#: build/C/man3/mempcpy.3:20
#, no-wrap
msgid "B<void *mempcpy(void *>I<dest>B<, const void *>I<src>B<, size_t >I<n>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/mempcpy.3:20
+#: build/C/man3/mempcpy.3:24
#, no-wrap
msgid "B<#include E<lt>wchar.hE<gt>>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/mempcpy.3:22
+#: build/C/man3/mempcpy.3:26
#, no-wrap
msgid ""
"B<wchar_t *wmempcpy(wchar_t *>I<dest>B<, const wchar_t *>I<src>B<, size_t "
msgstr ""
#. type: Plain text
-#: build/C/man3/mempcpy.3:38
+#: build/C/man3/mempcpy.3:42
msgid ""
"The B<mempcpy>() function is nearly identical to the B<memcpy>(3) "
"function. It copies I<n> bytes from the object beginning at I<src> into the "
msgstr ""
#. type: Plain text
-#: build/C/man3/mempcpy.3:41
+#: build/C/man3/mempcpy.3:45
msgid ""
"This function is useful in situations where a number of objects shall be "
"copied to consecutive memory positions."
msgstr ""
#. type: Plain text
-#: build/C/man3/mempcpy.3:49
+#: build/C/man3/mempcpy.3:53
msgid ""
"The B<wmempcpy>() function is identical but takes I<wchar_t> type arguments "
"and copies I<n> wide characters."
msgstr ""
#. type: Plain text
-#: build/C/man3/mempcpy.3:51
+#: build/C/man3/mempcpy.3:55
msgid "I<dest> + I<n>."
msgstr ""
#. type: Plain text
-#: build/C/man3/mempcpy.3:54
+#: build/C/man3/mempcpy.3:58
msgid "B<mempcpy>() first appeared in glibc in version 2.1."
msgstr ""
#. type: SH
-#: build/C/man3/mempcpy.3:56 build/C/man3/stpcpy.3:75 build/C/man3/strtok.3:134
+#: build/C/man3/mempcpy.3:60 build/C/man3/stpcpy.3:75 build/C/man3/strtok.3:136
#, no-wrap
msgid "EXAMPLE"
msgstr ""
#. type: Plain text
-#: build/C/man3/mempcpy.3:66
+#: build/C/man3/mempcpy.3:70
#, no-wrap
msgid ""
"void *\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/mempcpy.3:72
+#: build/C/man3/mempcpy.3:76
msgid "B<memccpy>(3), B<memcpy>(3), B<memmove>(3), B<wmemcpy>(3)"
msgstr ""
#. type: TH
-#: build/C/man3/memset.3:28
+#: build/C/man3/memset.3:30
#, no-wrap
msgid "MEMSET"
msgstr ""
#. type: TH
-#: build/C/man3/memset.3:28
+#: build/C/man3/memset.3:30
#, no-wrap
msgid "1993-04-11"
msgstr ""
#. type: Plain text
-#: build/C/man3/memset.3:31
+#: build/C/man3/memset.3:33
msgid "memset - fill memory with a constant byte"
msgstr ""
#. type: Plain text
-#: build/C/man3/memset.3:42
+#: build/C/man3/memset.3:44
msgid ""
"The B<memset>() function fills the first I<n> bytes of the memory area "
"pointed to by I<s> with the constant byte I<c>."
msgstr ""
#. type: Plain text
-#: build/C/man3/memset.3:47
+#: build/C/man3/memset.3:49
msgid "The B<memset>() function returns a pointer to the memory area I<s>."
msgstr ""
#. type: Plain text
-#: build/C/man3/memset.3:53
+#: build/C/man3/memset.3:55
msgid "B<bzero>(3), B<swab>(3), B<wmemset>(3)"
msgstr ""
msgstr ""
#. type: Plain text
-#: build/C/man3/stpcpy.3:33 build/C/man3/string.3:49
+#: build/C/man3/stpcpy.3:33 build/C/man3/string.3:51
#, no-wrap
msgid "B<char *stpcpy(char *>I<dest>B<, const char *>I<src>B<);>\n"
msgstr ""
msgstr ""
#. type: TP
-#: build/C/man3/stpcpy.3:44 build/C/man3/stpncpy.3:31 build/C/man3/strdup.3:62 build/C/man3/strnlen.3:30 build/C/man3/strsignal.3:49
+#: build/C/man3/stpcpy.3:44 build/C/man3/stpncpy.3:33 build/C/man3/strdup.3:64 build/C/man3/strnlen.3:32 build/C/man3/strsignal.3:51
#, no-wrap
msgid "Since glibc 2.10:"
msgstr ""
#. type: Plain text
-#: build/C/man3/stpcpy.3:47 build/C/man3/stpncpy.3:34 build/C/man3/strnlen.3:33 build/C/man3/strsignal.3:52
+#: build/C/man3/stpcpy.3:47 build/C/man3/stpncpy.3:36 build/C/man3/strnlen.3:35 build/C/man3/strsignal.3:54
msgid "_XOPEN_SOURCE\\ E<gt>=\\ 700 || _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
msgstr ""
#. type: TP
-#: build/C/man3/stpcpy.3:47 build/C/man3/stpncpy.3:34 build/C/man3/strdup.3:65 build/C/man3/strnlen.3:33 build/C/man3/strsignal.3:52
+#: build/C/man3/stpcpy.3:47 build/C/man3/stpncpy.3:36 build/C/man3/strdup.3:67 build/C/man3/strnlen.3:35 build/C/man3/strsignal.3:54
#, no-wrap
msgid "Before glibc 2.10:"
msgstr ""
msgstr ""
#. type: TH
-#: build/C/man3/stpncpy.3:12
+#: build/C/man3/stpncpy.3:14
#, no-wrap
msgid "STPNCPY"
msgstr ""
#. type: TH
-#: build/C/man3/stpncpy.3:12 build/C/man3/strsep.3:31 build/C/man3/strstr.3:31
+#: build/C/man3/stpncpy.3:14 build/C/man3/strsep.3:33 build/C/man3/strstr.3:33
#, no-wrap
msgid "2011-09-28"
msgstr ""
#. type: Plain text
-#: build/C/man3/stpncpy.3:15
+#: build/C/man3/stpncpy.3:17
msgid "stpncpy - copy a fixed-size string, returning a pointer to its end"
msgstr ""
#. type: Plain text
-#: build/C/man3/stpncpy.3:20
+#: build/C/man3/stpncpy.3:22
#, no-wrap
msgid "B<char *stpncpy(char *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/stpncpy.3:28
+#: build/C/man3/stpncpy.3:30
msgid "B<stpncpy>():"
msgstr ""
#. type: Plain text
-#: build/C/man3/stpncpy.3:54
+#: build/C/man3/stpncpy.3:56
msgid ""
"The B<stpncpy>() function copies at most I<n> characters from the string "
"pointed to by I<src>, including the terminating null byte (\\(aq\\e0\\(aq), "
msgstr ""
#. type: Plain text
-#: build/C/man3/stpncpy.3:56
+#: build/C/man3/stpncpy.3:58
msgid "The strings may not overlap."
msgstr ""
#. type: Plain text
-#: build/C/man3/stpncpy.3:59
+#: build/C/man3/stpncpy.3:61
msgid ""
"The programmer must ensure that there is room for at least I<n> characters "
"at I<dest>."
msgstr ""
#. type: Plain text
-#: build/C/man3/stpncpy.3:64
+#: build/C/man3/stpncpy.3:66
msgid ""
"B<stpncpy>() returns a pointer to the terminating null byte in I<dest>, or, "
"if I<dest> is not null-terminated, I<dest + n>."
msgstr ""
#. type: Plain text
-#: build/C/man3/stpncpy.3:66
+#: build/C/man3/stpncpy.3:68
msgid ""
"This function was added to POSIX.1-2008. Before that, it was a GNU "
"extension."
msgstr ""
#. type: Plain text
-#: build/C/man3/stpncpy.3:69
+#: build/C/man3/stpncpy.3:71
msgid "B<strncpy>(3), B<wcpncpy>(3)"
msgstr ""
#. type: TH
-#: build/C/man3/strcasecmp.3:28
+#: build/C/man3/strcasecmp.3:30
#, no-wrap
msgid "STRCASECMP"
msgstr ""
#. type: TH
-#: build/C/man3/strcasecmp.3:28 build/C/man3/strcat.3:30 build/C/man3/strcmp.3:30 build/C/man3/strcpy.3:33 build/C/man3/strdup.3:29 build/C/man3/strnlen.3:11 build/C/man3/strpbrk.3:28 build/C/man3/strspn.3:28 build/C/man3/strtok.3:28 build/C/man3/strxfrm.3:28
+#: build/C/man3/strcasecmp.3:30 build/C/man3/strdup.3:31 build/C/man3/strnlen.3:13 build/C/man3/strpbrk.3:30 build/C/man3/strspn.3:30 build/C/man3/strtok.3:30 build/C/man3/strxfrm.3:30
#, no-wrap
msgid "2012-05-10"
msgstr ""
#. type: Plain text
-#: build/C/man3/strcasecmp.3:31
+#: build/C/man3/strcasecmp.3:33
msgid "strcasecmp, strncasecmp - compare two strings ignoring case"
msgstr ""
#. type: Plain text
-#: build/C/man3/strcasecmp.3:36 build/C/man3/string.3:39
+#: build/C/man3/strcasecmp.3:38 build/C/man3/string.3:41
#, no-wrap
msgid "B<int strcasecmp(const char *>I<s1>B<, const char *>I<s2>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/strcasecmp.3:38 build/C/man3/string.3:41
+#: build/C/man3/strcasecmp.3:40 build/C/man3/string.3:43
#, no-wrap
msgid ""
"B<int strncasecmp(const char *>I<s1>B<, const char *>I<s2>B<, size_t "
msgstr ""
#. type: Plain text
-#: build/C/man3/strcasecmp.3:47
+#: build/C/man3/strcasecmp.3:49
msgid ""
"The B<strcasecmp>() function compares the two strings I<s1> and I<s2>, "
"ignoring the case of the characters. It returns an integer less than, equal "
msgstr ""
#. type: Plain text
-#: build/C/man3/strcasecmp.3:52
+#: build/C/man3/strcasecmp.3:54
msgid ""
"The B<strncasecmp>() function is similar, except it only compares the first "
"I<n> bytes of I<s1>."
msgstr ""
#. type: Plain text
-#: build/C/man3/strcasecmp.3:61
+#: build/C/man3/strcasecmp.3:63
msgid ""
"The B<strcasecmp>() and B<strncasecmp>() functions return an integer less "
"than, equal to, or greater than zero if I<s1> (or the first I<n> bytes "
msgstr ""
#. type: Plain text
-#: build/C/man3/strcasecmp.3:63
+#: build/C/man3/strcasecmp.3:65
msgid "4.4BSD, POSIX.1-2001."
msgstr ""
#. type: Plain text
-#: build/C/man3/strcasecmp.3:72
+#: build/C/man3/strcasecmp.3:74
msgid ""
"B<bcmp>(3), B<memcmp>(3), B<strcmp>(3), B<strcoll>(3), B<string>(3), "
"B<strncmp>(3), B<wcscasecmp>(3), B<wcsncasecmp>(3)"
msgstr ""
#. type: TH
-#: build/C/man3/strcat.3:30
+#: build/C/man3/strcat.3:32
#, no-wrap
msgid "STRCAT"
msgstr ""
+#. type: TH
+#: build/C/man3/strcat.3:32 build/C/man3/strcpy.3:35
+#, no-wrap
+msgid "2012-07-19"
+msgstr ""
+
#. type: Plain text
-#: build/C/man3/strcat.3:33
+#: build/C/man3/strcat.3:35
msgid "strcat, strncat - concatenate two strings"
msgstr ""
#. type: Plain text
-#: build/C/man3/strcat.3:38 build/C/man3/string.3:51
+#: build/C/man3/strcat.3:40 build/C/man3/string.3:53
#, no-wrap
msgid "B<char *strcat(char *>I<dest>B<, const char *>I<src>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/strcat.3:40 build/C/man3/string.3:69
+#: build/C/man3/strcat.3:42 build/C/man3/string.3:71
#, no-wrap
msgid "B<char *strncat(char *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/strcat.3:50
+#: build/C/man3/strcat.3:56
msgid ""
"The B<strcat>() function appends the I<src> string to the I<dest> string, "
"overwriting the terminating null byte (\\(aq\\e0\\(aq) at the end of "
"I<dest>, and then adds a terminating null byte. The strings may not "
-"overlap, and the I<dest> string must have enough space for the result."
+"overlap, and the I<dest> string must have enough space for the result. If "
+"I<dest> is not large enough, program behavior is unpredictable; I<buffer "
+"overruns are a favorite avenue for attacking secure programs>."
msgstr ""
#. type: Plain text
-#: build/C/man3/strcat.3:54
+#: build/C/man3/strcat.3:60
msgid "The B<strncat>() function is similar, except that"
msgstr ""
#. type: IP
-#: build/C/man3/strcat.3:54 build/C/man3/strcat.3:56 build/C/man3/strsep.3:80 build/C/man3/strsep.3:82 build/C/man3/strsep.3:84 build/C/man3/strtok.3:121 build/C/man3/strtok.3:123 build/C/man3/strtok.3:125 build/C/man3/strtok.3:127
+#: build/C/man3/strcat.3:60 build/C/man3/strcat.3:62 build/C/man3/strsep.3:82 build/C/man3/strsep.3:84 build/C/man3/strsep.3:86 build/C/man3/strtok.3:123 build/C/man3/strtok.3:125 build/C/man3/strtok.3:127 build/C/man3/strtok.3:129
#, no-wrap
msgid "*"
msgstr ""
#. type: Plain text
-#: build/C/man3/strcat.3:56
+#: build/C/man3/strcat.3:62
msgid "it will use at most I<n> bytes from I<src>; and"
msgstr ""
#. type: Plain text
-#: build/C/man3/strcat.3:59
+#: build/C/man3/strcat.3:65
msgid ""
"I<src> does not need to be null-terminated if it contains I<n> or more "
"bytes."
msgstr ""
#. type: Plain text
-#: build/C/man3/strcat.3:63
+#: build/C/man3/strcat.3:69
msgid ""
"As with B<strcat>(), the resulting string in I<dest> is always "
"null-terminated."
msgstr ""
#. type: Plain text
-#: build/C/man3/strcat.3:70
+#: build/C/man3/strcat.3:76
msgid ""
"If I<src> contains I<n> or more bytes, B<strncat>() writes I<n+1> bytes to "
"I<dest> (I<n> from I<src> plus the terminating null byte). Therefore, the "
msgstr ""
#. type: Plain text
-#: build/C/man3/strcat.3:74
+#: build/C/man3/strcat.3:80
msgid "A simple implementation of B<strncat>() might be:"
msgstr ""
#. type: Plain text
-#: build/C/man3/strcat.3:82
+#: build/C/man3/strcat.3:88
#, no-wrap
msgid ""
"char*\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/strcat.3:86
+#: build/C/man3/strcat.3:92
#, no-wrap
msgid ""
" for (i = 0 ; i E<lt> n && src[i] != \\(aq\\e0\\(aq ; i++)\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/strcat.3:89 build/C/man3/strcpy.3:89
+#: build/C/man3/strcat.3:95 build/C/man3/strcpy.3:95
#, no-wrap
msgid ""
" return dest;\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/strcat.3:97
+#: build/C/man3/strcat.3:103
msgid ""
"The B<strcat>() and B<strncat>() functions return a pointer to the "
"resulting string I<dest>."
msgstr ""
#. type: Plain text
-#: build/C/man3/strcat.3:99 build/C/man3/strcmp.3:65 build/C/man3/strcoll.3:58 build/C/man3/strcpy.3:100 build/C/man3/strlen.3:48 build/C/man3/strpbrk.3:50 build/C/man3/strspn.3:65 build/C/man3/strxfrm.3:64
+#: build/C/man3/strcat.3:105 build/C/man3/strcmp.3:67 build/C/man3/strcoll.3:60 build/C/man3/strcpy.3:106 build/C/man3/strlen.3:50 build/C/man3/strpbrk.3:52 build/C/man3/strspn.3:67 build/C/man3/strxfrm.3:66
msgid "SVr4, 4.3BSD, C89, C99."
msgstr ""
#. type: Plain text
-#: build/C/man3/strcat.3:108
+#: build/C/man3/strcat.3:107 build/C/man3/strcpy.3:146
+msgid "Some systems (the BSDs, Solaris, and others) provide the following function:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/strcat.3:109
+#, no-wrap
+msgid " size_t strlcat(char *dest, const char *src, size_t size);\n"
+msgstr ""
+
+#. https://lwn.net/Articles/506530/
+#. type: Plain text
+#: build/C/man3/strcat.3:142
+msgid ""
+"This function appends the null-terminated string I<src> to the string "
+"I<dest>, copying at most I<size-strlen(dest)-1> from I<src>, and adds a null "
+"terminator to the result, I<unless> I<size> is less than I<strlen(dest)>. "
+"This function fixes the buffer overrun problem of B<strcat>(), but the "
+"caller must still handle the possibility of data loss if I<size> is too "
+"small. The function returns the length of the string B<strlcat>() tried to "
+"create; if the return value is greater than or equal to I<size>, data loss "
+"occurred. If data loss matters, the caller I<must> either check the "
+"arguments before the call, or test the function return value. B<strlcat>() "
+"is not present in glibc and is not standardized by POSIX, but is available "
+"on Linux via the I<libbsd> library."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/strcat.3:151
msgid ""
"B<bcopy>(3), B<memccpy>(3), B<memcpy>(3), B<strcpy>(3), B<string>(3), "
"B<strncpy>(3), B<wcscat>(3), B<wcsncat>(3)"
msgstr ""
#. type: TH
-#: build/C/man3/strchr.3:31
+#: build/C/man3/strchr.3:33
#, no-wrap
msgid "STRCHR"
msgstr ""
#. type: TH
-#: build/C/man3/strchr.3:31
+#: build/C/man3/strchr.3:33
#, no-wrap
msgid "2012-04-24"
msgstr ""
#. type: Plain text
-#: build/C/man3/strchr.3:34
+#: build/C/man3/strchr.3:36
msgid "strchr, strrchr, strchrnul - locate character in string"
msgstr ""
#. type: Plain text
-#: build/C/man3/strchr.3:39 build/C/man3/string.3:53
+#: build/C/man3/strchr.3:41 build/C/man3/string.3:55
#, no-wrap
msgid "B<char *strchr(const char *>I<s>B<, int >I<c>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/strchr.3:41 build/C/man3/string.3:77
+#: build/C/man3/strchr.3:43 build/C/man3/string.3:79
#, no-wrap
msgid "B<char *strrchr(const char *>I<s>B<, int >I<c>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/strchr.3:46
+#: build/C/man3/strchr.3:48
#, no-wrap
msgid "B<char *strchrnul(const char *>I<s>B<, int >I<c>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/strchr.3:55
+#: build/C/man3/strchr.3:57
msgid ""
"The B<strchr>() function returns a pointer to the first occurrence of the "
"character I<c> in the string I<s>."
msgstr ""
#. type: Plain text
-#: build/C/man3/strchr.3:63
+#: build/C/man3/strchr.3:65
msgid ""
"The B<strrchr>() function returns a pointer to the last occurrence of the "
"character I<c> in the string I<s>."
msgstr ""
#. type: Plain text
-#: build/C/man3/strchr.3:76
+#: build/C/man3/strchr.3:78
msgid ""
"The B<strchrnul>() function is like B<strchr>() except that if I<c> is not "
"found in I<s>, then it returns a pointer to the null byte at the end of "
msgstr ""
#. type: Plain text
-#: build/C/man3/strchr.3:79
+#: build/C/man3/strchr.3:81
msgid ""
"Here \"character\" means \"byte\"; these functions do not work with wide or "
"multibyte characters."
msgstr ""
#. type: Plain text
-#: build/C/man3/strchr.3:91
+#: build/C/man3/strchr.3:93
msgid ""
"The B<strchr>() and B<strrchr>() functions return a pointer to the matched "
"character or NULL if the character is not found. The terminating null byte "
msgstr ""
#. type: Plain text
-#: build/C/man3/strchr.3:99
+#: build/C/man3/strchr.3:101
msgid ""
"The B<strchrnul>() function returns a pointer to the matched character, or "
"a pointer to the null byte at the end of I<s> (i.e., I<s+strlen(s)>) if the "
msgstr ""
#. type: Plain text
-#: build/C/man3/strchr.3:102
+#: build/C/man3/strchr.3:104
msgid "B<strchrnul>() first appeared in glibc in version 2.1.1."
msgstr ""
#. type: Plain text
-#: build/C/man3/strchr.3:109
+#: build/C/man3/strchr.3:111
msgid ""
"B<strchr>() and B<strrchr>() are in SVr4, 4.3BSD, C89, C99. "
"B<strchrnul>() is a GNU extension."
msgstr ""
#. type: Plain text
-#: build/C/man3/strchr.3:122
+#: build/C/man3/strchr.3:124
msgid ""
"B<index>(3), B<memchr>(3), B<rindex>(3), B<string>(3), B<strlen>(3), "
"B<strpbrk>(3), B<strsep>(3), B<strspn>(3), B<strstr>(3), B<strtok>(3), "
msgstr ""
#. type: TH
-#: build/C/man3/strcmp.3:30
+#: build/C/man3/strcmp.3:32
#, no-wrap
msgid "STRCMP"
msgstr ""
#. type: Plain text
-#: build/C/man3/strcmp.3:33
+#: build/C/man3/strcmp.3:35
msgid "strcmp, strncmp - compare two strings"
msgstr ""
#. type: Plain text
-#: build/C/man3/strcmp.3:38 build/C/man3/string.3:55
+#: build/C/man3/strcmp.3:40 build/C/man3/string.3:57
#, no-wrap
msgid "B<int strcmp(const char *>I<s1>B<, const char *>I<s2>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/strcmp.3:40 build/C/man3/string.3:71
+#: build/C/man3/strcmp.3:42 build/C/man3/string.3:73
#, no-wrap
msgid ""
"B<int strncmp(const char *>I<s1>B<, const char *>I<s2>B<, size_t "
msgstr ""
#. type: Plain text
-#: build/C/man3/strcmp.3:49
+#: build/C/man3/strcmp.3:51
msgid ""
"The B<strcmp>() function compares the two strings I<s1> and I<s2>. It "
"returns an integer less than, equal to, or greater than zero if I<s1> is "
msgstr ""
#. type: Plain text
-#: build/C/man3/strcmp.3:54
+#: build/C/man3/strcmp.3:56
msgid ""
"The B<strncmp>() function is similar, except it only compares the first (at "
"most) I<n> bytes of I<s1> and I<s2>."
msgstr ""
#. type: Plain text
-#: build/C/man3/strcmp.3:63
+#: build/C/man3/strcmp.3:65
msgid ""
"The B<strcmp>() and B<strncmp>() functions return an integer less than, "
"equal to, or greater than zero if I<s1> (or the first I<n> bytes thereof) is "
msgstr ""
#. type: Plain text
-#: build/C/man3/strcmp.3:75
+#: build/C/man3/strcmp.3:77
msgid ""
"B<bcmp>(3), B<memcmp>(3), B<strcasecmp>(3), B<strcoll>(3), B<string>(3), "
"B<strncasecmp>(3), B<strverscmp>(3), B<wcscmp>(3), B<wcsncmp>(3)"
msgstr ""
#. type: TH
-#: build/C/man3/strcoll.3:28
+#: build/C/man3/strcoll.3:30
#, no-wrap
msgid "STRCOLL"
msgstr ""
#. type: Plain text
-#: build/C/man3/strcoll.3:31
+#: build/C/man3/strcoll.3:33
msgid "strcoll - compare two strings using the current locale"
msgstr ""
#. type: Plain text
-#: build/C/man3/strcoll.3:36 build/C/man3/string.3:57
+#: build/C/man3/strcoll.3:38 build/C/man3/string.3:59
#, no-wrap
msgid "B<int strcoll(const char *>I<s1>B<, const char *>I<s2>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/strcoll.3:49
+#: build/C/man3/strcoll.3:51
msgid ""
"The B<strcoll>() function compares the two strings I<s1> and I<s2>. It "
"returns an integer less than, equal to, or greater than zero if I<s1> is "
msgstr ""
#. type: Plain text
-#: build/C/man3/strcoll.3:56
+#: build/C/man3/strcoll.3:58
msgid ""
"The B<strcoll>() function returns an integer less than, equal to, or "
"greater than zero if I<s1> is found, respectively, to be less than, to "
msgstr ""
#. type: Plain text
-#: build/C/man3/strcoll.3:63
+#: build/C/man3/strcoll.3:65
msgid ""
"In the I<\"POSIX\"> or I<\"C\"> locales B<strcoll>() is equivalent to "
"B<strcmp>(3)."
msgstr ""
#. type: Plain text
-#: build/C/man3/strcoll.3:71
+#: build/C/man3/strcoll.3:73
msgid ""
"B<bcmp>(3), B<memcmp>(3), B<setlocale>(3), B<strcasecmp>(3), B<strcmp>(3), "
"B<string>(3), B<strxfrm>(3)"
msgstr ""
#. type: TH
-#: build/C/man3/strcpy.3:33
+#: build/C/man3/strcpy.3:35
#, no-wrap
msgid "STRCPY"
msgstr ""
#. type: Plain text
-#: build/C/man3/strcpy.3:36
+#: build/C/man3/strcpy.3:38
msgid "strcpy, strncpy - copy a string"
msgstr ""
#. type: Plain text
-#: build/C/man3/strcpy.3:41 build/C/man3/string.3:59
+#: build/C/man3/strcpy.3:43 build/C/man3/string.3:61
#, no-wrap
msgid "B<char *strcpy(char *>I<dest>B<, const char *>I<src>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/strcpy.3:43 build/C/man3/string.3:73
+#: build/C/man3/strcpy.3:45 build/C/man3/string.3:75
#, no-wrap
msgid "B<char *strncpy(char *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/strcpy.3:52
+#: build/C/man3/strcpy.3:56
msgid ""
"The B<strcpy>() function copies the string pointed to by I<src>, including "
"the terminating null byte (\\(aq\\e0\\(aq), to the buffer pointed to by "
"I<dest>. The strings may not overlap, and the destination string I<dest> "
-"must be large enough to receive the copy."
+"must be large enough to receive the copy. I<Beware of buffer overruns!> "
+"(See BUGS.)"
msgstr ""
#. type: Plain text
-#: build/C/man3/strcpy.3:61
+#: build/C/man3/strcpy.3:65
msgid ""
"The B<strncpy>() function is similar, except that at most I<n> bytes of "
"I<src> are copied. B<Warning>: If there is no null byte among the first "
msgstr ""
#. type: Plain text
-#: build/C/man3/strcpy.3:70
+#: build/C/man3/strcpy.3:76
msgid ""
-"If the length of I<src> is less than I<n>, B<strncpy>() pads the remainder "
-"of I<dest> with null bytes."
+"If the length of I<src> is less than I<n>, B<strncpy>() writes additional "
+"null bytes to I<dest> to ensure that a total of I<n> bytes are written."
msgstr ""
#. type: Plain text
-#: build/C/man3/strcpy.3:74
+#: build/C/man3/strcpy.3:80
msgid "A simple implementation of B<strncpy>() might be:"
msgstr ""
#. type: Plain text
-#: build/C/man3/strcpy.3:81
+#: build/C/man3/strcpy.3:87
#, no-wrap
msgid ""
"char *\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/strcpy.3:86
+#: build/C/man3/strcpy.3:92
#, no-wrap
msgid ""
" for (i = 0; i E<lt> n && src[i] != \\(aq\\e0\\(aq; i++)\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/strcpy.3:98
+#: build/C/man3/strcpy.3:104
msgid ""
"The B<strcpy>() and B<strncpy>() functions return a pointer to the "
"destination string I<dest>."
msgstr ""
#. type: Plain text
-#: build/C/man3/strcpy.3:109
+#: build/C/man3/strcpy.3:115
msgid ""
"Some programmers consider B<strncpy>() to be inefficient and error prone. "
"If the programmer knows (i.e., includes code to test!) that the size of "
msgstr ""
#. type: Plain text
-#: build/C/man3/strcpy.3:116
+#: build/C/man3/strcpy.3:124
+msgid ""
+"One valid (and intended) use of B<strncpy>() is to copy a C string to a "
+"fixed-length buffer while ensuring both that the buffer is not overflowed "
+"and that unused bytes in the target buffer are zeroed out (perhaps to "
+"prevent information leaks if the buffer is to be written to media or "
+"transmitted to another process via an interprocess communication technique)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/strcpy.3:130
msgid ""
"If there is no terminating null byte in the first I<n> bytes of I<src>, "
-"B<strncpy>() produces an unterminated string in I<dest>. Programmers often "
-"prevent this mistake by forcing termination as follows:"
+"B<strncpy>() produces an unterminated string in I<dest>. You can force "
+"termination using something like the following:"
msgstr ""
#. type: Plain text
-#: build/C/man3/strcpy.3:122
+#: build/C/man3/strcpy.3:136
#, no-wrap
msgid ""
"strncpy(buf, str, n);\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/strcpy.3:135
+#: build/C/man3/strcpy.3:144
+msgid ""
+"(Of course, the above technique ignores the fact that information contained "
+"in I<src> is lost in the copying to I<dest>.)"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/strcpy.3:148
+#, no-wrap
+msgid " size_t strlcpy(char *dest, const char *src, size_t size);\n"
+msgstr ""
+
+#. http://static.usenix.org/event/usenix99/full_papers/millert/millert_html/index.html
+#. "strlcpy and strlcat - consistent, safe, string copy and concatenation"
+#. 1999 USENIX Annual Technical Conference
+#. https://lwn.net/Articles/506530/
+#. type: Plain text
+#: build/C/man3/strcpy.3:183
+msgid ""
+"This function is similar to B<strncpy>(), but it copies at most I<size-1> "
+"bytes to I<dest>, always adds a terminating null byte, and does not pad the "
+"target with (further) null bytes. This function fixes some of the problems "
+"of B<strcpy>() and B<strncpy>(), but the caller must still handle the "
+"possibility of data loss if I<size> is too small. The return value of the "
+"function is the length of I<src>, which allows truncation to be easily "
+"detected: if the return value is greater than or equal to I<size>, "
+"truncation occurred. If loss of data matters, the caller I<must> either "
+"check the arguments before the call, or test the function return value. "
+"B<strlcpy>() is not present in glibc and is not standardized by POSIX, but "
+"is available on Linux via the I<libbsd> library."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/strcpy.3:194
msgid ""
"If the destination string of a B<strcpy>() is not large enough, then "
"anything might happen. Overflowing fixed-length string buffers is a "
msgstr ""
#. type: Plain text
-#: build/C/man3/strcpy.3:146
+#: build/C/man3/strcpy.3:205
msgid ""
"B<bcopy>(3), B<memccpy>(3), B<memcpy>(3), B<memmove>(3), B<stpcpy>(3), "
"B<stpncpy>(3), B<strdup>(3), B<string>(3), B<wcscpy>(3), B<wcsncpy>(3)"
msgstr ""
#. type: TH
-#: build/C/man3/strdup.3:29
+#: build/C/man3/strdup.3:31
#, no-wrap
msgid "STRDUP"
msgstr ""
#. type: Plain text
-#: build/C/man3/strdup.3:32
+#: build/C/man3/strdup.3:34
msgid "strdup, strndup, strdupa, strndupa - duplicate a string"
msgstr ""
#. type: Plain text
-#: build/C/man3/strdup.3:37 build/C/man3/string.3:63
+#: build/C/man3/strdup.3:39 build/C/man3/string.3:65
#, no-wrap
msgid "B<char *strdup(const char *>I<s>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/strdup.3:39
+#: build/C/man3/strdup.3:41
#, no-wrap
msgid "B<char *strndup(const char *>I<s>B<, size_t >I<n>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/strdup.3:41
+#: build/C/man3/strdup.3:43
#, no-wrap
msgid "B<char *strdupa(const char *>I<s>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/strdup.3:43
+#: build/C/man3/strdup.3:45
#, no-wrap
msgid "B<char *strndupa(const char *>I<s>B<, size_t >I<n>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/strdup.3:53
+#: build/C/man3/strdup.3:55
msgid "B<strdup>():"
msgstr ""
#. type: Plain text
-#: build/C/man3/strdup.3:56
+#: build/C/man3/strdup.3:58
msgid ""
"_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || "
"_XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
msgstr ""
#. type: Plain text
-#: build/C/man3/strdup.3:58
+#: build/C/man3/strdup.3:60
msgid "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
msgstr ""
#. type: Plain text
-#: build/C/man3/strdup.3:61
+#: build/C/man3/strdup.3:63
msgid "B<strndup>():"
msgstr ""
#. type: Plain text
-#: build/C/man3/strdup.3:65
+#: build/C/man3/strdup.3:67
msgid "POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700"
msgstr ""
#. type: Plain text
-#: build/C/man3/strdup.3:73
+#: build/C/man3/strdup.3:75
msgid "B<strdupa>(), B<strndupa>(): _GNU_SOURCE"
msgstr ""
#. type: Plain text
-#: build/C/man3/strdup.3:85
+#: build/C/man3/strdup.3:87
msgid ""
"The B<strdup>() function returns a pointer to a new string which is a "
"duplicate of the string I<s>. Memory for the new string is obtained with "
msgstr ""
#. type: Plain text
-#: build/C/man3/strdup.3:92
+#: build/C/man3/strdup.3:94
msgid ""
"The B<strndup>() function is similar, but only copies at most I<n> bytes. "
"If I<s> is longer than I<n>, only I<n> bytes are copied, and a terminating "
msgstr ""
#. type: Plain text
-#: build/C/man3/strdup.3:102
+#: build/C/man3/strdup.3:104
msgid ""
"B<strdupa>() and B<strndupa>() are similar, but use B<alloca>(3) to "
"allocate the buffer. They are only available when using the GNU GCC suite, "
msgstr ""
#. type: Plain text
-#: build/C/man3/strdup.3:107
+#: build/C/man3/strdup.3:109
msgid ""
"The B<strdup>() function returns a pointer to the duplicated string, or "
"NULL if insufficient memory was available."
msgstr ""
#. type: SH
-#: build/C/man3/strdup.3:107 build/C/man3/strerror.3:164
+#: build/C/man3/strdup.3:109 build/C/man3/strerror.3:166
#, no-wrap
msgid "ERRORS"
msgstr ""
#. type: TP
-#: build/C/man3/strdup.3:108
+#: build/C/man3/strdup.3:110
#, no-wrap
msgid "B<ENOMEM>"
msgstr ""
#. type: Plain text
-#: build/C/man3/strdup.3:111
+#: build/C/man3/strdup.3:113
msgid "Insufficient memory available to allocate duplicate string."
msgstr ""
#. 4.3BSD-Reno, not (first) 4.3BSD.
#. type: Plain text
-#: build/C/man3/strdup.3:121
+#: build/C/man3/strdup.3:123
msgid ""
"B<strdup>() conforms to SVr4, 4.3BSD, POSIX.1-2001. B<strndup>() conforms "
"to POSIX.1-2008. B<strdupa>() and B<strndupa>() are GNU extensions."
msgstr ""
#. type: Plain text
-#: build/C/man3/strdup.3:129
+#: build/C/man3/strdup.3:131
msgid ""
"B<alloca>(3), B<calloc>(3), B<free>(3), B<malloc>(3), B<realloc>(3), "
"B<string>(3), B<wcsdup>(3)"
msgstr ""
#. type: TH
-#: build/C/man3/strerror.3:37
+#: build/C/man3/strerror.3:39
#, no-wrap
msgid "STRERROR"
msgstr ""
#. type: TH
-#: build/C/man3/strerror.3:37
+#: build/C/man3/strerror.3:39
#, no-wrap
msgid "2012-04-22"
msgstr ""
#. type: Plain text
-#: build/C/man3/strerror.3:40
+#: build/C/man3/strerror.3:42
msgid "strerror, strerror_r - return string describing error number"
msgstr ""
#. type: Plain text
-#: build/C/man3/strerror.3:45
+#: build/C/man3/strerror.3:47
#, no-wrap
msgid "B<char *strerror(int >I<errnum>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/strerror.3:48
+#: build/C/man3/strerror.3:50
#, no-wrap
msgid ""
"B<int strerror_r(int >I<errnum>B<, char *>I<buf>B<, size_t >I<buflen>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/strerror.3:51
+#: build/C/man3/strerror.3:53
#, no-wrap
msgid ""
"B<char *strerror_r(int >I<errnum>B<, char *>I<buf>B<, size_t "
msgstr ""
#. type: Plain text
-#: build/C/man3/strerror.3:61
+#: build/C/man3/strerror.3:63
msgid "The XSI-compliant version of B<strerror_r>() is provided if:"
msgstr ""
#. type: Plain text
-#: build/C/man3/strerror.3:63
+#: build/C/man3/strerror.3:65
msgid ""
"(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600) && !\\ "
"_GNU_SOURCE"
msgstr ""
#. type: Plain text
-#: build/C/man3/strerror.3:65
+#: build/C/man3/strerror.3:67
msgid "Otherwise, the GNU-specific version is provided."
msgstr ""
#. type: Plain text
-#: build/C/man3/strerror.3:85
+#: build/C/man3/strerror.3:87
msgid ""
"The B<strerror>() function returns a pointer to a string that describes the "
"error code passed in the argument I<errnum>, possibly using the "
msgstr ""
#. type: Plain text
-#: build/C/man3/strerror.3:106
+#: build/C/man3/strerror.3:108
msgid ""
"The B<strerror_r>() function is similar to B<strerror>(), but is thread "
"safe. This function is available in two versions: an XSI-compliant version "
msgstr ""
#. type: Plain text
-#: build/C/man3/strerror.3:114
+#: build/C/man3/strerror.3:116
msgid ""
"The XSI-compliant B<strerror_r>() is preferred for portable applications. "
"It returns the error string in the user-supplied buffer I<buf> of length "
msgstr ""
#. type: Plain text
-#: build/C/man3/strerror.3:134
+#: build/C/man3/strerror.3:136
msgid ""
"The GNU-specific B<strerror_r>() returns a pointer to a string containing "
"the error message. This may be either a pointer to a string that the "
msgstr ""
#. type: Plain text
-#: build/C/man3/strerror.3:142
+#: build/C/man3/strerror.3:144
msgid ""
"The B<strerror>() and the GNU-specific B<strerror_r>() functions return "
"the appropriate error description string, or an \"Unknown error nnn\" "
msgstr ""
#. type: Plain text
-#: build/C/man3/strerror.3:155
+#: build/C/man3/strerror.3:157
msgid ""
"POSIX.1-2001 and POSIX.1-2008 require that a successful call to "
-"B<strerror>(3) shall leave I<errno> unchanged, and note that, since no "
+"B<strerror>() shall leave I<errno> unchanged, and note that, since no "
"function return value is reserved to indicate an error, an application that "
"wishes to check for errors should initialize I<errno> to zero before the "
"call, and then check I<errno> after the call."
msgstr ""
#. type: Plain text
-#: build/C/man3/strerror.3:164
+#: build/C/man3/strerror.3:166
msgid ""
"The XSI-compliant B<strerror_r>() function returns 0 on success. On error, "
"a (positive) error number is returned (since glibc 2.13), or -1 is returned "
msgstr ""
#. type: TP
-#: build/C/man3/strerror.3:165
+#: build/C/man3/strerror.3:167
#, no-wrap
msgid "B<EINVAL>"
msgstr ""
#. type: Plain text
-#: build/C/man3/strerror.3:170
+#: build/C/man3/strerror.3:172
msgid "The value of I<errnum> is not a valid error number."
msgstr ""
#. type: TP
-#: build/C/man3/strerror.3:170
+#: build/C/man3/strerror.3:172
#, no-wrap
msgid "B<ERANGE>"
msgstr ""
#. type: Plain text
-#: build/C/man3/strerror.3:173
+#: build/C/man3/strerror.3:175
msgid "Insufficient storage was supplied to contain the error description string."
msgstr ""
#. type: Plain text
-#: build/C/man3/strerror.3:178
+#: build/C/man3/strerror.3:180
msgid ""
"B<strerror>() is specified by POSIX.1-2001, C89, C99. B<strerror_r>() is "
"specified by POSIX.1-2001."
msgstr ""
#. type: Plain text
-#: build/C/man3/strerror.3:182
+#: build/C/man3/strerror.3:184
msgid "The GNU-specific B<strerror_r>() function is a nonstandard extension."
msgstr ""
#. e.g., Solaris 8, HP-UX 11
#. e.g., FreeBSD 5.4, Tru64 5.1B
#. type: Plain text
-#: build/C/man3/strerror.3:202
+#: build/C/man3/strerror.3:204
msgid ""
"POSIX.1-2001 permits B<strerror>() to set I<errno> if the call encounters "
"an error, but does not specify what value should be returned as the function "
msgstr ""
#. type: Plain text
-#: build/C/man3/strerror.3:208
+#: build/C/man3/strerror.3:210
msgid "B<err>(3), B<errno>(3), B<error>(3), B<perror>(3), B<strsignal>(3)"
msgstr ""
#. type: TH
-#: build/C/man3/strfry.3:28
+#: build/C/man3/strfry.3:30
#, no-wrap
msgid "STRFRY"
msgstr ""
#. type: Plain text
-#: build/C/man3/strfry.3:31
+#: build/C/man3/strfry.3:33
msgid "strfry - randomize a string"
msgstr ""
#. type: Plain text
-#: build/C/man3/strfry.3:38 build/C/man3/string.3:65
+#: build/C/man3/strfry.3:40 build/C/man3/string.3:67
#, no-wrap
msgid "B<char *strfry(char *>I<string>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/strfry.3:47
+#: build/C/man3/strfry.3:49
msgid ""
"The B<strfry>() function randomizes the contents of I<string> by using "
"B<rand>(3) to randomly swap characters in the string. The result is an "
msgstr ""
#. type: Plain text
-#: build/C/man3/strfry.3:52
+#: build/C/man3/strfry.3:54
msgid "The B<strfry>() functions returns a pointer to the randomized string."
msgstr ""
#. type: Plain text
-#: build/C/man3/strfry.3:57
+#: build/C/man3/strfry.3:59
msgid "The B<strfry>() function is unique to the GNU C Library."
msgstr ""
#. type: Plain text
-#: build/C/man3/strfry.3:60
+#: build/C/man3/strfry.3:62
msgid "B<memfrob>(3), B<string>(3)"
msgstr ""
#. type: TH
-#: build/C/man3/string.3:28
+#: build/C/man3/string.3:30
#, no-wrap
msgid "STRING"
msgstr ""
#. type: TH
-#: build/C/man3/string.3:28
+#: build/C/man3/string.3:30
#, no-wrap
msgid "2010-02-25"
msgstr ""
#. type: Plain text
-#: build/C/man3/string.3:34
+#: build/C/man3/string.3:36
msgid ""
"stpcpy, strcasecmp, strcat, strchr, strcmp, strcoll, strcpy, strcspn, "
"strdup, strfry, strlen, strncat, strncmp, strncpy, strncasecmp, strpbrk, "
msgstr ""
#. type: Plain text
-#: build/C/man3/string.3:61 build/C/man3/strspn.3:38
+#: build/C/man3/string.3:63 build/C/man3/strspn.3:40
#, no-wrap
msgid "B<size_t strcspn(const char *>I<s>B<, const char *>I<reject>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/string.3:67 build/C/man3/strlen.3:36
+#: build/C/man3/string.3:69 build/C/man3/strlen.3:38
#, no-wrap
msgid "B<size_t strlen(const char *>I<s>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/string.3:75 build/C/man3/strpbrk.3:36
+#: build/C/man3/string.3:77 build/C/man3/strpbrk.3:38
#, no-wrap
msgid "B<char *strpbrk(const char *>I<s>B<, const char *>I<accept>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/string.3:79 build/C/man3/strsep.3:39
+#: build/C/man3/string.3:81 build/C/man3/strsep.3:41
#, no-wrap
msgid "B<char *strsep(char **>I<stringp>B<, const char *>I<delim>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/string.3:81 build/C/man3/strspn.3:36
+#: build/C/man3/string.3:83 build/C/man3/strspn.3:38
#, no-wrap
msgid "B<size_t strspn(const char *>I<s>B<, const char *>I<accept>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/string.3:83 build/C/man3/strstr.3:39
+#: build/C/man3/string.3:85 build/C/man3/strstr.3:41
#, no-wrap
msgid "B<char *strstr(const char *>I<haystack>B<, const char *>I<needle>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/string.3:85
+#: build/C/man3/string.3:87
#, no-wrap
msgid "B<char *strtok(char *>I<s>B<, const char *>I<delim>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/string.3:87 build/C/man3/strxfrm.3:36
+#: build/C/man3/string.3:89 build/C/man3/strxfrm.3:38
#, no-wrap
msgid ""
"B<size_t strxfrm(char *>I<dest>B<, const char *>I<src>B<, size_t "
msgstr ""
#. type: Plain text
-#: build/C/man3/string.3:92
+#: build/C/man3/string.3:94
msgid ""
"The string functions perform string operations on null-terminated strings. "
"See the individual man pages for descriptions of each function."
msgstr ""
#. type: Plain text
-#: build/C/man3/string.3:117
+#: build/C/man3/string.3:119
msgid ""
"B<index>(3), B<rindex>(3), B<stpcpy>(3), B<strcasecmp>(3), B<strcat>(3), "
"B<strchr>(3), B<strcmp>(3), B<strcoll>(3), B<strcpy>(3), B<strcspn>(3), "
msgstr ""
#. type: TH
-#: build/C/man3/strlen.3:28
+#: build/C/man3/strlen.3:30
#, no-wrap
msgid "STRLEN"
msgstr ""
#. type: TH
-#: build/C/man3/strlen.3:28
+#: build/C/man3/strlen.3:30
#, no-wrap
msgid "2012-05-04"
msgstr ""
#. type: Plain text
-#: build/C/man3/strlen.3:31
+#: build/C/man3/strlen.3:33
msgid "strlen - calculate the length of a string"
msgstr ""
#. type: Plain text
-#: build/C/man3/strlen.3:42
+#: build/C/man3/strlen.3:44
msgid ""
"The B<strlen>() function calculates the length of the string I<s>, "
"excluding the terminating null byte (\\(aq\\e0\\(aq)."
msgstr ""
#. type: Plain text
-#: build/C/man3/strlen.3:46
+#: build/C/man3/strlen.3:48
msgid "The B<strlen>() function returns the number of bytes in the string I<s>."
msgstr ""
#. type: Plain text
-#: build/C/man3/strlen.3:53
+#: build/C/man3/strlen.3:55
msgid "B<string>(3), B<strnlen>(3), B<wcslen>(3), B<wcsnlen>(3)"
msgstr ""
#. type: TH
-#: build/C/man3/strnlen.3:11
+#: build/C/man3/strnlen.3:13
#, no-wrap
msgid "STRNLEN"
msgstr ""
#. type: Plain text
-#: build/C/man3/strnlen.3:14
+#: build/C/man3/strnlen.3:16
msgid "strnlen - determine the length of a fixed-size string"
msgstr ""
#. type: Plain text
-#: build/C/man3/strnlen.3:19
+#: build/C/man3/strnlen.3:21
#, no-wrap
msgid "B<size_t strnlen(const char *>I<s>B<, size_t >I<maxlen>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/strnlen.3:27
+#: build/C/man3/strnlen.3:29
msgid "B<strnlen>():"
msgstr ""
#. type: Plain text
-#: build/C/man3/strnlen.3:49
+#: build/C/man3/strnlen.3:51
msgid ""
"The B<strnlen>() function returns the number of bytes in the string pointed "
"to by I<s>, excluding the terminating null bye (\\(aq\\e0\\(aq), but at most "
msgstr ""
#. type: Plain text
-#: build/C/man3/strnlen.3:56
+#: build/C/man3/strnlen.3:58
msgid ""
"The B<strnlen>() function returns I<strlen(s)>, if that is less than "
"I<maxlen>, or I<maxlen> if there is no null byte (\\(aq\\e0\\(aq) among the "
msgstr ""
#. type: Plain text
-#: build/C/man3/strnlen.3:58
+#: build/C/man3/strnlen.3:60
msgid "POSIX.1-2008."
msgstr ""
#. type: Plain text
-#: build/C/man3/strnlen.3:60
+#: build/C/man3/strnlen.3:62
msgid "B<strlen>(3)"
msgstr ""
#. type: TH
-#: build/C/man3/strpbrk.3:28
+#: build/C/man3/strpbrk.3:30
#, no-wrap
msgid "STRPBRK"
msgstr ""
#. type: Plain text
-#: build/C/man3/strpbrk.3:31
+#: build/C/man3/strpbrk.3:33
msgid "strpbrk - search a string for any of a set of bytes"
msgstr ""
#. type: Plain text
-#: build/C/man3/strpbrk.3:42
+#: build/C/man3/strpbrk.3:44
msgid ""
"The B<strpbrk>() function locates the first occurrence in the string I<s> "
"of any of the bytes in the string I<accept>."
msgstr ""
#. type: Plain text
-#: build/C/man3/strpbrk.3:48
+#: build/C/man3/strpbrk.3:50
msgid ""
"The B<strpbrk>() function returns a pointer to the byte in I<s> that "
"matches one of the bytes in I<accept>, or NULL if no such byte is found."
msgstr ""
#. type: Plain text
-#: build/C/man3/strpbrk.3:61
+#: build/C/man3/strpbrk.3:63
msgid ""
"B<index>(3), B<memchr>(3), B<rindex>(3), B<strchr>(3), B<string>(3), "
"B<strsep>(3), B<strspn>(3), B<strstr>(3), B<strtok>(3), B<wcspbrk>(3)"
msgstr ""
#. type: TH
-#: build/C/man3/strsep.3:31
+#: build/C/man3/strsep.3:33
#, no-wrap
msgid "STRSEP"
msgstr ""
#. type: Plain text
-#: build/C/man3/strsep.3:34
+#: build/C/man3/strsep.3:36
msgid "strsep - extract token from string"
msgstr ""
#. type: Plain text
-#: build/C/man3/strsep.3:48
+#: build/C/man3/strsep.3:50
msgid "B<strsep>(): _BSD_SOURCE"
msgstr ""
#. type: Plain text
-#: build/C/man3/strsep.3:61
+#: build/C/man3/strsep.3:63
msgid ""
"If I<*stringp> is NULL, the B<strsep>() function returns NULL and does "
"nothing else. Otherwise, this function finds the first token in the string "
msgstr ""
#. type: Plain text
-#: build/C/man3/strsep.3:66
+#: build/C/man3/strsep.3:68
msgid ""
"The B<strsep>() function returns a pointer to the token, that is, it "
"returns the original value of I<*stringp>."
msgstr ""
#. type: Plain text
-#: build/C/man3/strsep.3:68
+#: build/C/man3/strsep.3:70
msgid "4.4BSD."
msgstr ""
#. type: Plain text
-#: build/C/man3/strsep.3:77
+#: build/C/man3/strsep.3:79
msgid ""
"The B<strsep>() function was introduced as a replacement for B<strtok>(3), "
"since the latter cannot handle empty fields. However, B<strtok>(3) "
msgstr ""
#. type: Plain text
-#: build/C/man3/strsep.3:80
+#: build/C/man3/strsep.3:82
msgid "Be cautious when using this function. If you do use it, note that:"
msgstr ""
#. type: Plain text
-#: build/C/man3/strsep.3:82
+#: build/C/man3/strsep.3:84
msgid "This function modifies its first argument."
msgstr ""
#. type: Plain text
-#: build/C/man3/strsep.3:84
+#: build/C/man3/strsep.3:86
msgid "This function cannot be used on constant strings."
msgstr ""
#. type: Plain text
-#: build/C/man3/strsep.3:86
+#: build/C/man3/strsep.3:88
msgid "The identity of the delimiting character is lost."
msgstr ""
#. type: Plain text
-#: build/C/man3/strsep.3:96
+#: build/C/man3/strsep.3:98
msgid ""
"B<index>(3), B<memchr>(3), B<rindex>(3), B<strchr>(3), B<string>(3), "
"B<strpbrk>(3), B<strspn>(3), B<strstr>(3), B<strtok>(3)"
msgstr ""
#. type: TH
-#: build/C/man3/strsignal.3:28
+#: build/C/man3/strsignal.3:30
#, no-wrap
msgid "STRSIGNAL"
msgstr ""
#. type: TH
-#: build/C/man3/strsignal.3:28
+#: build/C/man3/strsignal.3:30
#, no-wrap
msgid "2010-09-15"
msgstr ""
#. type: Plain text
-#: build/C/man3/strsignal.3:31
+#: build/C/man3/strsignal.3:33
msgid "strsignal - return string describing signal"
msgstr ""
#. type: Plain text
-#: build/C/man3/strsignal.3:36
+#: build/C/man3/strsignal.3:38
#, no-wrap
msgid "B<char *strsignal(int >I<sig>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/strsignal.3:38
+#: build/C/man3/strsignal.3:40
#, no-wrap
msgid "B<extern const char * const >I<sys_siglist>B<[];>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/strsignal.3:46
+#: build/C/man3/strsignal.3:48
msgid "B<strsignal>():"
msgstr ""
#. type: Plain text
-#: build/C/man3/strsignal.3:66
+#: build/C/man3/strsignal.3:68
msgid ""
"The B<strsignal>() function returns a string describing the signal number "
"passed in the argument I<sig>. The string can only be used until the next "
msgstr ""
#. type: Plain text
-#: build/C/man3/strsignal.3:73
+#: build/C/man3/strsignal.3:75
msgid ""
"The array I<sys_siglist> holds the signal description strings indexed by "
"signal number. The B<strsignal>() function should be used if possible "
msgstr ""
#. type: Plain text
-#: build/C/man3/strsignal.3:80
+#: build/C/man3/strsignal.3:82
msgid ""
"The B<strsignal>() function returns the appropriate description string, or "
"an unknown signal message if the signal number is invalid. On some systems "
msgstr ""
#. type: Plain text
-#: build/C/man3/strsignal.3:83
+#: build/C/man3/strsignal.3:85
msgid "POSIX.1-2008. Present on Solaris and the BSDs."
msgstr ""
#. type: Plain text
-#: build/C/man3/strsignal.3:86
+#: build/C/man3/strsignal.3:88
msgid "B<psignal>(3), B<strerror>(3)"
msgstr ""
#. type: TH
-#: build/C/man3/strspn.3:28
+#: build/C/man3/strspn.3:30
#, no-wrap
msgid "STRSPN"
msgstr ""
#. type: Plain text
-#: build/C/man3/strspn.3:31
+#: build/C/man3/strspn.3:33
msgid "strspn, strcspn - search a string for a set of bytes"
msgstr ""
#. type: Plain text
-#: build/C/man3/strspn.3:45
+#: build/C/man3/strspn.3:47
msgid ""
"The B<strspn>() function calculates the length (in bytes) of the initial "
"segment of I<s> which consists entirely of bytes in I<accept>."
msgstr ""
#. type: Plain text
-#: build/C/man3/strspn.3:51
+#: build/C/man3/strspn.3:53
msgid ""
"The B<strcspn>() function calculates the length of the initial segment of "
"I<s> which consists entirely of bytes not in I<reject>."
msgstr ""
#. type: Plain text
-#: build/C/man3/strspn.3:57
+#: build/C/man3/strspn.3:59
msgid ""
"The B<strspn>() function returns the number of bytes in the initial segment "
"of I<s> which consist only of bytes from I<accept>."
msgstr ""
#. type: Plain text
-#: build/C/man3/strspn.3:63
+#: build/C/man3/strspn.3:65
msgid ""
"The B<strcspn>() function returns the number of bytes in the initial "
"segment of I<s> which are not in the string I<reject>."
msgstr ""
#. type: Plain text
-#: build/C/man3/strspn.3:77
+#: build/C/man3/strspn.3:79
msgid ""
"B<index>(3), B<memchr>(3), B<rindex>(3), B<strchr>(3), B<string>(3), "
"B<strpbrk>(3), B<strsep>(3), B<strstr>(3), B<strtok>(3), B<wcscspn>(3), "
msgstr ""
#. type: TH
-#: build/C/man3/strstr.3:31
+#: build/C/man3/strstr.3:33
#, no-wrap
msgid "STRSTR"
msgstr ""
#. type: Plain text
-#: build/C/man3/strstr.3:34
+#: build/C/man3/strstr.3:36
msgid "strstr, strcasestr - locate a substring"
msgstr ""
#. type: Plain text
-#: build/C/man3/strstr.3:45
+#: build/C/man3/strstr.3:47
#, no-wrap
msgid "B<char *strcasestr(const char *>I<haystack>B<, const char *>I<needle>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/strstr.3:52
+#: build/C/man3/strstr.3:54
msgid ""
"The B<strstr>() function finds the first occurrence of the substring "
"I<needle> in the string I<haystack>. The terminating null bytes "
msgstr ""
#. type: Plain text
-#: build/C/man3/strstr.3:58
+#: build/C/man3/strstr.3:60
msgid ""
"The B<strcasestr>() function is like B<strstr>(), but ignores the case of "
"both arguments."
msgstr ""
#. type: Plain text
-#: build/C/man3/strstr.3:61
+#: build/C/man3/strstr.3:63
msgid ""
"These functions return a pointer to the beginning of the substring, or NULL "
"if the substring is not found."
msgstr ""
#. type: Plain text
-#: build/C/man3/strstr.3:68
+#: build/C/man3/strstr.3:70
msgid ""
"The B<strstr>() function conforms to C89 and C99. The B<strcasestr>() "
"function is a nonstandard extension."
msgstr ""
#. type: Plain text
-#: build/C/man3/strstr.3:74
+#: build/C/man3/strstr.3:76
msgid ""
"Early versions of Linux libc (like 4.5.26) would not allow an empty "
"I<needle> argument for B<strstr>(). Later versions (like 4.6.27) work "
msgstr ""
#. type: Plain text
-#: build/C/man3/strstr.3:86
+#: build/C/man3/strstr.3:88
msgid ""
"B<index>(3), B<memchr>(3), B<rindex>(3), B<strcasecmp>(3), B<strchr>(3), "
"B<string>(3), B<strpbrk>(3), B<strsep>(3), B<strspn>(3), B<strtok>(3), "
msgstr ""
#. type: TH
-#: build/C/man3/strtok.3:28
+#: build/C/man3/strtok.3:30
#, no-wrap
msgid "STRTOK"
msgstr ""
#. type: Plain text
-#: build/C/man3/strtok.3:31
+#: build/C/man3/strtok.3:33
msgid "strtok, strtok_r - extract tokens from strings"
msgstr ""
#. type: Plain text
-#: build/C/man3/strtok.3:36
+#: build/C/man3/strtok.3:38
#, no-wrap
msgid "B<char *strtok(char *>I<str>B<, const char *>I<delim>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/strtok.3:38
+#: build/C/man3/strtok.3:40
#, no-wrap
msgid ""
"B<char *strtok_r(char *>I<str>B<, const char *>I<delim>B<, char "
msgstr ""
#. type: Plain text
-#: build/C/man3/strtok.3:49
+#: build/C/man3/strtok.3:51
msgid ""
"B<strtok_r>(): _SVID_SOURCE || _BSD_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 1 "
"|| _XOPEN_SOURCE || _POSIX_SOURCE"
msgstr ""
#. type: Plain text
-#: build/C/man3/strtok.3:60
+#: build/C/man3/strtok.3:62
msgid ""
"The B<strtok>() function parses a string into a sequence of tokens. On the "
"first call to B<strtok>() the string to be parsed should be specified in "
msgstr ""
#. type: Plain text
-#: build/C/man3/strtok.3:65
+#: build/C/man3/strtok.3:67
msgid ""
"The I<delim> argument specifies a set of bytes that delimit the tokens in "
"the parsed string. The caller may specify different strings in I<delim> in "
msgstr ""
#. type: Plain text
-#: build/C/man3/strtok.3:74
+#: build/C/man3/strtok.3:76
msgid ""
"Each call to B<strtok>() returns a pointer to a null-terminated string "
"containing the next token. This string does not include the delimiting "
msgstr ""
#. type: Plain text
-#: build/C/man3/strtok.3:81
+#: build/C/man3/strtok.3:83
msgid ""
"A sequence of two or more contiguous delimiter bytes in the parsed string is "
"considered to be a single delimiter. Delimiter bytes at the start or end of "
msgstr ""
#. type: Plain text
-#: build/C/man3/strtok.3:91
+#: build/C/man3/strtok.3:93
msgid ""
"The B<strtok_r>() function is a reentrant version B<strtok>(). The "
"I<saveptr> argument is a pointer to a I<char *> variable that is used "
msgstr ""
#. type: Plain text
-#: build/C/man3/strtok.3:100
+#: build/C/man3/strtok.3:102
msgid ""
"On the first call to B<strtok_r>(), I<str> should point to the string to be "
"parsed, and the value of I<saveptr> is ignored. In subsequent calls, I<str> "
msgstr ""
#. type: Plain text
-#: build/C/man3/strtok.3:104
+#: build/C/man3/strtok.3:106
msgid ""
"Different strings may be parsed concurrently using sequences of calls to "
"B<strtok_r>() that specify different I<saveptr> arguments."
msgstr ""
#. type: Plain text
-#: build/C/man3/strtok.3:111
+#: build/C/man3/strtok.3:113
msgid ""
"The B<strtok>() and B<strtok_r>() functions return a pointer to the next "
"token, or NULL if there are no more tokens."
msgstr ""
#. type: TP
-#: build/C/man3/strtok.3:112
+#: build/C/man3/strtok.3:114
#, no-wrap
msgid "B<strtok>()"
msgstr ""
#. type: Plain text
-#: build/C/man3/strtok.3:115
+#: build/C/man3/strtok.3:117
msgid "SVr4, POSIX.1-2001, 4.3BSD, C89, C99."
msgstr ""
#. type: TP
-#: build/C/man3/strtok.3:115
+#: build/C/man3/strtok.3:117
#, no-wrap
msgid "B<strtok_r>()"
msgstr ""
#. type: Plain text
-#: build/C/man3/strtok.3:118
+#: build/C/man3/strtok.3:120
msgid "POSIX.1-2001."
msgstr ""
#. type: Plain text
-#: build/C/man3/strtok.3:121
+#: build/C/man3/strtok.3:123
msgid "Be cautious when using these functions. If you do use them, note that:"
msgstr ""
#. type: Plain text
-#: build/C/man3/strtok.3:123
+#: build/C/man3/strtok.3:125
msgid "These functions modify their first argument."
msgstr ""
#. type: Plain text
-#: build/C/man3/strtok.3:125
+#: build/C/man3/strtok.3:127
msgid "These functions cannot be used on constant strings."
msgstr ""
#. type: Plain text
-#: build/C/man3/strtok.3:127
+#: build/C/man3/strtok.3:129
msgid "The identity of the delimiting byte is lost."
msgstr ""
#. type: Plain text
-#: build/C/man3/strtok.3:134
+#: build/C/man3/strtok.3:136
msgid ""
"The B<strtok>() function uses a static buffer while parsing, so it's not "
"thread safe. Use B<strtok_r>() if this matters to you."
msgstr ""
#. type: Plain text
-#: build/C/man3/strtok.3:143
+#: build/C/man3/strtok.3:145
msgid ""
"The program below uses nested loops that employ B<strtok_r>() to break a "
"string into a two-level hierarchy of tokens. The first command-line "
msgstr ""
#. type: Plain text
-#: build/C/man3/strtok.3:145
+#: build/C/man3/strtok.3:147
msgid "An example of the output produced by this program is the following:"
msgstr ""
#. type: Plain text
-#: build/C/man3/strtok.3:157
+#: build/C/man3/strtok.3:159
#, no-wrap
msgid ""
"$B< ./a.out \\(aqa/bbb///cc;xxx:yyy:\\(aq \\(aq:;\\(aq \\(aq/\\(aq>\n"
msgstr ""
#. type: SS
-#: build/C/man3/strtok.3:159
+#: build/C/man3/strtok.3:161
#, no-wrap
msgid "Program source"
msgstr ""
#. type: Plain text
-#: build/C/man3/strtok.3:165
+#: build/C/man3/strtok.3:167
#, no-wrap
msgid ""
"#include E<lt>stdio.hE<gt>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/strtok.3:172
+#: build/C/man3/strtok.3:174
#, no-wrap
msgid ""
"int\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/strtok.3:178
+#: build/C/man3/strtok.3:180
#, no-wrap
msgid ""
" if (argc != 4) {\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/strtok.3:184
+#: build/C/man3/strtok.3:186
#, no-wrap
msgid ""
" for (j = 1, str1 = argv[1]; ; j++, str1 = NULL) {\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/strtok.3:192
+#: build/C/man3/strtok.3:194
#, no-wrap
msgid ""
" for (str2 = token; ; str2 = NULL) {\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/strtok.3:195
+#: build/C/man3/strtok.3:197
#, no-wrap
msgid ""
" exit(EXIT_SUCCESS);\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/strtok.3:201
+#: build/C/man3/strtok.3:203
msgid ""
"Another example program using B<strtok>() can be found in "
"B<getaddrinfo_a>(3)."
msgstr ""
#. type: Plain text
-#: build/C/man3/strtok.3:212
+#: build/C/man3/strtok.3:214
msgid ""
"B<index>(3), B<memchr>(3), B<rindex>(3), B<strchr>(3), B<string>(3), "
"B<strpbrk>(3), B<strsep>(3), B<strspn>(3), B<strstr>(3), B<wcstok>(3)"
msgstr ""
#. type: TH
-#: build/C/man3/strverscmp.3:23
+#: build/C/man3/strverscmp.3:25
#, no-wrap
msgid "STRVERSCMP"
msgstr ""
#. type: TH
-#: build/C/man3/strverscmp.3:23
+#: build/C/man3/strverscmp.3:25
#, no-wrap
msgid "2001-12-19"
msgstr ""
#. type: Plain text
-#: build/C/man3/strverscmp.3:26
+#: build/C/man3/strverscmp.3:28
msgid "strverscmp - compare two version strings"
msgstr ""
#. type: Plain text
-#: build/C/man3/strverscmp.3:33
+#: build/C/man3/strverscmp.3:35
#, no-wrap
msgid "B<int strverscmp(const char *>I<s1>B<, const char *>I<s2>B<);>\n"
msgstr ""
#. classical solution: "rename jan jan0 jan?"
#. type: Plain text
-#: build/C/man3/strverscmp.3:50
+#: build/C/man3/strverscmp.3:52
msgid ""
"Often one has files I<jan1>, I<jan2>, ..., I<jan9>, I<jan10>, ... and it "
"feels wrong when B<ls>(1) orders them I<jan1>, I<jan10>, ..., I<jan2>, ..., "
msgstr ""
#. type: Plain text
-#: build/C/man3/strverscmp.3:61
+#: build/C/man3/strverscmp.3:63
msgid ""
"Thus, the task of B<strverscmp>() is to compare two strings and find the "
"\"right\" order, while B<strcmp>(3) only finds the lexicographic order. "
msgstr ""
#. type: Plain text
-#: build/C/man3/strverscmp.3:79
+#: build/C/man3/strverscmp.3:81
msgid ""
"What this function does is the following. If both strings are equal, return "
"0. Otherwise find the position between two bytes with the property that "
msgstr ""
#. type: Plain text
-#: build/C/man3/strverscmp.3:86
+#: build/C/man3/strverscmp.3:88
msgid ""
"The B<strverscmp>() function returns an integer less than, equal to, or "
"greater than zero if I<s1> is found, respectively, to be earlier than, equal "
msgstr ""
#. type: Plain text
-#: build/C/man3/strverscmp.3:93
+#: build/C/man3/strverscmp.3:95
msgid "B<rename>(1), B<strcasecmp>(3), B<strcmp>(3), B<strcoll>(3)"
msgstr ""
#. type: TH
-#: build/C/man3/strxfrm.3:28
+#: build/C/man3/strxfrm.3:30
#, no-wrap
msgid "STRXFRM"
msgstr ""
#. type: Plain text
-#: build/C/man3/strxfrm.3:31
+#: build/C/man3/strxfrm.3:33
msgid "strxfrm - string transformation"
msgstr ""
#. type: Plain text
-#: build/C/man3/strxfrm.3:54
+#: build/C/man3/strxfrm.3:56
msgid ""
"The B<strxfrm>() function transforms the I<src> string into a form such "
"that the result of B<strcmp>(3) on two strings that have been transformed "
msgstr ""
#. type: Plain text
-#: build/C/man3/strxfrm.3:62
+#: build/C/man3/strxfrm.3:64
msgid ""
"The B<strxfrm>() function returns the number of bytes required to store the "
"transformed string in I<dest> excluding the terminating null byte "
msgstr ""
#. type: Plain text
-#: build/C/man3/strxfrm.3:70
+#: build/C/man3/strxfrm.3:72
msgid ""
"In the I<\"POSIX\"> or I<\"C\"> locales B<strxfrm>() is equivalent to "
"copying the string with B<strncpy>(3)."
msgstr ""
#. type: Plain text
-#: build/C/man3/strxfrm.3:78
+#: build/C/man3/strxfrm.3:80
msgid ""
"B<bcmp>(3), B<memcmp>(3), B<setlocale>(3), B<strcasecmp>(3), B<strcmp>(3), "
"B<strcoll>(3), B<string>(3)"