OSDN Git Service

(split) git commit -m "LDP: Update the version to 3.63 in PO files"
[linuxjm/LDP_man-pages.git] / po4a / string / po / ja.po
index 0c03108..d4d727b 100644 (file)
@@ -6,8 +6,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2012-05-01 04:22+0900\n"
-"PO-Revision-Date: 2012-05-01 04:53+0900\n"
+"POT-Creation-Date: 2014-04-13 10:27+0900\n"
+"PO-Revision-Date: 2014-04-13 10:40+0900\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "Language: \n"
@@ -16,124 +16,124 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 
 #. type: TH
-#: build/C/man3/bcmp.3:29
+#: build/C/man3/bcmp.3:31
 #, no-wrap
 msgid "BCMP"
 msgstr "BCMP"
 
 #. type: TH
-#: build/C/man3/bcmp.3:29 build/C/man3/bzero.3:29
-#, no-wrap
-msgid "2008-08-06"
-msgstr "2008-08-06"
+#: build/C/man3/bcmp.3:31
+#, fuzzy, no-wrap
+#| msgid "2013-06-21"
+msgid "2013-10-21"
+msgstr "2013-06-21"
 
 #. 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 "Linux"
 
 #. 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:32
+#: build/C/man3/strverscmp.3:25 build/C/man3/strxfrm.3:30
 #, no-wrap
 msgid "Linux Programmer's Manual"
 msgstr "Linux Programmer's Manual"
 
 #. 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
-#, no-wrap
-msgid "NAME"
-msgstr "名前"
-
-#. type: Plain text
-#: build/C/man3/bcmp.3:32
-msgid "bcmp - compare byte sequences"
-msgstr "bcmp - バイト列を比較する"
-
-#. type: SH
-#: build/C/man3/bcmp.3:32 build/C/man3/bcopy.3:34 build/C/man3/bstring.3:34
+#: 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:9 build/C/man3/memset.3:31
-#: build/C/man3/stpcpy.3:28 build/C/man3/stpncpy.3:15
+#: 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:34 build/C/man3/strlen.3:31 build/C/man3/strnlen.3:14
+#: 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/strstr.3:34 build/C/man3/strtok.3:33
 #: 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:34
+msgid "bcmp - compare byte sequences"
+msgstr "bcmp - バイト列を比較する"
+
+#. type: SH
+#: 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:35
+#: 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
 #, no-wrap
 msgid "B<#include E<lt>strings.hE<gt>>\n"
 msgstr "B<#include E<lt>strings.hE<gt>>\n"
 
 #. 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 "B<int bcmp(const void *>I<s1>B<, const void *>I<s2>B<, size_t >I<n>B<);>\n"
 
 #. 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:72 build/C/man3/strfry.3:41
+#: build/C/man3/string.3:204 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:54
+#: 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, "
@@ -144,54 +144,93 @@ msgstr ""
 "0 以外を返す。"
 
 #. 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:55
+#: 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:54
+#: build/C/man3/memmove.3:57 build/C/man3/mempcpy.3:53
+#: build/C/man3/memset.3:49 build/C/man3/stpcpy.3:63 build/C/man3/stpncpy.3:82
+#: build/C/man3/strcasecmp.3:63 build/C/man3/strcat.3:123
+#: build/C/man3/strchr.3:81 build/C/man3/strcmp.3:66 build/C/man3/strcoll.3:58
+#: build/C/man3/strcpy.3:108 build/C/man3/strdup.3:111
+#: build/C/man3/strerror.3:160 build/C/man3/strfry.3:52
+#: build/C/man3/strlen.3:45 build/C/man3/strnlen.3:58
+#: build/C/man3/strpbrk.3:47 build/C/man3/strsep.3:73
+#: build/C/man3/strsignal.3:77 build/C/man3/strspn.3:57
+#: build/C/man3/strstr.3:62 build/C/man3/strtok.3:162
+#: build/C/man3/strverscmp.3:81 build/C/man3/strxfrm.3:62
 #, 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 "バイト列が等しい場合は 0 、等しくない場合は 0 以外を返す。"
 
 #. 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/memccpy.3:70 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:59 build/C/man3/memmove.3:62
+#: build/C/man3/mempcpy.3:60 build/C/man3/memset.3:54 build/C/man3/stpcpy.3:71
+#: build/C/man3/stpncpy.3:91 build/C/man3/strcat.3:130
+#: build/C/man3/strchr.3:107 build/C/man3/strcmp.3:79
+#: build/C/man3/strcpy.3:116 build/C/man3/strerror.3:202
+#: build/C/man3/strlen.3:50 build/C/man3/strnlen.3:71
+#: build/C/man3/strpbrk.3:56 build/C/man3/strsep.3:79 build/C/man3/strspn.3:74
+#: build/C/man3/strstr.3:65 build/C/man3/strtok.3:169
+#, no-wrap
+msgid "ATTRIBUTES"
+msgstr "属性"
+
+#. type: SS
+#: build/C/man3/bcmp.3:62 build/C/man3/bcopy.3:55 build/C/man3/bzero.3:51
+#: build/C/man3/memccpy.3:71 build/C/man3/memchr.3:125
+#: build/C/man3/memcmp.3:61 build/C/man3/memcpy.3:53 build/C/man3/memfrob.3:59
+#: build/C/man3/memmem.3:60 build/C/man3/memmove.3:63
+#: build/C/man3/mempcpy.3:61 build/C/man3/memset.3:55 build/C/man3/stpcpy.3:72
+#: build/C/man3/stpncpy.3:92 build/C/man3/strcat.3:131
+#: build/C/man3/strchr.3:108 build/C/man3/strcmp.3:80
+#: build/C/man3/strcpy.3:117 build/C/man3/strerror.3:203
+#: build/C/man3/strlen.3:51 build/C/man3/strnlen.3:72
+#: build/C/man3/strpbrk.3:57 build/C/man3/strsep.3:80 build/C/man3/strspn.3:75
+#: build/C/man3/strstr.3:66 build/C/man3/strtok.3:170
+#, no-wrap
+msgid "Multithreading (see pthreads(7))"
+msgstr "マルチスレッディング (pthreads(7) 参照)"
+
+#. type: Plain text
+#: build/C/man3/bcmp.3:66
+#, fuzzy
+#| msgid "The B<strtok_r>()  function is thread-safe."
+msgid "The B<bcmp>()  function is thread-safe."
+msgstr "B<strtok_r>() 関数はスレッドセーフである。"
+
+#. type: SH
+#: build/C/man3/bcmp.3:66 build/C/man3/bcopy.3:59 build/C/man3/bzero.3:55
+#: build/C/man3/ffs.3:91 build/C/man3/index.3:62 build/C/man3/memccpy.3:75
+#: build/C/man3/memchr.3:132 build/C/man3/memcmp.3:65 build/C/man3/memcpy.3:57
+#: build/C/man3/memfrob.3:63 build/C/man3/memmem.3:64
+#: build/C/man3/memmove.3:67 build/C/man3/mempcpy.3:67
+#: build/C/man3/memset.3:59 build/C/man3/stpcpy.3:76 build/C/man3/stpncpy.3:96
+#: build/C/man3/strcasecmp.3:76 build/C/man3/strcat.3:137
+#: build/C/man3/strchr.3:115 build/C/man3/strcmp.3:86
+#: build/C/man3/strcoll.3:69 build/C/man3/strcpy.3:123
+#: build/C/man3/strdup.3:123 build/C/man3/strerror.3:216
+#: build/C/man3/strfry.3:57 build/C/man3/strlen.3:55 build/C/man3/strnlen.3:76
+#: build/C/man3/strpbrk.3:61 build/C/man3/strsep.3:84
+#: build/C/man3/strsignal.3:84 build/C/man3/strspn.3:81
+#: build/C/man3/strstr.3:77 build/C/man3/strtok.3:178
+#: build/C/man3/strverscmp.3:90 build/C/man3/strxfrm.3:76
 #, no-wrap
 msgid "CONFORMING TO"
 msgstr "準拠"
 
 #. type: Plain text
-#: build/C/man3/bcmp.3:66
+#: build/C/man3/bcmp.3:73
 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 "
@@ -202,27 +241,28 @@ msgstr ""
 "POSIX.1-2008 では B<bcmp>()  の仕様が削除されている。"
 
 #. 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:98
-#: 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:73 build/C/man3/bcopy.3:73 build/C/man3/bstring.3:82
+#: build/C/man3/bzero.3:62 build/C/man3/ffs.3:103 build/C/man3/index.3:73
+#: build/C/man3/memccpy.3:77 build/C/man3/memchr.3:144
+#: build/C/man3/memcmp.3:67 build/C/man3/memcpy.3:59 build/C/man3/memfrob.3:68
+#: build/C/man3/memmem.3:88 build/C/man3/memmove.3:69
+#: build/C/man3/mempcpy.3:80 build/C/man3/memset.3:61
+#: build/C/man3/stpcpy.3:113 build/C/man3/stpncpy.3:99
+#: build/C/man3/strcasecmp.3:78 build/C/man3/strcat.3:176
+#: build/C/man3/strchr.3:122 build/C/man3/strcmp.3:88
+#: build/C/man3/strcoll.3:80 build/C/man3/strcpy.3:225
+#: build/C/man3/strdup.3:133 build/C/man3/strerror.3:248
+#: build/C/man3/strfry.3:62 build/C/man3/string.3:208 build/C/man3/strlen.3:57
+#: build/C/man3/strnlen.3:78 build/C/man3/strpbrk.3:63
+#: build/C/man3/strsep.3:104 build/C/man3/strsignal.3:87
+#: build/C/man3/strspn.3:83 build/C/man3/strstr.3:96 build/C/man3/strtok.3:268
+#: build/C/man3/strverscmp.3:92 build/C/man3/strxfrm.3:88
 #, no-wrap
 msgid "SEE ALSO"
 msgstr "関連項目"
 
 #. type: Plain text
-#: build/C/man3/bcmp.3:73
+#: build/C/man3/bcmp.3:80
 msgid ""
 "B<memcmp>(3), B<strcasecmp>(3), B<strcmp>(3), B<strcoll>(3), B<strncasecmp>"
 "(3), B<strncmp>(3)"
@@ -231,77 +271,80 @@ msgstr ""
 "(3), B<strncmp>(3)"
 
 #. 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:107 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:80 build/C/man3/bcopy.3:79 build/C/man3/bstring.3:94
+#: build/C/man3/bzero.3:65 build/C/man3/ffs.3:105 build/C/man3/index.3:83
+#: build/C/man3/memccpy.3:83 build/C/man3/memchr.3:155
+#: build/C/man3/memcmp.3:75 build/C/man3/memcpy.3:67 build/C/man3/memfrob.3:70
+#: build/C/man3/memmem.3:90 build/C/man3/memmove.3:76
+#: build/C/man3/mempcpy.3:85 build/C/man3/memset.3:65
+#: build/C/man3/stpcpy.3:122 build/C/man3/stpncpy.3:102
+#: build/C/man3/strcasecmp.3:87 build/C/man3/strcat.3:185
+#: build/C/man3/strchr.3:135 build/C/man3/strcmp.3:98
+#: build/C/man3/strcoll.3:88 build/C/man3/strcpy.3:236
+#: build/C/man3/strdup.3:141 build/C/man3/strerror.3:255
+#: build/C/man3/strfry.3:65 build/C/man3/string.3:233 build/C/man3/strlen.3:62
+#: build/C/man3/strnlen.3:80 build/C/man3/strpbrk.3:74
+#: build/C/man3/strsep.3:114 build/C/man3/strsignal.3:90
+#: build/C/man3/strspn.3:95 build/C/man3/strstr.3:108
+#: build/C/man3/strtok.3:279 build/C/man3/strverscmp.3:97
+#: build/C/man3/strxfrm.3:96
 #, 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:114 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
-msgid ""
-"This page is part of release 3.40 of the Linux I<man-pages> project.  A "
+#: build/C/man3/bcmp.3:87 build/C/man3/bcopy.3:86 build/C/man3/bstring.3:101
+#: build/C/man3/bzero.3:72 build/C/man3/ffs.3:112 build/C/man3/index.3:90
+#: build/C/man3/memccpy.3:90 build/C/man3/memchr.3:162
+#: build/C/man3/memcmp.3:82 build/C/man3/memcpy.3:74 build/C/man3/memfrob.3:77
+#: build/C/man3/memmem.3:97 build/C/man3/memmove.3:83
+#: build/C/man3/mempcpy.3:92 build/C/man3/memset.3:72
+#: build/C/man3/stpcpy.3:129 build/C/man3/stpncpy.3:109
+#: build/C/man3/strcasecmp.3:94 build/C/man3/strcat.3:192
+#: build/C/man3/strchr.3:142 build/C/man3/strcmp.3:105
+#: build/C/man3/strcoll.3:95 build/C/man3/strcpy.3:243
+#: build/C/man3/strdup.3:148 build/C/man3/strerror.3:262
+#: build/C/man3/strfry.3:72 build/C/man3/string.3:240 build/C/man3/strlen.3:69
+#: build/C/man3/strnlen.3:87 build/C/man3/strpbrk.3:81
+#: build/C/man3/strsep.3:121 build/C/man3/strsignal.3:97
+#: build/C/man3/strspn.3:102 build/C/man3/strstr.3:115
+#: build/C/man3/strtok.3:286 build/C/man3/strverscmp.3:104
+#: build/C/man3/strxfrm.3:103
+msgid ""
+"This page is part of release 3.63 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/."
+"found at \\%http://www.kernel.org/doc/man-pages/."
 msgstr ""
-"この man ページは Linux I<man-pages> プロジェクトのリリース 3.40 の一部\n"
+"この man ページは Linux I<man-pages> プロジェクトのリリース 3.63 の一部\n"
 "である。プロジェクトの説明とバグ報告に関する情報は\n"
 "http://www.kernel.org/doc/man-pages/ に書かれている。"
 
 #. type: TH
-#: build/C/man3/bcopy.3:31
+#: build/C/man3/bcopy.3:33
 #, no-wrap
 msgid "BCOPY"
 msgstr "BCOPY"
 
 #. type: TH
-#: build/C/man3/bcopy.3:31
-#, no-wrap
-msgid "2009-03-15"
-msgstr "2009-03-15"
+#: build/C/man3/bcopy.3:33 build/C/man3/bzero.3:31
+#, fuzzy, no-wrap
+#| msgid "2013-06-21"
+msgid "2013-10-22"
+msgstr "2013-06-21"
 
 #. type: Plain text
-#: build/C/man3/bcopy.3:34
+#: build/C/man3/bcopy.3:36
 msgid "bcopy - copy byte sequence"
 msgstr "bcopy - バイト列をコピーする"
 
 #. 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 "B<void bcopy(const void *>I<src>B<, void *>I<dest>B<, size_t >I<n>B<);>\n"
 
 #. 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."
@@ -310,12 +353,19 @@ 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:59
+#, fuzzy
+#| msgid "The B<strtok_r>()  function is thread-safe."
+msgid "The B<bcopy>()  function is thread-safe."
+msgstr "B<strtok_r>() 関数はスレッドセーフである。"
+
+#. type: Plain text
+#: build/C/man3/bcopy.3:73
 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 "
@@ -329,25 +379,25 @@ msgstr ""
 "れている。"
 
 #. type: Plain text
-#: build/C/man3/bcopy.3:72
+#: build/C/man3/bcopy.3:79
 msgid "B<memccpy>(3), B<memcpy>(3), B<memmove>(3), B<strcpy>(3), B<strncpy>(3)"
 msgstr ""
 "B<memccpy>(3), B<memcpy>(3), B<memmove>(3), B<strcpy>(3), B<strncpy>(3)"
 
 #. type: TH
-#: build/C/man3/bstring.3:30
+#: build/C/man3/bstring.3:32
 #, no-wrap
 msgid "BSTRING"
 msgstr "BSTRING"
 
 #. type: TH
-#: build/C/man3/bstring.3:30
+#: build/C/man3/bstring.3:32
 #, no-wrap
 msgid "2002-01-20"
 msgstr "2002-01-20"
 
 #. 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"
@@ -356,72 +406,72 @@ msgstr ""
 "memmove, memset - バイト列の操作を行なう"
 
 #. 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/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:38
+#: build/C/man3/strverscmp.3:33 build/C/man3/strxfrm.3:36
 #, no-wrap
 msgid "B<#include E<lt>string.hE<gt>>\n"
 msgstr "B<#include E<lt>string.hE<gt>>\n"
 
 #. 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 "B<int bcmp(const void *>I<s1>B<, const void *>I<s2>B<, int >I<n>B<);>\n"
 
 #. 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 "B<void bcopy(const void *>I<src>B<, void *>I<dest>B<, int >I<n>B<);>\n"
 
 #. 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 "B<void bzero(void *>I<s>B<, int >I<n>B<);>\n"
 
 #. 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 >I<n>B<);>\n"
 msgstr "B<void *memccpy(void *>I<dest>B<, const void *>I<src>B<, int >I<c>B<, size_t >I<n>B<);>\n"
 
 #. 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 "B<void *memchr(const void *>I<s>B<, int >I<c>B<, size_t >I<n>B<);>\n"
 
 #. 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 "B<int memcmp(const void *>I<s1>B<, const void *>I<s2>B<, size_t >I<n>B<);>\n"
 
 #. 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 "B<void *memcpy(void *>I<dest>B<, const void *>I<src>B<, size_t >I<n>B<);>\n"
 
 #. 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 "B<void *memfrob(void *>I<s>B<, size_t >I<n>B<);>\n"
 
 #. 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"
@@ -431,19 +481,19 @@ msgstr ""
 "B<             const void *>I<haystack>B<, size_t >I<haystacklen>B<);>\n"
 
 #. 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 "B<void *memmove(void *>I<dest>B<, const void *>I<src>B<, size_t >I<n>B<);>\n"
 
 #. 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 "B<void *memset(void *>I<s>B<, int >I<c>B<, size_t >I<n>B<);>\n"
 
 #. 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 "
@@ -453,16 +503,16 @@ msgstr ""
 "の詳しい説明は、それぞれの man ページを参照すること。"
 
 #. 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:139
+#: build/C/man3/strcoll.3:71 build/C/man3/strcpy.3:125
+#: build/C/man3/strsep.3:86 build/C/man3/strxfrm.3:78
 #, 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."
@@ -471,7 +521,7 @@ msgstr ""
 "(), B<memcpy>()  B<memset>()  を使うこと。"
 
 #. 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), B<memset>(3)"
@@ -480,24 +530,24 @@ msgstr ""
 "(3), B<memcpy>(3), B<memfrob>(3), B<memmem>(3), B<memmove>(3), B<memset>(3)"
 
 #. type: TH
-#: build/C/man3/bzero.3:29
+#: build/C/man3/bzero.3:31
 #, no-wrap
 msgid "BZERO"
 msgstr "BZERO"
 
 #. type: Plain text
-#: build/C/man3/bzero.3:32
+#: build/C/man3/bzero.3:34
 msgid "bzero - write zero-valued bytes"
 msgstr "bzero - 値 0 のバイトで埋める"
 
 #. 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 "B<void bzero(void *>I<s>B<, size_t >I<n>B<);>\n"
 
 #. 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)."
@@ -507,6 +557,13 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/bzero.3:55
+#, fuzzy
+#| msgid "The B<strerror_r>()  function is thread-safe."
+msgid "The B<bzero>()  function is thread-safe."
+msgstr "B<strerror_r>() 関数はスレッドセーフである。"
+
+#. type: Plain text
+#: build/C/man3/bzero.3:62
 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 "
@@ -517,85 +574,83 @@ msgstr ""
 "POSIX.1-2008 では B<bzero>()  の仕様が削除されている。"
 
 #. type: Plain text
-#: build/C/man3/bzero.3:58
+#: build/C/man3/bzero.3:65
 msgid "B<memset>(3), B<swab>(3)"
 msgstr "B<memset>(3), B<swab>(3)"
 
 #. type: TH
-#: build/C/man3/ffs.3:31
+#: build/C/man3/ffs.3:33
 #, no-wrap
 msgid "FFS"
 msgstr "FFS"
 
 #. type: TH
-#: build/C/man3/ffs.3:31 build/C/man3/strcasecmp.3:28 build/C/man3/strcmp.3:30
-#: build/C/man3/strcoll.3:28 build/C/man3/strcpy.3:33 build/C/man3/strfry.3:28
-#: build/C/man3/strpbrk.3:28 build/C/man3/strspn.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 "2010-09-20"
 
 #. 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:32 build/C/man3/strverscmp.3:25
+#: build/C/man3/strxfrm.3:30
 #, no-wrap
 msgid "GNU"
 msgstr "GNU"
 
 #. 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 "ffs, ffsl, ffsll - ワードの中で最初にセットされているビットの検出"
 
 #. 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 "B<int ffs(int >I<i>B<);>\n"
 
 #. 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 "B<int ffsl(long int >I<i>B<);>\n"
 
 #. 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 "B<int ffsll(long long int >I<i>B<);>\n"
 
 #. 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:60 build/C/man3/strnlen.3:26
+#: build/C/man3/strsep.3:46 build/C/man3/strsignal.3:45
+#: build/C/man3/strtok.3:47
 msgid ""
 "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
 msgstr "glibc 向けの機能検査マクロの要件 (B<feature_test_macros>(7)  参照):"
 
 #. type: Plain text
-#: build/C/man3/ffs.3:55
+#: build/C/man3/ffs.3:57
 msgid "B<ffs>():"
 msgstr "B<ffs>():"
 
 #. type: TP
-#: build/C/man3/ffs.3:56
+#: build/C/man3/ffs.3:58
 #, no-wrap
 msgid "Since glibc 2.12:"
 msgstr "glibc 2.10 以降:"
 
 #. 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 ||"
@@ -604,30 +659,30 @@ msgstr ""
 "_XOPEN_SOURCE\\ E<gt>=\\ 700 ||"
 
 #. type: TP
-#: build/C/man3/ffs.3:60
+#: build/C/man3/ffs.3:62
 #, no-wrap
 msgid "Before glibc 2.12:"
 msgstr "glibc 2.10 より前:"
 
 #. type: Plain text
-#: build/C/man3/ffs.3:63
+#: build/C/man3/ffs.3:65
 msgid "none"
 msgstr "none"
 
 #. type: Plain text
-#: build/C/man3/ffs.3:67
+#: build/C/man3/ffs.3:69
 msgid "B<ffsl>(), B<ffsll>():"
 msgstr "B<ffsl>(), B<ffsll>():"
 
 #. 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 "_GNU_SOURCE"
 
 #. 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 "
@@ -640,7 +695,7 @@ 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>."
@@ -649,56 +704,56 @@ msgstr ""
 "もセットされていなければ 0 を返す。"
 
 #. type: Plain text
-#: build/C/man3/ffs.3:92
+#: build/C/man3/ffs.3:94
 msgid "B<ffs>(): 4.3BSD, POSIX.1-2001."
 msgstr "B<ffs>(): 4.3BSD, POSIX.1-2001."
 
 #. 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 "関数 B<ffsl>()  と B<ffsll>()  は glibc による拡張である。"
 
 #. 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 "BSD システムでは I<E<lt>string.hE<gt>> にプロトタイプがある。"
 
 #. type: Plain text
-#: build/C/man3/ffs.3:103
+#: build/C/man3/ffs.3:105
 msgid "B<memchr>(3)"
 msgstr "B<memchr>(3)"
 
 #. type: TH
-#: build/C/man3/index.3:29
+#: build/C/man3/index.3:31
 #, no-wrap
 msgid "INDEX"
 msgstr "INDEX"
 
 #. type: TH
-#: build/C/man3/index.3:29
+#: build/C/man3/index.3:31
 #, no-wrap
 msgid "2011-09-21"
 msgstr "2011-09-21"
 
 #. type: Plain text
-#: build/C/man3/index.3:32
+#: build/C/man3/index.3:34
 msgid "index, rindex - locate character in string"
 msgstr "index, rindex - 文字列中の文字の位置を示す"
 
 #. type: Plain text
-#: build/C/man3/index.3:37 build/C/man3/string.3:43
+#: build/C/man3/index.3:39
 #, no-wrap
 msgid "B<char *index(const char *>I<s>B<, int >I<c>B<);>\n"
 msgstr "B<char *index(const char *>I<s>B<, int >I<c>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/index.3:39 build/C/man3/string.3:45
+#: build/C/man3/index.3:41
 #, no-wrap
 msgid "B<char *rindex(const char *>I<s>B<, int >I<c>B<);>\n"
 msgstr "B<char *rindex(const char *>I<s>B<, int >I<c>B<);>\n"
 
 #. 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>."
@@ -707,7 +762,7 @@ 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>."
@@ -716,7 +771,7 @@ 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."
@@ -724,7 +779,7 @@ msgstr ""
 "文字列を終端する NULL バイト (\\(aq\\e0\\(aq) は、文字列の一部とみなされる。"
 
 #. 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."
@@ -733,7 +788,7 @@ msgstr ""
 "つからない場合は NULL を返す。"
 
 #. 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)  "
@@ -744,7 +799,7 @@ msgstr ""
 "に、 B<strchr>(3)  と B<strrchr>(3)  の使用が推奨されている。"
 
 #. 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)"
@@ -753,24 +808,25 @@ msgstr ""
 "B<strsep>(3), B<strspn>(3), B<strstr>(3), B<strtok>(3)"
 
 #. type: TH
-#: build/C/man3/memccpy.3:28
+#: build/C/man3/memccpy.3:30
 #, no-wrap
 msgid "MEMCCPY"
 msgstr "MEMCCPY"
 
 #. type: TH
-#: build/C/man3/memccpy.3:28
-#, no-wrap
-msgid "2009-01-13"
-msgstr "1993-04-10"
+#: build/C/man3/memccpy.3:30 build/C/man3/memchr.3:32
+#, fuzzy, no-wrap
+#| msgid "2012-03-15"
+msgid "2014-03-10"
+msgstr "2012-03-15"
 
 #. type: Plain text
-#: build/C/man3/memccpy.3:31
+#: build/C/man3/memccpy.3:33
 msgid "memccpy - copy memory area"
 msgstr "memccpy - メモリ領域をコピーする"
 
 #. type: Plain text
-#: build/C/man3/memccpy.3:43
+#: build/C/man3/memccpy.3:53
 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."
@@ -780,12 +836,12 @@ msgstr ""
 "コピーを中止する。"
 
 #. type: Plain text
-#: build/C/man3/memccpy.3:45
+#: build/C/man3/memccpy.3:55
 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:70
 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> "
@@ -795,68 +851,64 @@ msgstr ""
 "を指すポインタを返す。 見つからなかった場合、NULL を返す。"
 
 #. type: Plain text
-#: build/C/man3/memccpy.3:53
+#: build/C/man3/memccpy.3:75
+#, fuzzy
+#| msgid "The B<strerror_r>()  function is thread-safe."
+msgid "The B<memccpy>()  function is thread-safe."
+msgstr "B<strerror_r>() 関数はスレッドセーフである。"
+
+#. type: Plain text
+#: build/C/man3/memccpy.3:77
 msgid "SVr4, 4.3BSD, POSIX.1-2001."
 msgstr "SVr4, 4.3BSD, POSIX.1-2001."
 
 #. type: Plain text
-#: build/C/man3/memccpy.3:59
+#: build/C/man3/memccpy.3:83
 msgid "B<bcopy>(3), B<memcpy>(3), B<memmove>(3), B<strcpy>(3), B<strncpy>(3)"
 msgstr "B<bcopy>(3), B<memcpy>(3), B<memmove>(3), B<strcpy>(3), B<strncpy>(3)"
 
 #. type: TH
-#: build/C/man3/memchr.3:30
+#: build/C/man3/memchr.3:32
 #, no-wrap
 msgid "MEMCHR"
 msgstr "MEMCHR"
 
-#. type: TH
-#: build/C/man3/memchr.3:30
-#, fuzzy, no-wrap
-#| msgid "2012-04-16"
-msgid "2012-04-23"
-msgstr "2012-04-16"
-
 #. 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 "memchr, memrchr, rawmemchr - 文字を探すためにメモリをスキャンする"
 
 #. 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 "B<void *memrchr(const void *>I<s>B<, int >I<c>B<, size_t >I<n>B<);>\n"
 
 #. 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 "B<void *rawmemchr(const void *>I<s>B<, int >I<c>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/memchr.3:52
+#: build/C/man3/memchr.3:54
 msgid "B<memrchr>(), B<rawmemchr>(): _GNU_SOURCE"
 msgstr "B<memrchr>(): B<rawmemchr>(): _GNU_SOURCE"
 
 #. type: Plain text
-#: build/C/man3/memchr.3:68
-#, fuzzy
-#| msgid ""
-#| "The B<memchr>()  function scans the first I<n> bytes of the memory area "
-#| "pointed to by I<s> for the character I<c>.  The first byte to match I<c> "
-#| "(interpreted as an unsigned character) stops the operation."
+#: 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 "
 "of the memory area pointed to by I<s> are interpreted as I<unsigned char>."
 msgstr ""
-"B<memchr>()  関数は、ポインタ I<s> が指し示すメモリブロックの 先頭の I<n> バ"
-"イトから文字 I<c> を探す。 最初に I<c> (unsigned char と解釈される) が見つ"
-"かった時点で動作が停止する。"
+"B<memchr>() 関数は、ポインタ I<s> が指し示すメモリ領域の先頭の\n"
+"I<n> バイトから最初に登場する文字 I<c> を探す。\n"
+"I<c> と I<s> が指し示すメモリ領域の各バイトは両方とも\n"
+"I<unsigned char> と解釈される。"
 
 #. 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 "
@@ -867,43 +919,31 @@ msgstr ""
 "きに探す。"
 
 #. type: Plain text
-#: build/C/man3/memchr.3:97
-#, fuzzy
-#| msgid ""
-#| "The B<rawmemchr>()  function is similar to B<memchr>(): it assumes (i.e., "
-#| "the programmer knows for certain)  that the character I<c> lies somewhere "
-#| "in the string I<s>, and so performs an optimized search for the character "
-#| "I<c> (i.e., no use of a count argument argument to limit the range of the "
-#| "search).  If the character I<c> is not in the string I<s>, then "
-#| "B<rawmemchr>()  may proceed to search beyond the end of the string, and "
-#| "the result is unspecified.  The following call is a fast means of "
-#| "locating a string's terminating null byte:"
+#: 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 "
 "in the memory area starting at the location pointed to by I<s>, and so "
-"performs an optimized search for I<c> (i.e., no use of a count argument "
-"argument to limit the range of the search).  If an instance of I<c> is not "
-"found, the results are unpredictable.  The following call is a fast means of "
-"locating a string's terminating null byte:"
-msgstr ""
-"B<rawmemchr>() 関数は B<memchr>() と同様だが、文字 I<c> が文字列 I<s> 内の\n"
-"どこかにあることを前提にして (つまり、プログラマはそのことを知っている)、\n"
-"最適化した方法で文字 I<c> の検索を実行する (すなわち、検索範囲の上限を示す\n"
-"引き数も使用されない)。文字 I<c> が文字列 I<s> 内にない場合、 B<rawmemchr>"
-"()\n"
-"は文字列末尾を越えて検索を実行するかもしれず、結果は不定である。\n"
-"次に示す呼び出しは、文字列終端のNULL バイトの位置を特定する 高速な手段であ"
-"る。"
+"performs an optimized search for I<c> (i.e., no use of a count argument to "
+"limit the range of the search).  If an instance of I<c> is not found, the "
+"results are unpredictable.  The following call is a fast means of locating a "
+"string's terminating null byte:"
+msgstr ""
+"B<rawmemchr>() 関数は B<memchr>() と同様だが、 I<c> が I<s> が指す場所\n"
+"から始まるメモリ領域のどこかにあることを前提にして (つまり、プログラマ\n"
+"はそのことを知っている)、最適化した方法で I<c> の検索を実行する (すなわ\n"
+"ち、検索範囲の上限を示す引き数も使用されない)。I<c> が見つからなかった\n"
+"場合、その結果はどうなるか分からない。次に示す呼び出しは、文字列終端の\n"
+"NULL バイトの位置を特定する高速な手段である。"
 
 #. 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 "char *p = rawmemchr(s,\\ \\(aq\\e0\\(aq);\n"
 
 #. 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 "
@@ -913,7 +953,7 @@ msgstr ""
 "文字が指定メモリ領域に現れない場合は NULL を返す。"
 
 #. 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."
@@ -922,42 +962,50 @@ 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:57
+#: build/C/man3/strchr.3:104 build/C/man3/strerror.3:212
 #, 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 "B<rawmemchr>()  は glibc バージョン 2.1 で初めて登場した。"
 
 #. 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 "B<memrchr>()  は glibc バージョン 2.2 で初めて登場した。"
 
 #. type: Plain text
-#: build/C/man3/memchr.3:126
+#: build/C/man3/memchr.3:132
+#, fuzzy
+#| msgid "The B<strerror_r>()  function is thread-safe."
+msgid ""
+"The B<memchr>(), B<memrchr>(), and B<rawmemchr>()  functions are thread-safe."
+msgstr "B<strerror_r>() 関数はスレッドセーフである。"
+
+#. type: Plain text
+#: build/C/man3/memchr.3:136
 msgid ""
 "The B<memchr>()  function conforms to SVr4, 4.3BSD, C89, C99, POSIX.1-2001."
 msgstr "B<memchr>()  関数は SVr4, 4.3BSD, C89, C99, POSIX.1-2001 に準拠する。"
 
 #. type: Plain text
-#: build/C/man3/memchr.3:130
+#: build/C/man3/memchr.3:140
 msgid ""
 "The B<memrchr>()  function is a GNU extension, available since glibc 2.1.91."
 msgstr "B<memrchr>()  関数は GNU 拡張であり、glibc 2.1.91 から使用可能である。"
 
 #. type: Plain text
-#: build/C/man3/memchr.3:134
+#: build/C/man3/memchr.3:144
 msgid ""
 "The B<rawmemchr>()  function is a GNU extension, available since glibc 2.1."
 msgstr "B<rawmemchr>()  関数は GNU 拡張であり、glibc 2.1 から使用可能である。"
 
 #. type: Plain text
-#: build/C/man3/memchr.3:145
+#: build/C/man3/memchr.3:155
 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)"
@@ -966,36 +1014,34 @@ msgstr ""
 "(3), B<strsep>(3), B<strspn>(3), B<strstr>(3), B<wmemchr>(3)"
 
 #. type: TH
-#: build/C/man3/memcmp.3:28
+#: build/C/man3/memcmp.3:30
 #, no-wrap
 msgid "MEMCMP"
 msgstr "MEMCMP"
 
 #. type: TH
-#: build/C/man3/memcmp.3:28
-#, no-wrap
-msgid "2011-09-14"
-msgstr "2011-09-14"
+#: build/C/man3/memcmp.3:30
+#, fuzzy, no-wrap
+#| msgid "2012-03-15"
+msgid "2014-03-14"
+msgstr "2012-03-15"
 
 #. type: Plain text
-#: build/C/man3/memcmp.3:31
+#: build/C/man3/memcmp.3:33
 msgid "memcmp - compare memory areas"
 msgstr "memcmp - メモリ領域を比較する"
 
 #. 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 ""
 "B<memcmp>()  関数は、メモリ領域 I<s1> とI<s2> の最初の I<n> バイトを比較する "
-"(各バイトは I<unsigned char> として解釈される)。 I<s1> が I<s2> より小さい"
-"か、同じか、あるいは大きいかによって それぞれ、負の整数、0、正の整数を返す。"
+"(各バイトは I<unsigned char> として解釈される)。"
 
 #. 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 "
@@ -1006,13 +1052,30 @@ 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 ""
+"0 でない値の場合、 I<s1> と I<s2> で値が異なった最初のバイトの値の差で符号は"
+"決定される (バイトは I<unsigned char> で解釈される)。"
+
+#. type: Plain text
+#: build/C/man3/memcmp.3:65
+#, fuzzy
+#| msgid "The B<strerror_r>()  function is thread-safe."
+msgid "The B<memcmp>()  function is thread-safe."
+msgstr "B<strerror_r>() 関数はスレッドセーフである。"
+
+#. type: Plain text
+#: build/C/man3/memcmp.3:67 build/C/man3/memcpy.3:59 build/C/man3/memmove.3:69
+#: build/C/man3/memset.3:61
 msgid "SVr4, 4.3BSD, C89, C99, POSIX.1-2001."
 msgstr "SVr4, 4.3BSD, C89, C99, POSIX.1-2001."
 
 #. type: Plain text
-#: build/C/man3/memcmp.3:63
+#: build/C/man3/memcmp.3:75
 msgid ""
 "B<bcmp>(3), B<strcasecmp>(3), B<strcmp>(3), B<strcoll>(3), B<strncasecmp>"
 "(3), B<strncmp>(3), B<wmemcmp>(3)"
@@ -1021,24 +1084,26 @@ msgstr ""
 "(3), B<strncmp>(3), B<wmemcmp>(3)"
 
 #. type: TH
-#: build/C/man3/memcpy.3:28
+#: build/C/man3/memcpy.3:30
 #, no-wrap
 msgid "MEMCPY"
 msgstr "MEMCPY"
 
 #. type: TH
-#: build/C/man3/memcpy.3:28
-#, no-wrap
-msgid "2010-11-15"
-msgstr "2010-11-15"
+#: build/C/man3/memcpy.3:30 build/C/man3/memfrob.3:30 build/C/man3/memmem.3:30
+#: build/C/man3/memmove.3:30
+#, fuzzy, no-wrap
+#| msgid "2012-03-15"
+msgid "2014-03-17"
+msgstr "2012-03-15"
 
 #. type: Plain text
-#: build/C/man3/memcpy.3:31
+#: build/C/man3/memcpy.3:33
 msgid "memcpy - copy memory area"
 msgstr "memcpy - メモリ領域をコピーする。"
 
 #. 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)  "
@@ -1049,12 +1114,19 @@ msgstr ""
 "合は B<memmove>(3)  を使うこと。"
 
 #. 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 "B<memcpy>()  は I<dest> へのポインタを返す。"
 
 #. type: Plain text
-#: build/C/man3/memcpy.3:60
+#: build/C/man3/memcpy.3:57
+#, fuzzy
+#| msgid "The B<strerror_r>()  function is thread-safe."
+msgid "The B<memcpy>()  function is thread-safe."
+msgstr "B<strerror_r>() 関数はスレッドセーフである。"
+
+#. type: Plain text
+#: build/C/man3/memcpy.3:67
 msgid ""
 "B<bcopy>(3), B<memccpy>(3), B<memmove>(3), B<mempcpy>(3), B<strcpy>(3), "
 "B<strncpy>(3), B<wmemcpy>(3)"
@@ -1063,24 +1135,18 @@ msgstr ""
 "B<strncpy>(3), B<wmemcpy>(3)"
 
 #. type: TH
-#: build/C/man3/memfrob.3:28
+#: build/C/man3/memfrob.3:30
 #, no-wrap
 msgid "MEMFROB"
 msgstr "MEMFROB"
 
-#. type: TH
-#: build/C/man3/memfrob.3:28
-#, no-wrap
-msgid "2010-09-10"
-msgstr "2010-09-10"
-
 #. type: Plain text
-#: build/C/man3/memfrob.3:31
+#: build/C/man3/memfrob.3:33
 msgid "memfrob - frobnicate (encrypt) a memory area"
 msgstr "memfrob - メモリエリアの操作 (暗号化)"
 
 #. 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"
@@ -1090,7 +1156,7 @@ msgstr ""
 "B<#include E<lt>string.hE<gt>>\n"
 
 #. 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 "
@@ -1102,50 +1168,51 @@ 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."
+"constant is fixed, and is suitable only for hiding strings."
 msgstr ""
 "この関数は妥当な暗号化ルーチンであるとは言えないことに注意して欲しい。 XOR を"
-"とる定数を固定しているので、せいぜい、文字列を隠す程度の用法にし か向いていな"
+"とる定数を固定しているので、せいぜい、文字列を隠す程度の用途にしか向いていな"
 "い。"
 
 #. 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 "B<memfrob>()  関数は、暗号化されたメモリエリアへのポインタを返す。"
 
 #. type: Plain text
-#: build/C/man3/memfrob.3:61
+#: build/C/man3/memfrob.3:63
+#, fuzzy
+#| msgid "The B<strerror_r>()  function is thread-safe."
+msgid "The B<memfrob>()  function is thread-safe."
+msgstr "B<strerror_r>() 関数はスレッドセーフである。"
+
+#. type: Plain text
+#: build/C/man3/memfrob.3:68
 msgid "The B<memfrob>()  function is unique to the GNU C Library."
 msgstr "B<memfrob>()  関数は GNU C ライブラリに固有である。"
 
 #. type: Plain text
-#: build/C/man3/memfrob.3:63
+#: build/C/man3/memfrob.3:70
 msgid "B<strfry>(3)"
 msgstr "B<strfry>(3)"
 
 #. type: TH
-#: build/C/man3/memmem.3:28
+#: build/C/man3/memmem.3:30
 #, no-wrap
 msgid "MEMMEM"
 msgstr "MEMMEM"
 
-#. type: TH
-#: build/C/man3/memmem.3:28
-#, no-wrap
-msgid "2008-12-05"
-msgstr "2008-12-05"
-
 #. type: Plain text
-#: build/C/man3/memmem.3:31
+#: build/C/man3/memmem.3:33
 msgid "memmem - locate a substring"
 msgstr "memmem - 部分文字列の位置を示す"
 
 #. 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"
@@ -1155,7 +1222,7 @@ msgstr ""
 "B<#include E<lt>string.hE<gt>>\n"
 
 #. 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"
@@ -1165,7 +1232,7 @@ msgstr ""
 "B<             const void *>I<needle>B<, size_t >I<needlelen>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/memmem.3:45
+#: build/C/man3/memmem.3:54
 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 "
@@ -1176,7 +1243,7 @@ msgstr ""
 "つける。"
 
 #. type: Plain text
-#: build/C/man3/memmem.3:50
+#: build/C/man3/memmem.3:59
 msgid ""
 "The B<memmem>()  function returns a pointer to the beginning of the "
 "substring, or NULL if the substring is not found."
@@ -1185,20 +1252,27 @@ msgstr ""
 "見つからない場合は NULL を返す。"
 
 #. 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:64
+#, fuzzy
+#| msgid "The B<strerror_r>()  function is thread-safe."
+msgid "The B<memmem>()  function is thread-safe."
+msgstr "B<strerror_r>() 関数はスレッドセーフである。"
+
+#. type: Plain text
+#: build/C/man3/memmem.3:66 build/C/man3/mempcpy.3:69
+#: build/C/man3/strverscmp.3:92
 msgid "This function is a GNU extension."
 msgstr "この関数は GNU による拡張である。"
 
 #. type: SH
-#: build/C/man3/memmem.3:52 build/C/man3/stpcpy.3:71 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:66 build/C/man3/stpcpy.3:83 build/C/man3/strcpy.3:214
+#: build/C/man3/strsep.3:95 build/C/man3/strstr.3:84 build/C/man3/strtok.3:185
 #, no-wrap
 msgid "BUGS"
 msgstr "バグ"
 
 #. type: Plain text
-#: build/C/man3/memmem.3:57
+#: build/C/man3/memmem.3:76
 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 "
@@ -1210,10 +1284,10 @@ msgstr ""
 "返されていたのである。"
 
 #. type: Plain text
-#: build/C/man3/memmem.3:63
+#: build/C/man3/memmem.3:88
 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 "
+"I<haystack-1> (instead of I<haystack>)  is returned.  And glibc 2.0 makes it "
 "worse, returning a pointer to the last byte of I<haystack>.  This is fixed "
 "in glibc 2.1."
 msgstr ""
@@ -1223,29 +1297,23 @@ msgstr ""
 "glibc 2.1 で修正された。"
 
 #. type: Plain text
-#: build/C/man3/memmem.3:65
+#: build/C/man3/memmem.3:90
 msgid "B<strstr>(3)"
 msgstr "B<strstr>(3)"
 
 #. type: TH
-#: build/C/man3/memmove.3:28
+#: build/C/man3/memmove.3:30
 #, no-wrap
 msgid "MEMMOVE"
 msgstr "MEMMOVE"
 
-#. type: TH
-#: build/C/man3/memmove.3:28
-#, no-wrap
-msgid "1993-04-10"
-msgstr "1993-04-10"
-
 #. type: Plain text
-#: build/C/man3/memmove.3:31
+#: build/C/man3/memmove.3:33
 msgid "memmove - copy memory area"
 msgstr "memmove - メモリ領域をコピーする"
 
 #. type: Plain text
-#: build/C/man3/memmove.3:51
+#: build/C/man3/memmove.3:57
 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 "
@@ -1260,12 +1328,19 @@ msgstr ""
 "る。"
 
 #. type: Plain text
-#: build/C/man3/memmove.3:55
+#: build/C/man3/memmove.3:62
 msgid "The B<memmove>()  function returns a pointer to I<dest>."
 msgstr "B<memmove>()  は I<dest> へのポインタを返す。"
 
 #. type: Plain text
-#: build/C/man3/memmove.3:64
+#: build/C/man3/memmove.3:67
+#, fuzzy
+#| msgid "The B<strerror_r>()  function is thread-safe."
+msgid "The B<memmove>()  function is thread-safe."
+msgstr "B<strerror_r>() 関数はスレッドセーフである。"
+
+#. type: Plain text
+#: build/C/man3/memmove.3:76
 msgid ""
 "B<bcopy>(3), B<memccpy>(3), B<memcpy>(3), B<strcpy>(3), B<strncpy>(3), "
 "B<wmemmove>(3)"
@@ -1274,50 +1349,52 @@ msgstr ""
 "B<wmemmove>(3)"
 
 #. type: TH
-#: build/C/man3/mempcpy.3:6
+#: build/C/man3/mempcpy.3:10
 #, no-wrap
 msgid "MEMPCPY"
 msgstr "MEMPCPY"
 
 #. type: TH
-#: build/C/man3/mempcpy.3:6
-#, no-wrap
-msgid "2008-08-12"
-msgstr "2008-08-11"
+#: build/C/man3/mempcpy.3:10 build/C/man3/memset.3:30
+#: build/C/man3/strerror.3:39
+#, fuzzy, no-wrap
+#| msgid "2012-03-15"
+msgid "2014-03-18"
+msgstr "2012-03-15"
 
 #. type: Plain text
-#: build/C/man3/mempcpy.3:9
+#: build/C/man3/mempcpy.3:13
 msgid "mempcpy, wmempcpy - copy memory area"
 msgstr "mempcpy, wmempcpy - メモリ領域をコピーする"
 
 #. 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 "B<#define _GNU_SOURCE>         /* feature_test_macros(7) 参照 */\n"
 
 #. 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 "B<void *mempcpy(void *>I<dest>B<, const void *>I<src>B<, size_t >I<n>B<);>\n"
 
 #. 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 "B<#include E<lt>wchar.hE<gt>>\n"
 
 #. 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 >I<n>B<);>\n"
 msgstr "B<wchar_t *wmempcpy(wchar_t *>I<dest>B<, const wchar_t *>I<src>B<, size_t >I<n>B<);>\n"
 
 #. 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 "
@@ -1330,7 +1407,7 @@ 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."
@@ -1339,7 +1416,7 @@ 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."
@@ -1348,24 +1425,31 @@ msgstr ""
 "I<n> ワイド文字列をコピーする。"
 
 #. type: Plain text
-#: build/C/man3/mempcpy.3:51
+#: build/C/man3/mempcpy.3:57
 msgid "I<dest> + I<n>."
 msgstr "I<dest> + I<n>."
 
 #. type: Plain text
-#: build/C/man3/mempcpy.3:54
+#: build/C/man3/mempcpy.3:60
 msgid "B<mempcpy>()  first appeared in glibc in version 2.1."
 msgstr "B<mempcpy>()  は glibc バージョン 2.1 で初めて登場した。"
 
+#. type: Plain text
+#: build/C/man3/mempcpy.3:67
+#, fuzzy
+#| msgid "The B<ffsl>()  and B<ffsll>()  functions are glibc extensions."
+msgid "The B<mempcpy>()  and B<wmempcpy>()  functions are thread-safe."
+msgstr "関数 B<ffsl>()  と B<ffsll>()  は glibc による拡張である。"
+
 #. type: SH
-#: build/C/man3/mempcpy.3:56 build/C/man3/stpcpy.3:74
-#: build/C/man3/strtok.3:134
+#: build/C/man3/mempcpy.3:69 build/C/man3/stpcpy.3:86
+#: build/C/man3/strtok.3:201
 #, no-wrap
 msgid "EXAMPLE"
 msgstr "例"
 
 #. type: Plain text
-#: build/C/man3/mempcpy.3:66
+#: build/C/man3/mempcpy.3:79
 #, no-wrap
 msgid ""
 "void *\n"
@@ -1386,29 +1470,23 @@ msgstr ""
 "    return result;\n"
 
 #. type: Plain text
-#: build/C/man3/mempcpy.3:72
+#: build/C/man3/mempcpy.3:85
 msgid "B<memccpy>(3), B<memcpy>(3), B<memmove>(3), B<wmemcpy>(3)"
 msgstr "B<memccpy>(3), B<memcpy>(3), B<memmove>(3), B<wmemcpy>(3)"
 
 #. type: TH
-#: build/C/man3/memset.3:28
+#: build/C/man3/memset.3:30
 #, no-wrap
 msgid "MEMSET"
 msgstr "MEMSET"
 
-#. type: TH
-#: build/C/man3/memset.3:28
-#, no-wrap
-msgid "1993-04-11"
-msgstr "1993-04-11"
-
 #. type: Plain text
-#: build/C/man3/memset.3:31
+#: build/C/man3/memset.3:33
 msgid "memset - fill memory with a constant byte"
 msgstr "memset - ある一定のバイトでメモリ領域を埋める。"
 
 #. type: Plain text
-#: build/C/man3/memset.3:42
+#: build/C/man3/memset.3:49
 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>."
@@ -1417,12 +1495,19 @@ msgstr ""
 "る。"
 
 #. type: Plain text
-#: build/C/man3/memset.3:47
+#: build/C/man3/memset.3:54
 msgid "The B<memset>()  function returns a pointer to the memory area I<s>."
 msgstr "B<memset>()  は I<s> へのポインタを返す。"
 
 #. type: Plain text
-#: build/C/man3/memset.3:53
+#: build/C/man3/memset.3:59
+#, fuzzy
+#| msgid "The B<strtok_r>()  function is thread-safe."
+msgid "The B<memset>()  function is thread-safe."
+msgstr "B<strtok_r>() 関数はスレッドセーフである。"
+
+#. type: Plain text
+#: build/C/man3/memset.3:65
 msgid "B<bzero>(3), B<swab>(3), B<wmemset>(3)"
 msgstr "B<bzero>(3), B<swab>(3), B<wmemset>(3)"
 
@@ -1433,10 +1518,11 @@ msgid "STPCPY"
 msgstr "STPCPY"
 
 #. type: TH
-#: build/C/man3/stpcpy.3:25
-#, no-wrap
-msgid "2012-03-15"
-msgstr "2012-03-15"
+#: build/C/man3/stpcpy.3:25 build/C/man3/stpncpy.3:14
+#, fuzzy, no-wrap
+#| msgid "2009-01-13"
+msgid "2014-01-13"
+msgstr "1993-04-10"
 
 #. type: Plain text
 #: build/C/man3/stpcpy.3:28
@@ -1444,7 +1530,7 @@ msgid "stpcpy - copy a string returning a pointer to its end"
 msgstr "stpcpy - 文字列をコピーし、コピーした文字列の終りへのポインタを返す"
 
 #. type: Plain text
-#: build/C/man3/stpcpy.3:33 build/C/man3/string.3:49
+#: build/C/man3/stpcpy.3:33
 #, no-wrap
 msgid "B<char *stpcpy(char *>I<dest>B<, const char *>I<src>B<);>\n"
 msgstr "B<char *stpcpy(char *>I<dest>B<, const char *>I<src>B<);>\n"
@@ -1455,27 +1541,27 @@ msgid "B<stpcpy>():"
 msgstr "B<stpcpy>():"
 
 #. 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 "glibc 2.10 以降:"
 
 #. 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 "_XOPEN_SOURCE\\ E<gt>=\\ 700 || _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
 
 #. 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 "glibc 2.10 より前:"
 
 #. type: Plain text
-#: build/C/man3/stpcpy.3:61
+#: build/C/man3/stpcpy.3:63
 msgid ""
 "The B<stpcpy>()  function copies the string pointed to by I<src> (including "
 "the terminating null byte (\\(aq\\e0\\(aq)) to the array pointed to by "
@@ -1488,7 +1574,7 @@ msgstr ""
 "てはならない。"
 
 #. type: Plain text
-#: build/C/man3/stpcpy.3:66
+#: build/C/man3/stpcpy.3:71
 msgid ""
 "B<stpcpy>()  returns a pointer to the B<end> of the string I<dest> (that is, "
 "the address of the terminating null byte)  rather than the beginning."
@@ -1497,11 +1583,18 @@ msgstr ""
 "わち、文字列を終端する NULL バイト) を返す。"
 
 #. type: Plain text
-#: build/C/man3/stpcpy.3:71
+#: build/C/man3/stpcpy.3:76
+#, fuzzy
+#| msgid "The B<strtok_r>()  function is thread-safe."
+msgid "The B<stpcpy>()  function is thread-safe."
+msgstr "B<strtok_r>() 関数はスレッドセーフである。"
+
+#. type: Plain text
+#: build/C/man3/stpcpy.3:83
 msgid ""
-"This function was added to POSIX.1-2008. Before that, it was not part of the "
-"C or POSIX.1 standards, nor customary on UNIX systems, but was not a GNU "
-"invention either. Perhaps it came from MS-DOS. It is also present on the "
+"This function was added to POSIX.1-2008.  Before that, it was not part of "
+"the C or POSIX.1 standards, nor customary on UNIX systems, but was not a GNU "
+"invention either.  Perhaps it came from MS-DOS.  It is also present on the "
 "BSDs."
 msgstr ""
 "この関数は POSIX.1-2008 に追加された。 それ以前は、この関数は C や POSIX.1 標"
@@ -1510,12 +1603,12 @@ msgstr ""
 "系にも存在する。"
 
 #. type: Plain text
-#: build/C/man3/stpcpy.3:74
+#: build/C/man3/stpcpy.3:86
 msgid "This function may overrun the buffer I<dest>."
 msgstr "この関数はバッファ I<dest> の範囲を行き過ぎてしまう可能性がある。"
 
 #. type: Plain text
-#: build/C/man3/stpcpy.3:79
+#: build/C/man3/stpcpy.3:96
 msgid ""
 "For example, this program uses B<stpcpy>()  to concatenate B<foo> and B<bar> "
 "to produce B<foobar>, which it then prints."
@@ -1524,7 +1617,7 @@ msgstr ""
 "に B<stpcpy>()  を使用し、その後表示する。"
 
 #. type: Plain text
-#: build/C/man3/stpcpy.3:85
+#: build/C/man3/stpcpy.3:101
 #, no-wrap
 msgid ""
 "#define _GNU_SOURCE\n"
@@ -1536,7 +1629,7 @@ msgstr ""
 "#include E<lt>stdio.hE<gt>\n"
 
 #. type: Plain text
-#: build/C/man3/stpcpy.3:91
+#: build/C/man3/stpcpy.3:107
 #, no-wrap
 msgid ""
 "int\n"
@@ -1552,7 +1645,7 @@ msgstr ""
 "    char *to = buffer;\n"
 
 #. type: Plain text
-#: build/C/man3/stpcpy.3:96
+#: build/C/man3/stpcpy.3:112
 #, no-wrap
 msgid ""
 "    to = stpcpy(to, \"foo\");\n"
@@ -1566,7 +1659,7 @@ msgstr ""
 "}\n"
 
 #. type: Plain text
-#: build/C/man3/stpcpy.3:107
+#: build/C/man3/stpcpy.3:122
 msgid ""
 "B<bcopy>(3), B<memccpy>(3), B<memcpy>(3), B<memmove>(3), B<stpncpy>(3), "
 "B<strcpy>(3), B<string>(3), B<wcpcpy>(3)"
@@ -1575,45 +1668,47 @@ msgstr ""
 "B<strcpy>(3), B<string>(3), B<wcpcpy>(3)"
 
 #. type: TH
-#: build/C/man3/stpncpy.3:12
+#: build/C/man3/stpncpy.3:14
 #, no-wrap
 msgid "STPNCPY"
 msgstr "STPNCPY"
 
-#. type: TH
-#: build/C/man3/stpncpy.3:12 build/C/man3/strcat.3:30 build/C/man3/strlen.3:28
-#: build/C/man3/strnlen.3:11 build/C/man3/strsep.3:31 build/C/man3/strstr.3:31
-#: build/C/man3/strxfrm.3:28
-#, no-wrap
-msgid "2011-09-28"
-msgstr "2011-09-28"
-
 #. 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 "stpncpy - 固定長の文字列をコピーして、その最後へのポインターを返す"
 
 #. 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 "B<char *stpncpy(char *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/stpncpy.3:28
+#: build/C/man3/stpncpy.3:30
 msgid "B<stpncpy>():"
 msgstr "B<stpncpy>():"
 
 #. type: Plain text
-#: build/C/man3/stpncpy.3:54
+#: build/C/man3/stpncpy.3:74
+#, fuzzy
+#| 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), to the array pointed to by I<dest>.  Exactly I<n> characters "
+#| "are written at I<dest>.  If the length I<strlen(src)> is smaller than "
+#| "I<n>, the remaining characters in the array pointed to by I<dest> are "
+#| "filled with null bytes (\\(aq\\e0\\(aq), If the length I<strlen(src)> is "
+#| "greater or equal to I<n>, the string pointed to by I<dest> will not be "
+#| "null-terminated."
 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), "
 "to the array pointed to by I<dest>.  Exactly I<n> characters are written at "
 "I<dest>.  If the length I<strlen(src)> is smaller than I<n>, the remaining "
 "characters in the array pointed to by I<dest> are filled with null bytes "
-"(\\(aq\\e0\\(aq), If the length I<strlen(src)> is greater or equal to I<n>, "
-"the string pointed to by I<dest> will not be null-terminated."
+"(\\(aq\\e0\\(aq), If the length I<strlen(src)> is greater than or equal to "
+"I<n>, the string pointed to by I<dest> will not be null-terminated."
 msgstr ""
 "B<stpncpy>()  関数は I<src> が指している文字列から終端の NULL バイト (\\(aq"
 "\\e0\\(aq)  を含めて最大 I<n> バイトを I<dest> にコピーする。長さ I<strlen"
@@ -1622,12 +1717,12 @@ msgstr ""
 "I<dest> が指す文字列は NULL で終端されていない。"
 
 #. type: Plain text
-#: build/C/man3/stpncpy.3:56
+#: build/C/man3/stpncpy.3:76
 msgid "The strings may not overlap."
 msgstr "二つの文字列は重なってはならない。"
 
 #. type: Plain text
-#: build/C/man3/stpncpy.3:59
+#: build/C/man3/stpncpy.3:82
 msgid ""
 "The programmer must ensure that there is room for at least I<n> characters "
 "at I<dest>."
@@ -1636,51 +1731,65 @@ msgstr ""
 "ればならない。"
 
 #. type: Plain text
-#: build/C/man3/stpncpy.3:64
+#: build/C/man3/stpncpy.3:91
 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>."
+"if I<dest> is not null-terminated, I<dest>+I<n>."
 msgstr ""
 "B<stpncpy>()  は I<dest> の終端の NULL バイトを指すポインターを返すか、 "
-"I<dest> が NULL バイトで終端されていない場合には I<dest + n> を返す。"
+"I<dest> が NULL バイトで終端されていない場合には I<dest>+I<n> を返す。"
+
+#. type: Plain text
+#: build/C/man3/stpncpy.3:96
+#, fuzzy
+#| msgid "The B<strtok_r>()  function is thread-safe."
+msgid "The B<stpncpy>()  function is thread-safe."
+msgstr "B<strtok_r>() 関数はスレッドセーフである。"
 
 #. type: Plain text
-#: build/C/man3/stpncpy.3:66
+#: build/C/man3/stpncpy.3:99
 msgid ""
-"This function was added to POSIX.1-2008. Before that, it was a GNU extension."
+"This function was added to POSIX.1-2008.  Before that, it was a GNU "
+"extension."
 msgstr ""
 "この関数は POSIX.1-2008 に追加された。 それ以前は GNU による拡張であった。"
 
 #. type: Plain text
-#: build/C/man3/stpncpy.3:69
+#: build/C/man3/stpncpy.3:102
 msgid "B<strncpy>(3), B<wcpncpy>(3)"
 msgstr "B<strncpy>(3), B<wcpncpy>(3)"
 
 #. type: TH
-#: build/C/man3/strcasecmp.3:28
+#: build/C/man3/strcasecmp.3:30
 #, no-wrap
 msgid "STRCASECMP"
 msgstr "STRCASECMP"
 
+#. type: TH
+#: build/C/man3/strcasecmp.3:30 build/C/man3/strxfrm.3:30
+#, no-wrap
+msgid "2012-05-10"
+msgstr "2012-05-10"
+
 #. type: Plain text
-#: build/C/man3/strcasecmp.3:31
+#: build/C/man3/strcasecmp.3:33
 msgid "strcasecmp, strncasecmp - compare two strings ignoring case"
 msgstr "strcasecmp, strncasecmp - 二つの文字列を大文字小文字を区別せず比較する"
 
 #. type: Plain text
-#: build/C/man3/strcasecmp.3:36 build/C/man3/string.3:39
+#: build/C/man3/strcasecmp.3:38
 #, no-wrap
 msgid "B<int strcasecmp(const char *>I<s1>B<, const char *>I<s2>B<);>\n"
 msgstr "B<int strcasecmp(const char *>I<s1>B<, const char *>I<s2>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/strcasecmp.3:38 build/C/man3/string.3:41
+#: build/C/man3/strcasecmp.3:40
 #, no-wrap
 msgid "B<int strncasecmp(const char *>I<s1>B<, const char *>I<s2>B<, size_t >I<n>B<);>\n"
 msgstr "B<int strncasecmp(const char *>I<s1>B<, const char *>I<s2>B<, size_t >I<n>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/strcasecmp.3:47
+#: build/C/man3/strcasecmp.3:55
 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 "
@@ -1692,16 +1801,16 @@ msgstr ""
 "ぞれ 負の整数、0、正の整数を返す。"
 
 #. type: Plain text
-#: build/C/man3/strcasecmp.3:52
+#: build/C/man3/strcasecmp.3:63
 msgid ""
-"The B<strncasecmp>()  function is similar, except it only compares the first "
-"I<n> characters of I<s1>."
+"The B<strncasecmp>()  function is similar, except it compares the only first "
+"I<n> bytes of I<s1>."
 msgstr ""
-"B<strncasecmp>()  関数も同様であるが、 I<s1> の最初の I<n> 文字だけを比較する"
-"点だけが異なる。"
+"B<strncasecmp>() 関数も同様であるが、 I<s1> の最初の I<n> バイトだけを\n"
+"比較する点だけが異なる。"
 
 #. type: Plain text
-#: build/C/man3/strcasecmp.3:61
+#: build/C/man3/strcasecmp.3:76
 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 "
@@ -1713,12 +1822,12 @@ msgstr ""
 "0、正の整数を返す。"
 
 #. type: Plain text
-#: build/C/man3/strcasecmp.3:63
+#: build/C/man3/strcasecmp.3:78
 msgid "4.4BSD, POSIX.1-2001."
 msgstr "4.4BSD, POSIX.1-2001."
 
 #. type: Plain text
-#: build/C/man3/strcasecmp.3:72
+#: build/C/man3/strcasecmp.3:87
 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)"
@@ -1727,71 +1836,82 @@ msgstr ""
 "B<strncmp>(3), B<wcscasecmp>(3), B<wcsncasecmp>(3)"
 
 #. type: TH
-#: build/C/man3/strcat.3:30
+#: build/C/man3/strcat.3:32
 #, no-wrap
 msgid "STRCAT"
 msgstr "STRCAT"
 
+#. type: TH
+#: build/C/man3/strcat.3:32 build/C/man3/strchr.3:33 build/C/man3/strcmp.3:32
+#, fuzzy, no-wrap
+#| msgid "2002-01-20"
+msgid "2014-01-20"
+msgstr "2002-01-20"
+
 #. type: Plain text
-#: build/C/man3/strcat.3:33
+#: build/C/man3/strcat.3:35
 msgid "strcat, strncat - concatenate two strings"
 msgstr "strcat, strncat - 二つの文字列を連結する"
 
 #. type: Plain text
-#: build/C/man3/strcat.3:38 build/C/man3/string.3:51
+#: build/C/man3/strcat.3:40
 #, no-wrap
 msgid "B<char *strcat(char *>I<dest>B<, const char *>I<src>B<);>\n"
 msgstr "B<char *strcat(char *>I<dest>B<, const char *>I<src>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/strcat.3:40 build/C/man3/string.3:69
+#: build/C/man3/strcat.3:42
 #, no-wrap
 msgid "B<char *strncat(char *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>\n"
 msgstr "B<char *strncat(char *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/strcat.3:50
+#: build/C/man3/strcat.3:62
 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 ""
 "B<strcat>()  関数は、I<dest> 文字列の後に I<src> 文字列を付け加える。 その際"
 "に、I<dest> の最後にある終端の NULL バイト (\\(aq\\e0\\(aq)  は上書きされ、新"
 "たに生成された文字列の末尾に終端の NULL バイトが付与される。 二つの文字列 "
 "I<src> と I<dest> は重なってはならない。 また、文字列 I<dest> は、連結後の結"
-"果を格納するのに 十分な大きさでなければならない。"
+"果を格納するのに 十分な大きさでなければならない。 I<dest> が十分な大きさでな"
+"い場合、プログラムがどのような動作をするか分からない。 バッファオーバーランは"
+"セキュアなプログラムを攻撃する際に好んで使われる方法である。"
 
 #. type: Plain text
-#: build/C/man3/strcat.3:54
+#: build/C/man3/strcat.3:66
 msgid "The B<strncat>()  function is similar, except that"
 msgstr "B<strncat>()  も同様だが、以下の点が異なる。"
 
 #. 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:66 build/C/man3/strcat.3:72 build/C/man3/strsep.3:98
+#: build/C/man3/strsep.3:100 build/C/man3/strsep.3:102
+#: build/C/man3/strtok.3:188 build/C/man3/strtok.3:190
+#: build/C/man3/strtok.3:192 build/C/man3/strtok.3:194
 #, no-wrap
 msgid "*"
 msgstr "*"
 
 #. type: Plain text
-#: build/C/man3/strcat.3:56
-msgid "it will use at most I<n> characters from I<src>; and"
-msgstr "I<src> のうち最大 I<n> 文字が使用される。"
+#: build/C/man3/strcat.3:72
+msgid "it will use at most I<n> bytes from I<src>; and"
+msgstr "I<src> のうち最大 I<n> バイトが使用される。"
 
 #. type: Plain text
-#: build/C/man3/strcat.3:59
+#: build/C/man3/strcat.3:77
 msgid ""
-"I<src> does not need to be null-terminated if it contains I<n> or more "
-"characters."
+"I<src> does not need to be null-terminated if it contains I<n> or more bytes."
 msgstr ""
-"I<src> が I<n> 文字以上の場合、 I<src> は NULL 終端されている必要はない。"
+"I<src> が I<n> バイト以上の場合、 \n"
+"I<src> は NULL 終端されている必要はない。"
 
 #. type: Plain text
-#: build/C/man3/strcat.3:63
+#: build/C/man3/strcat.3:83
 msgid ""
 "As with B<strcat>(), the resulting string in I<dest> is always null-"
 "terminated."
@@ -1800,23 +1920,24 @@ msgstr ""
 "る。"
 
 #. type: Plain text
-#: build/C/man3/strcat.3:70
+#: build/C/man3/strcat.3:102
 msgid ""
-"If I<src> contains I<n> or more characters, B<strncat>()  writes I<n+1> "
-"characters to I<dest> (I<n> from I<src> plus the terminating null byte).  "
-"Therefore, the size of I<dest> must be at least I<strlen(dest)+n+1>."
+"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 "
+"size of I<dest> must be at least I<strlen(dest)+n+1>."
 msgstr ""
-"I<src> が I<n> 文字以上の場合、 B<strncat>()  は I<dest> に I<n+1> 文字を書き"
-"込む (I<src> からの I<n> 文字と終端の NULL バイトである)。 したがって、"
-"I<dest> の大きさは最低でも I<strlen(dest)+n+1> でなければならない。"
+"I<src> が I<n> バイト以上の場合、 B<strncat>() は I<dest> に I<n+1> \n"
+"バイトを書き込む (I<src> からの I<n> バイトと終端の NULL バイトである)。\n"
+"したがって、I<dest> の大きさは最低でも I<strlen(dest)+n+1> でなければ\n"
+"ならない。"
 
 #. type: Plain text
-#: build/C/man3/strcat.3:74
+#: build/C/man3/strcat.3:106
 msgid "A simple implementation of B<strncat>()  might be:"
 msgstr "B<strncat>()  の簡単な実装は以下のような感じであろう:"
 
 #. type: Plain text
-#: build/C/man3/strcat.3:82
+#: build/C/man3/strcat.3:114
 #, no-wrap
 msgid ""
 "char*\n"
@@ -1832,7 +1953,7 @@ msgstr ""
 "    size_t i;\n"
 
 #. type: Plain text
-#: build/C/man3/strcat.3:86
+#: build/C/man3/strcat.3:118
 #, no-wrap
 msgid ""
 "    for (i = 0 ; i E<lt> n && src[i] != \\(aq\\e0\\(aq ; i++)\n"
@@ -1844,7 +1965,7 @@ msgstr ""
 "    dest[dest_len + i] = \\(aq\\e0\\(aq;\n"
 
 #. type: Plain text
-#: build/C/man3/strcat.3:89 build/C/man3/strcpy.3:89
+#: build/C/man3/strcat.3:121 build/C/man3/strcpy.3:106
 #, no-wrap
 msgid ""
 "    return dest;\n"
@@ -1854,7 +1975,7 @@ msgstr ""
 "}\n"
 
 #. type: Plain text
-#: build/C/man3/strcat.3:97
+#: build/C/man3/strcat.3:130
 msgid ""
 "The B<strcat>()  and B<strncat>()  functions return a pointer to the "
 "resulting string I<dest>."
@@ -1863,15 +1984,63 @@ 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:137
+#, fuzzy
+#| msgid "The B<strtok_r>()  function is thread-safe."
+msgid "The B<strcat>()  and B<strncat>()  functions are thread-safe."
+msgstr "B<strtok_r>() 関数はスレッドセーフである。"
+
+#. type: Plain text
+#: build/C/man3/strcat.3:139 build/C/man3/strcmp.3:88
+#: build/C/man3/strcoll.3:71 build/C/man3/strcpy.3:125
+#: build/C/man3/strlen.3:57 build/C/man3/strpbrk.3:63 build/C/man3/strspn.3:83
+#: build/C/man3/strxfrm.3:78
 msgid "SVr4, 4.3BSD, C89, C99."
 msgstr "SVr4, 4.3BSD, C89, C99."
 
 #. type: Plain text
-#: build/C/man3/strcat.3:108
+#: build/C/man3/strcat.3:141 build/C/man3/strcpy.3:177
+msgid ""
+"Some systems (the BSDs, Solaris, and others) provide the following function:"
+msgstr ""
+"いくつかのシステム (BSD、Solaris など) では以下の関数が提供されている。"
+
+#. type: Plain text
+#: build/C/man3/strcat.3:143
+#, no-wrap
+msgid "    size_t strlcat(char *dest, const char *src, size_t size);\n"
+msgstr "    size_t strlcat(char *dest, const char *src, size_t size);\n"
+
+#.  https://lwn.net/Articles/506530/
+#. type: Plain text
+#: build/C/man3/strcat.3:176
+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 ""
+"この関数は、 NULL 終端された文字列 I<src> を文字列 I<dest> に追加する。 具体"
+"例には、 I<size> が I<strlen(dest)> より大きい場合には最大で I<size-strlen"
+"(dest)-1> バイトを I<src> からコピーし、 結果の末尾に終端の NULL バイトを追加"
+"する。 この関数では B<strcat>() のバッファオーバーランが発生するという問題が"
+"修正されているが、  I<size> が小さすぎた場合にはデータが失われる問題には、 依"
+"然として呼び出し側で対処する必要がある。 この関数は B<strlcat>() が作成しよう"
+"とした文字列の長さを返す。 返り値が I<size> 以上の場合、 データロスが発生して"
+"いる。 データロスが問題となる場合は、 呼び出し側で、 呼び出し前に引き数を"
+"チェックするか、 この関数の返り値を検査するかのいずれかをしなければならな"
+"い。 B<strlcat>() は glibc には存在せず、 POSIX による標準化もされていない"
+"が、 Linux では I<libbsd> ライブラリ経由で利用できる。"
+
+#. type: Plain text
+#: build/C/man3/strcat.3:185
 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)"
@@ -1880,43 +2049,36 @@ msgstr ""
 "B<strncpy>(3), B<wcscat>(3), B<wcsncat>(3)"
 
 #. type: TH
-#: build/C/man3/strchr.3:31
+#: build/C/man3/strchr.3:33
 #, no-wrap
 msgid "STRCHR"
 msgstr "STRCHR"
 
-#. type: TH
-#: build/C/man3/strchr.3:31
-#, fuzzy, no-wrap
-#| msgid "2012-04-16"
-msgid "2012-04-24"
-msgstr "2012-04-16"
-
 #. type: Plain text
-#: build/C/man3/strchr.3:34
+#: build/C/man3/strchr.3:36
 msgid "strchr, strrchr, strchrnul - locate character in string"
 msgstr "strchr, strrchr, strchrnul - 文字列中の文字の位置を特定する"
 
 #. type: Plain text
-#: build/C/man3/strchr.3:39 build/C/man3/string.3:53
+#: build/C/man3/strchr.3:41
 #, no-wrap
 msgid "B<char *strchr(const char *>I<s>B<, int >I<c>B<);>\n"
 msgstr "B<char *strchr(const char *>I<s>B<, int >I<c>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/strchr.3:41 build/C/man3/string.3:77
+#: build/C/man3/strchr.3:43
 #, no-wrap
 msgid "B<char *strrchr(const char *>I<s>B<, int >I<c>B<);>\n"
 msgstr "B<char *strrchr(const char *>I<s>B<, int >I<c>B<);>\n"
 
 #. 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 "B<char *strchrnul(const char *>I<s>B<, int >I<c>B<);>\n"
 
 #. 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>."
@@ -1925,7 +2087,7 @@ 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>."
@@ -1934,7 +2096,7 @@ 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 "
@@ -1945,7 +2107,7 @@ 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."
@@ -1954,22 +2116,20 @@ msgstr ""
 "バイト文字では動作しない。"
 
 #. type: Plain text
-#: build/C/man3/strchr.3:91
-#, fuzzy
-#| msgid ""
-#| "The B<strchr>()  and B<strrchr>()  functions return a pointer to the "
-#| "matched character or NULL if the character is not found."
+#: 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 "
 "is considered part of the string, so that if I<c> is specified as \\(aq"
 "\\e0\\(aq, these functions return a pointer to the terminator."
 msgstr ""
-"B<strchr>()  と B<strrchr>()  関数は一致した文字へのポインタを 返し、もし文字"
-"が見つからない場合は NULL を返す。"
+"B<strchr>() と B<strrchr>() 関数は一致した文字へのポインタを返し、もし\n"
+"文字が見つからない場合は NULL を返す。終端の NULL バイトは文字列の一部と\n"
+"みなされ、I<c> に \\(aq\\e0\\(aq が指定された場合には、これらの関数は\n"
+"終端の NULL バイトへのポインタを返す。"
 
 #. type: Plain text
-#: build/C/man3/strchr.3:99
+#: build/C/man3/strchr.3:104
 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 "
@@ -1979,12 +2139,20 @@ msgstr ""
 "は、I<s> の末尾のヌルバイトへの ポインタ (つまり I<s+strlen(s)>) を返す。"
 
 #. type: Plain text
-#: build/C/man3/strchr.3:102
+#: build/C/man3/strchr.3:107
 msgid "B<strchrnul>()  first appeared in glibc in version 2.1.1."
 msgstr "B<strchrnul>()  は glibc バージョン 2.1.1 で初めて登場した。"
 
 #. type: Plain text
-#: build/C/man3/strchr.3:109
+#: build/C/man3/strchr.3:115
+#, fuzzy
+#| msgid "The B<strerror_r>()  function is thread-safe."
+msgid ""
+"The B<strchr>(), B<strrchr>(), and B<strchrnul>()  functions are thread-safe."
+msgstr "B<strerror_r>() 関数はスレッドセーフである。"
+
+#. type: Plain text
+#: build/C/man3/strchr.3:122
 msgid ""
 "B<strchr>()  and B<strrchr>()  are in SVr4, 4.3BSD, C89, C99.  B<strchrnul>"
 "()  is a GNU extension."
@@ -1993,7 +2161,7 @@ msgstr ""
 "B<strchrnul>()  は GNU 拡張である。"
 
 #. type: Plain text
-#: build/C/man3/strchr.3:122
+#: build/C/man3/strchr.3:135
 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), "
@@ -2004,30 +2172,30 @@ msgstr ""
 "B<wcschr>(3), B<wcsrchr>(3)"
 
 #. type: TH
-#: build/C/man3/strcmp.3:30
+#: build/C/man3/strcmp.3:32
 #, no-wrap
 msgid "STRCMP"
 msgstr "STRCMP"
 
 #. type: Plain text
-#: build/C/man3/strcmp.3:33
+#: build/C/man3/strcmp.3:35
 msgid "strcmp, strncmp - compare two strings"
 msgstr "strcmp, strncmp - 二つの文字列を比べる"
 
 #. type: Plain text
-#: build/C/man3/strcmp.3:38 build/C/man3/string.3:55
+#: build/C/man3/strcmp.3:40
 #, no-wrap
 msgid "B<int strcmp(const char *>I<s1>B<, const char *>I<s2>B<);>\n"
 msgstr "B<int strcmp(const char *>I<s1>B<, const char *>I<s2>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/strcmp.3:40 build/C/man3/string.3:71
+#: build/C/man3/strcmp.3:42
 #, no-wrap
 msgid "B<int strncmp(const char *>I<s1>B<, const char *>I<s2>B<, size_t >I<n>B<);>\n"
 msgstr "B<int strncmp(const char *>I<s1>B<, const char *>I<s2>B<, size_t >I<n>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/strcmp.3:49
+#: build/C/man3/strcmp.3:56
 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 "
@@ -2038,16 +2206,16 @@ msgstr ""
 "2)等しい、3)大きい整数を返す。"
 
 #. type: Plain text
-#: build/C/man3/strcmp.3:54
+#: build/C/man3/strcmp.3:66
 msgid ""
-"The B<strncmp>()  function is similar, except it only compares the first (at "
-"most) I<n> characters of I<s1> and I<s2>."
+"The B<strncmp>()  function is similar, except it compares the only first (at "
+"most)  I<n> bytes of I<s1> and I<s2>."
 msgstr ""
-"B<strncmp>()  関数は、I<s1> と I<s2> の最初の I<n> 文字だけを比較することを除"
-"けば、strcmp()と同様である。"
+"B<strncmp>() 関数は、I<s1> と I<s2> の最初の I<n> バイトだけを比較する\n"
+"ã\81\93ã\81¨ã\82\92é\99¤ã\81\91ã\81°ã\80\81strcmp()ã\81¨å\90\8cæ§\98ã\81§ã\81\82ã\82\8bã\80\82"
 
 #. type: Plain text
-#: build/C/man3/strcmp.3:63
+#: build/C/man3/strcmp.3:79
 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 "
@@ -2059,7 +2227,14 @@ msgstr ""
 "対応している。"
 
 #. type: Plain text
-#: build/C/man3/strcmp.3:75
+#: build/C/man3/strcmp.3:86
+#, fuzzy
+#| msgid "The B<strtok_r>()  function is thread-safe."
+msgid "The B<strcmp>()  and B<strncmp>()  functions are thread-safe."
+msgstr "B<strtok_r>() 関数はスレッドセーフである。"
+
+#. type: Plain text
+#: build/C/man3/strcmp.3:98
 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)"
@@ -2068,24 +2243,24 @@ msgstr ""
 "B<strncasecmp>(3), B<strverscmp>(3), B<wcscmp>(3), B<wcsncmp>(3)"
 
 #. type: TH
-#: build/C/man3/strcoll.3:28
+#: build/C/man3/strcoll.3:30
 #, no-wrap
 msgid "STRCOLL"
 msgstr "STRCOLL"
 
 #. 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 "strcoll - 現在のロケールを使用して二つの文字列を比較する"
 
 #. type: Plain text
-#: build/C/man3/strcoll.3:36 build/C/man3/string.3:57
+#: build/C/man3/strcoll.3:38
 #, no-wrap
 msgid "B<int strcoll(const char *>I<s1>B<, const char *>I<s2>B<);>\n"
 msgstr "B<int strcoll(const char *>I<s1>B<, const char *>I<s2>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/strcoll.3:49
+#: build/C/man3/strcoll.3:58
 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 "
@@ -2099,7 +2274,7 @@ msgstr ""
 "リに応じて 解釈された文字列に基づいて行われる (B<setlocale>(3)  参照)。"
 
 #. type: Plain text
-#: build/C/man3/strcoll.3:56
+#: build/C/man3/strcoll.3:69
 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 "
@@ -2111,16 +2286,15 @@ msgstr ""
 "に応じて解釈されたものが使用される。"
 
 #. type: Plain text
-#: build/C/man3/strcoll.3:63
+#: build/C/man3/strcoll.3:80
 msgid ""
-"In the I<\"POSIX\"> or I<\"C\"> locales B<strcoll>()  is equivalent to "
-"B<strcmp>(3)."
+"In the I<POSIX> or I<C> locales B<strcoll>()  is equivalent to B<strcmp>(3)."
 msgstr ""
-"I<\"POSIX\"> および I<\"C\"> ロケールにおいては、 B<strcoll>()  は B<strcmp>"
-"(3)  と等価である。"
+"I<POSIX> および I<C> ロケールにおいては、 B<strcoll>()  は B<strcmp>(3)  と等"
+"価である。"
 
 #. type: Plain text
-#: build/C/man3/strcoll.3:71
+#: build/C/man3/strcoll.3:88
 msgid ""
 "B<bcmp>(3), B<memcmp>(3), B<setlocale>(3), B<strcasecmp>(3), B<strcmp>(3), "
 "B<string>(3), B<strxfrm>(3)"
@@ -2129,43 +2303,51 @@ msgstr ""
 "B<string>(3), B<strxfrm>(3)"
 
 #. type: TH
-#: build/C/man3/strcpy.3:33
+#: build/C/man3/strcpy.3:35
 #, no-wrap
 msgid "STRCPY"
 msgstr "STRCPY"
 
+#. type: TH
+#: build/C/man3/strcpy.3:35
+#, fuzzy, no-wrap
+#| msgid "2012-03-15"
+msgid "2014-03-04"
+msgstr "2012-03-15"
+
 #. type: Plain text
-#: build/C/man3/strcpy.3:36
+#: build/C/man3/strcpy.3:38
 msgid "strcpy, strncpy - copy a string"
 msgstr "strcpy, strncpy - 文字列をコピーする"
 
 #. type: Plain text
-#: build/C/man3/strcpy.3:41 build/C/man3/string.3:59
+#: build/C/man3/strcpy.3:43
 #, no-wrap
 msgid "B<char *strcpy(char *>I<dest>B<, const char *>I<src>B<);>\n"
 msgstr "B<char *strcpy(char *>I<dest>B<, const char *>I<src>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/strcpy.3:43 build/C/man3/string.3:73
+#: build/C/man3/strcpy.3:45
 #, no-wrap
 msgid "B<char *strncpy(char *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>\n"
 msgstr "B<char *strncpy(char *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/strcpy.3:52
+#: build/C/man3/strcpy.3:59
 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 ""
 "B<strcpy>()  関数は I<src> が指す文字列を末尾のヌルバイト (\\(aq\\e0\\(aq) も"
 "含めて I<dest> が指すバッファにコピーする。 二つの文字列は重なってはならな"
 "い。受け側の文字列 I<dest> は コピーを受け取るのに十分な大きさでなければなら"
-"ない。"
+"ない。 I<バッファオーバーランに気を付けること!> (「バグ」の節を参照)"
 
 #. type: Plain text
-#: build/C/man3/strcpy.3:61
+#: build/C/man3/strcpy.3:76
 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 "
@@ -2177,21 +2359,21 @@ msgstr ""
 "場合、 I<dest> に格納される文字列はヌルで終端されないことになる。"
 
 #. type: Plain text
-#: build/C/man3/strcpy.3:70
+#: build/C/man3/strcpy.3:87
 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 ""
-"I<src> の長さが I<n> よりも短い場合、 B<strncpy>()  は I<dest> の残りをヌルバ"
-"ã\82¤ã\83\88ã\81§å\9f\8bã\82\81る。"
+"I<src> の長さが I<n> よりも短い場合、 B<strncpy>() は I<dest> に追加のヌルバ"
+"ã\82¤ã\83\88ã\82\92æ\9b¸ã\81\8dè¾¼ã\81¿ã\80\81å\85¨é\83¨ã\81§ I<n> ã\83\90ã\82¤ã\83\88ã\81\8cæ\9b¸ã\81\8dè¾¼ã\81¾ã\82\8cã\82\8bã\82\88ã\81\86ã\81«ã\81\99る。"
 
 #. type: Plain text
-#: build/C/man3/strcpy.3:74
+#: build/C/man3/strcpy.3:91
 msgid "A simple implementation of B<strncpy>()  might be:"
 msgstr "B<strncpy>()  の簡単な実装は以下のような感じであろう:"
 
 #. type: Plain text
-#: build/C/man3/strcpy.3:81
+#: build/C/man3/strcpy.3:98
 #, no-wrap
 msgid ""
 "char *\n"
@@ -2205,7 +2387,7 @@ msgstr ""
 "    size_t i;\n"
 
 #. type: Plain text
-#: build/C/man3/strcpy.3:86
+#: build/C/man3/strcpy.3:103
 #, no-wrap
 msgid ""
 "    for (i = 0; i E<lt> n && src[i] != \\(aq\\e0\\(aq; i++)\n"
@@ -2219,7 +2401,7 @@ msgstr ""
 "        dest[i] = \\(aq\\e0\\(aq;\n"
 
 #. type: Plain text
-#: build/C/man3/strcpy.3:98
+#: build/C/man3/strcpy.3:116
 msgid ""
 "The B<strcpy>()  and B<strncpy>()  functions return a pointer to the "
 "destination string I<dest>."
@@ -2228,7 +2410,14 @@ msgstr ""
 "返す。"
 
 #. type: Plain text
-#: build/C/man3/strcpy.3:109
+#: build/C/man3/strcpy.3:123
+#, fuzzy
+#| msgid "The B<strtok_r>()  function is thread-safe."
+msgid "The B<strcpy>()  and B<strncpy>()  functions are thread-safe."
+msgstr "B<strtok_r>() 関数はスレッドセーフである。"
+
+#. type: Plain text
+#: build/C/man3/strcpy.3:138
 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 "
@@ -2240,30 +2429,106 @@ msgstr ""
 "を使うことができる。"
 
 #. type: Plain text
-#: build/C/man3/strcpy.3:116
+#: build/C/man3/strcpy.3:147
 msgid ""
-"If there is no terminating null byte in the first I<n> characters of I<src>, "
-"B<strncpy>()  produces an unterminated string in I<dest>.  Programmers often "
-"prevent this mistake by forcing termination as follows:"
+"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 ""
-"I<src> の最初の I<n> 文字に終端のヌルバイトがない場合、 B<strncpy>()  は "
-"I<dest> に終端されていない文字列を生成する。 プログラマは間違いを防止するため"
-"に、 以下のように強制的に終端を行うことがよくある。"
+"B<strncpy>() の正しい (かつ意図された) 用途は、 C 文字列の固定長バッファへの"
+"コピーを、 バッファがオーバーフローしないことと、 宛先バッファの未使用バイト"
+"が 0 で埋められることの両方を保証しつつ行うことである。 (宛先バッファを 0 で"
+"埋めるのは、 たいていの場合、 バッファを媒体に書き込んだり、別のプロセスにプ"
+"ロセス間通信を用いて送信したりした場合に情報洩れを防ぐためである)。"
 
 #. type: Plain text
-#: build/C/man3/strcpy.3:122
-#, no-wrap
+#: build/C/man3/strcpy.3:160
+#, fuzzy
+#| 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>.  You can force "
+#| "termination using something like the following:"
 msgid ""
-"strncpy(buf, str, n);\n"
-"if (n E<gt> 0)\n"
-"    buf[n - 1]= \\(aq\\e0\\(aq;\n"
+"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>.  If I<buf> has "
+"length I<buflen>, you can force termination using something like the "
+"following:"
+msgstr ""
+"I<src> の最初の I<n> バイトに終端のヌルバイトがない場合、 B<strncpy>()\n"
+"は I<dest> に終端されていない文字列を生成する。以下のようにして\n"
+"強制的に終端することができる。"
+
+#. type: Plain text
+#: build/C/man3/strcpy.3:166
+#, fuzzy, no-wrap
+#| msgid ""
+#| "strncpy(buf, str, n);\n"
+#| "if (n E<gt> 0)\n"
+#| "    buf[n - 1]= \\(aq\\e0\\(aq;\n"
+msgid ""
+"strncpy(buf, str, buflen - 1);\n"
+"if (buflen E<gt> 0)\n"
+"    buf[buflen - 1]= \\(aq\\e0\\(aq;\n"
 msgstr ""
 "strncpy(buf, str, n);\n"
 "if (n E<gt> 0)\n"
 "    buf[n - 1]= \\(aq\\e0\\(aq;\n"
 
 #. type: Plain text
-#: build/C/man3/strcpy.3:135
+#: build/C/man3/strcpy.3:175
+#, fuzzy
+#| msgid ""
+#| "(Of course, the above technique ignores the fact that information "
+#| "contained in I<src> is lost in the copying to I<dest>.)"
+msgid ""
+"(Of course, the above technique ignores the fact that, if I<src> contains "
+"more than I<buflen\\ -\\ 1> bytes, information is lost in the copying to "
+"I<dest>.)"
+msgstr ""
+"(もちろん、上記の方法では、 I<src> に入っている情報が I<dest> へのコピー時に"
+"失われるという事実は無視している。)"
+
+#. type: Plain text
+#: build/C/man3/strcpy.3:179
+#, no-wrap
+msgid "    size_t strlcpy(char *dest, const char *src, size_t size);\n"
+msgstr "    size_t strlcpy(char *dest, const char *src, size_t size);\n"
+
+#.  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:214
+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 ""
+"この関数は B<strncpy>() と同様だが、 最大でも I<size-1> バイトしか I<dest> に"
+"コピーをせず、 末尾への終端の NULL バイトの追加が必ず行われ、 宛先バッファ "
+"(の未使用部分) への NULL バイトの書き込みが行われない。 この関数では "
+"B<strcpy>() や B<strncpy>() の持つ問題のいくつかが修正されているが、 I<size> "
+"が小さすぎた場合にはデータが失われる問題には、 依然として呼び出し側で対処する"
+"必要がある。 この関数の返り値は I<src> の長さである。 これにより、 末尾の切り"
+"詰めが行われたかを簡単に検出することができる。 返り値が I<size> 以上の場合に"
+"は、 末尾の切り詰めが発生している。 データロスが問題となる場合は、 呼び出し側"
+"で、 呼び出し前に引き数をチェックするか、 この関数の返り値を検査するかのいず"
+"れかをしなければならない。 B<strlcpy>() は glibc  には存在せず、 POSIX による"
+"標準化もされていないが、 Linux では I<libbsd> ライブラリ経由で利用できる。"
+
+#. type: Plain text
+#: build/C/man3/strcpy.3:225
 msgid ""
 "If the destination string of a B<strcpy>()  is not large enough, then "
 "anything might happen.  Overflowing fixed-length string buffers is a "
@@ -2282,7 +2547,7 @@ msgstr ""
 "が可能になるような方法でプログラムが 変更されることもあるからだ。"
 
 #. type: Plain text
-#: build/C/man3/strcpy.3:146
+#: build/C/man3/strcpy.3:236
 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)"
@@ -2291,53 +2556,53 @@ msgstr ""
 "B<stpncpy>(3), B<strdup>(3), B<string>(3), B<wcscpy>(3), B<wcsncpy>(3)"
 
 #. type: TH
-#: build/C/man3/strdup.3:29
+#: build/C/man3/strdup.3:31
 #, no-wrap
 msgid "STRDUP"
 msgstr "STRDUP"
 
 #. type: TH
-#: build/C/man3/strdup.3:29
+#: build/C/man3/strdup.3:31
 #, no-wrap
-msgid "2011-10-01"
-msgstr "2011-10-01"
+msgid "2013-04-19"
+msgstr "2013-04-19"
 
 #. type: Plain text
-#: build/C/man3/strdup.3:32
+#: build/C/man3/strdup.3:34
 msgid "strdup, strndup, strdupa, strndupa - duplicate a string"
 msgstr "strdup, strndup, strdupa, strndupa - 文字列を複製する"
 
 #. type: Plain text
-#: build/C/man3/strdup.3:37 build/C/man3/string.3:63
+#: build/C/man3/strdup.3:39
 #, no-wrap
 msgid "B<char *strdup(const char *>I<s>B<);>\n"
 msgstr "B<char *strdup(const char *>I<s>B<);>\n"
 
 #. 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 "B<char *strndup(const char *>I<s>B<, size_t >I<n>B<);>\n"
 
 #. 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 "B<char *strdupa(const char *>I<s>B<);>\n"
 
 #. 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 "B<char *strndupa(const char *>I<s>B<, size_t >I<n>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/strdup.3:53
+#: build/C/man3/strdup.3:55
 msgid "B<strdup>():"
 msgstr "B<strdup>():"
 
 #. 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"
@@ -2346,27 +2611,27 @@ msgstr ""
 "\\ &&\\ _XOPEN_SOURCE_EXTENDED"
 
 #. 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 "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
 
 #. type: Plain text
-#: build/C/man3/strdup.3:61
+#: build/C/man3/strdup.3:63
 msgid "B<strndup>():"
 msgstr "B<strndup>():"
 
 #. type: Plain text
-#: build/C/man3/strdup.3:65
-msgid "POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700"
-msgstr "POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700"
+#: build/C/man3/strdup.3:67
+msgid "_POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700"
+msgstr "_POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700"
 
 #. type: Plain text
-#: build/C/man3/strdup.3:73
+#: build/C/man3/strdup.3:75
 msgid "B<strdupa>(), B<strndupa>(): _GNU_SOURCE"
 msgstr "B<strdupa>(), B<strndupa>(): _GNU_SOURCE"
 
 #. type: Plain text
-#: build/C/man3/strdup.3:85
+#: build/C/man3/strdup.3:88
 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 "
@@ -2377,56 +2642,59 @@ msgstr ""
 "(3)  で解放することができる。"
 
 #. type: Plain text
-#: build/C/man3/strdup.3:92
+#: build/C/man3/strdup.3:101
 msgid ""
-"The B<strndup>()  function is similar, but only copies at most I<n> "
-"characters.  If I<s> is longer than I<n>, only I<n> characters are copied, "
-"and a terminating null byte (\\(aq\\e0\\(aq) is added."
+"The B<strndup>()  function is similar, but copies at most I<n> bytes.  If "
+"I<s> is longer than I<n>, only I<n> bytes are copied, and a terminating null "
+"byte (\\(aq\\e0\\(aq) is added."
 msgstr ""
-"B<strndup>()  関数は同様であるが、最大で I<n> 文字だけを複製する。 I<s> が "
-"I<n> よりも長い場合、I<n> 文字だけが複製され、 終端の NULL バイト (\\(aq"
-"\\e0\\(aq)) が追加される。"
+"B<strndup>() 関数は同様であるが、最大で I<n> バイトを複製する。\n"
+"I<s> が I<n> よりも長い場合、I<n> バイトだけが複製され、\n"
+"終端の NULL バイト (\\(aq\\e0\\(aq)) が追加される。"
 
 #. type: Plain text
-#: build/C/man3/strdup.3:102
+#: build/C/man3/strdup.3:111
 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, "
+"allocate the buffer.  They are available only when using the GNU GCC suite, "
 "and suffer from the same limitations described in B<alloca>(3)."
 msgstr ""
-"B<strdupa>()  と B<strndupa>()  関数は同様であるが、 バッファを割り当てるの"
-"に B<alloca(3)> を用いる。 これらの関数は GNU GCC を用いた場合にのみ有効で、 "
-"B<alloca(3)> で記述されているのと同様の制限を受ける。"
+"B<strdupa>() と B<strndupa>() も同様だが、バッファの確保に\n"
+"B<alloca>(3) を使用する点が異なる。\n"
+"これらが使用できるのは GNU GCC ツール群を使う場合だけであり、\n"
+"B<alloca>(3) で説明されているのと同じ制限がある。"
 
 #. type: Plain text
-#: build/C/man3/strdup.3:107
+#: build/C/man3/strdup.3:119
 msgid ""
-"The B<strdup>()  function returns a pointer to the duplicated string, or "
-"NULL if insufficient memory was available."
+"On success, the B<strdup>()  function returns a pointer to the duplicated "
+"string.  It returns NULL if insufficient memory was available, with I<errno> "
+"set to indicate the cause of the error."
 msgstr ""
-"B<strdup>()  関数は複製された文字列へのポインタ、または 十分なメモリが確保で"
-"きなかった場合にはNULLを返す。"
+"成功すると、 B<strdup>() 関数は複製された文字列へのポインタを返す。 十分なメ"
+"モリが確保できなかった場合には、 NULL を返し、 I<errno> にエラーの原因を示す"
+"値を設定する。"
 
 #. type: SH
-#: build/C/man3/strdup.3:107 build/C/man3/strerror.3:164
+#: build/C/man3/strdup.3:119 build/C/man3/strerror.3:193
 #, no-wrap
 msgid "ERRORS"
 msgstr "エラー"
 
 #. type: TP
-#: build/C/man3/strdup.3:108
+#: build/C/man3/strdup.3:120
 #, no-wrap
 msgid "B<ENOMEM>"
 msgstr "B<ENOMEM>"
 
 #. type: Plain text
-#: build/C/man3/strdup.3:111
+#: build/C/man3/strdup.3:123
 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:133
 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."
@@ -2435,7 +2703,7 @@ msgstr ""
 "POSIX.1-2008 準拠である。 B<strdupa>(), B<strndupa>()  は GNU 拡張である。"
 
 #. type: Plain text
-#: build/C/man3/strdup.3:129
+#: build/C/man3/strdup.3:141
 msgid ""
 "B<alloca>(3), B<calloc>(3), B<free>(3), B<malloc>(3), B<realloc>(3), "
 "B<string>(3), B<wcsdup>(3)"
@@ -2444,31 +2712,27 @@ msgstr ""
 "B<string>(3), B<wcsdup>(3)"
 
 #. type: TH
-#: build/C/man3/strerror.3:37
+#: build/C/man3/strerror.3:39
 #, no-wrap
 msgid "STRERROR"
 msgstr "STRERROR"
 
-#. type: TH
-#: build/C/man3/strerror.3:37
-#, fuzzy, no-wrap
-#| msgid "2012-04-16"
-msgid "2012-04-22"
-msgstr "2012-04-16"
-
 #. type: Plain text
-#: build/C/man3/strerror.3:40
-msgid "strerror, strerror_r - return string describing error number"
+#: build/C/man3/strerror.3:42
+#, fuzzy
+#| msgid "strerror, strerror_r - return string describing error number"
+msgid ""
+"strerror, strerror_r, strerror_l - return string describing error number"
 msgstr "strerror, strerror_r - エラー番号を説明する文字列を返す。"
 
 #. 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 "B<char *strerror(int >I<errnum>B<);>\n"
 
 #. 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"
@@ -2478,7 +2742,7 @@ msgstr ""
 "            /* XSI-compliant */\n"
 
 #. 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 >I<buflen>B<);>\n"
@@ -2488,12 +2752,28 @@ msgstr ""
 "            /* GNU-specific */\n"
 
 #. type: Plain text
-#: build/C/man3/strerror.3:61
-msgid "The XSI-compliant version of B<strerror_r>()  is provided if:"
+#: build/C/man3/strerror.3:55
+#, fuzzy, no-wrap
+#| msgid "B<char *strerror(int >I<errnum>B<);>\n"
+msgid "B<char *strerror_l(int >I<errnum>B<, locale_t >I<locale>B<);>\n"
+msgstr "B<char *strerror(int >I<errnum>B<);>\n"
+
+#. type: Plain text
+#: build/C/man3/strerror.3:64
+#, fuzzy
+#| msgid "B<strtok_r>()"
+msgid "B<strerror_r>():"
+msgstr "B<strtok_r>()"
+
+#. type: Plain text
+#: build/C/man3/strerror.3:66
+#, fuzzy
+#| msgid "The XSI-compliant version of B<strerror_r>()  is provided if:"
+msgid "The XSI-compliant version is provided if:"
 msgstr "次の場合には XSI 準拠のバージョンの B<strerror_r>()  が提供される:"
 
 #. type: Plain text
-#: build/C/man3/strerror.3:63
+#: build/C/man3/strerror.3:68
 msgid ""
 "(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600) && !\\ "
 "_GNU_SOURCE"
@@ -2502,48 +2782,48 @@ msgstr ""
 "_GNU_SOURCE"
 
 #. type: Plain text
-#: build/C/man3/strerror.3:65
+#: build/C/man3/strerror.3:70
 msgid "Otherwise, the GNU-specific version is provided."
 msgstr "それ以外の場合、GNU バージョンが提供される。"
 
 #. type: Plain text
-#: build/C/man3/strerror.3:85
+#: build/C/man3/strerror.3:95
 #, fuzzy
 #| 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 "
 #| "B<LC_MESSAGES> part of the current locale to select the appropriate "
-#| "language.  This string must not be modified by the application, but may "
-#| "be modified by a subsequent call to B<perror>(3)  or B<strerror>().  No "
-#| "library function will modify this string."
+#| "language.  (For example, if I<errnum> is B<EINVAL>, the returned "
+#| "description will \"Invalid argument\".)  This string must not be modified "
+#| "by the application, but may be modified by a subsequent call to "
+#| "B<strerror>().  No library function, including B<perror>(3), will modify "
+#| "this string."
 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 "
 "B<LC_MESSAGES> part of the current locale to select the appropriate "
 "language.  (For example, if I<errnum> is B<EINVAL>, the returned description "
-"will \"Invalid argument\".)  This string must not be modified by the "
-"application, but may be modified by a subsequent call to B<strerror>().  No "
-"library function, including B<perror>(3), will modify this string."
+"will be \"Invalid argument\".)  This string must not be modified by the "
+"application, but may be modified by a subsequent call to B<strerror>()  or "
+"B<strerror_l>().  No other library function, including B<perror>(3), will "
+"modify this string."
+msgstr ""
+"B<strerror>() 関数は、引き数 I<errnum> で渡されたエラーコードについての\n"
+"説明が入った文字列へのポインタを返す。 可能であるならば、適切な言語を選\n"
+"択するために、 現在のロケールの B<LC_MESSAGES> を使う。(例えば、\n"
+"I<errnum> が B<EINVAL> の場合、説明として\"Invalid argument\" が返され\n"
+"る。) この文字列は、アプリケーションで変更してはならないが、 これ以降に\n"
+"行われる B<strerror>() の呼び出しで 変更されても構わない。この文字列を\n"
+"変更するライブラリ関数はない (B<perror>(3) も含まれる)。"
+
+#. type: SS
+#: build/C/man3/strerror.3:95
+#, no-wrap
+msgid "strerror_r()"
 msgstr ""
-"B<strerror>()  関数は、引き数 I<errnum> で渡されたエラーコードについての 説明"
-"が入った文字列へのポインタを返す。 可能であるならば、適切な言語を選択するため"
-"に、 現在のロケールの B<LC_MESSAGES> を使う。 この文字列は、アプリケーション"
-"で変更してはならないが、 その後に起こる B<perror>(3)  や B<strerror>()  の呼"
-"び出しで 変更されても構わない。 この文字列を変更するライブラリ関数はない。"
 
 #. type: Plain text
-#: build/C/man3/strerror.3:106
-#, fuzzy
-#| 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 specified in POSIX.1-2001 (available since glibc 2.3.4), and a "
-#| "GNU-specific version (available since glibc 2.0).  The XSI-compliant "
-#| "version is provided with the feature test macros settings shown in the "
-#| "SYNOPSIS; otherwise the GNU-specific version is provided.  If no feature "
-#| "test macros are explicitly defined, then (since glibc 2.4)  "
-#| "B<_POSIX_SOURCE> is defined by default with the value 200112L, so that "
-#| "the XSI-compliant version of B<strerror_r>()  is provided by default."
+#: build/C/man3/strerror.3:116
 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 "
@@ -2555,17 +2835,18 @@ msgid ""
 "glibc 2.4)  B<_POSIX_SOURCE> is defined by default with the value 200112L, "
 "so that the XSI-compliant version of B<strerror_r>()  is provided by default."
 msgstr ""
-"B<strerror_r>()  関数は B<strerror>()  と似ているが、 スレッドセーフである。 "
-"この関数には二種類のバージョンが存在し、 POSIX.1-2001 で規定された XSI 準拠の"
-"バージョン (glibc 2.3.4 以降で利用可能) と、 GNU 仕様のバージョン (glibc 2.0 "
-"以降で利用可能) である。 「書式」の節に記載された機能検査マクロの場合には、 "
-"XSI 準拠のバージョンが提供される。 それ以外の場合には GNU 仕様のバージョンが"
-"提供される。 機能検査マクロが一つも明示的に定義されない場合、 (glibc 2.4 以降"
-"では) デフォルトで B<_POSIX_SOURCE> は値 200112l で定義され、その結果 XSI 準"
-"拠のバージョンの B<strerror_r>()  がデフォルトで提供される。"
+"B<strerror_r>() 関数は B<strerror>() と似ているが、スレッドセーフである。\n"
+"この関数には二種類のバージョンが存在し、 POSIX.1-2001 で規定された XSI\n"
+"準拠のバージョン (glibc 2.3.4 以降で利用可能だが、glibc 2.13 までは\n"
+"POSIX 準拠ではない) と、 GNU 仕様のバージョン (glibc 2.0 以降で利用可能)\n"
+"である。 「書式」の節に記載された機能検査マクロの場合には、 XSI 準拠の\n"
+"バージョンが提供される。それ以外の場合には GNU 仕様のバージョンが提供さ\n"
+"れる。機能検査マクロが一つも明示的に定義されない場合、 (glibc 2.4 以降\n"
+"では) デフォルトで B<_POSIX_SOURCE> は値 200112l で定義され、その結果\n"
+"XSI 準拠のバージョンの B<strerror_r>() がデフォルトで提供される。"
 
 #. type: Plain text
-#: build/C/man3/strerror.3:114
+#: build/C/man3/strerror.3:124
 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 "
@@ -2576,16 +2857,7 @@ msgstr ""
 "ラー文字列を返す。"
 
 #. type: Plain text
-#: build/C/man3/strerror.3:134
-#, fuzzy
-#| 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 function stores in I<buf>, or a pointer to some (immutable) "
-#| "static string (in which case I<buf> is unused).  If the function stores a "
-#| "string in I<buf>, then at most I<buflen> bytes are stored (the string may "
-#| "be truncated if I<buflen> is too small) and the string always includes a "
-#| "terminating null byte."
+#: build/C/man3/strerror.3:145
 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 "
@@ -2593,98 +2865,146 @@ msgid ""
 "(in which case I<buf> is unused).  If the function stores a string in "
 "I<buf>, then at most I<buflen> bytes are stored (the string may be truncated "
 "if I<buflen> is too small and I<errnum> is unknown).  The string always "
-"includes a terminating null byte."
+"includes a terminating null byte (\\(aq\\e0\\(aq)."
 msgstr ""
-"GNU 仕様の B<strerror_r>()  は、エラーメッセージを格納した文字列へのポインタ"
-"を返す。 返り値は、この関数が I<buf> に格納した文字列へのポインタか、 何らか"
-"の (不変な) 静的な文字列へのポインタ、のいずれかとなる (後者の場合は I<buf> "
+"GNU 仕様の B<strerror_r>() は、 エラーメッセージを格納した文字列へのポインタ"
+"を返す。 返り値は、 この関数が I<buf> に格納した文字列へのポインタか、 何らか"
+"の (不変な) 静的な文字列へのポインタ、 のいずれかとなる (後者の場合は I<buf> "
 "は使用されない)。 I<buf> に文字列が格納される場合は、 最大で I<buflen> バイト"
-"が格納され (I<buflen> が小さ過ぎたときには文字列は切り詰められる)、 文字列に"
-"は必ず終端ヌル文字が含まれる。"
+"が格納される (I<buflen> が小さ過ぎたときには文字列は切り詰められ、 I<errnum> "
+"は不定である)。 文字列には必ず終端ヌル文字 (\\(aq\\e0\\(aq) が含まれる。"
 
-#. type: Plain text
-#: build/C/man3/strerror.3:142
-msgid ""
-"The B<strerror>()  and the GNU-specific B<strerror_r>()  functions return "
-"the appropriate error description string, or an \"Unknown error nnn\" "
-"message if the error number is unknown."
+#. type: SS
+#: build/C/man3/strerror.3:145
+#, no-wrap
+msgid "strerror_l()"
 msgstr ""
-"B<strerror>()  と B<strerror_r>()  はエラー内容を説明する 文字列を返す。エ"
-"ラー番号が未知の場合は \"Unknown error nnn\" という メッセージを返す。"
 
 #. type: Plain text
-#: build/C/man3/strerror.3:155
+#: build/C/man3/strerror.3:160
 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 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."
+"B<strerror_l>()  is like B<strerror>(), but maps I<errnum> to a locale-"
+"dependent error message in the locale specified by I<locale>.  The behavior "
+"of B<strerror_l>()  is undefined if I<locale> is the special locale object "
+"B<LC_GLOBAL_LOCALE> or is not a valid locale object handle."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/strerror.3:164
+#: build/C/man3/strerror.3:169
 #, fuzzy
 #| msgid ""
-#| "The XSI-compliant B<strerror_r>()  function returns 0 on success; on "
-#| "error, -1 is returned and I<errno> is set to indicate the error."
+#| "The B<strerror>()  and the GNU-specific B<strerror_r>()  functions return "
+#| "the appropriate error description string, or an \"Unknown error nnn\" "
+#| "message if the error number is unknown."
+msgid ""
+"The B<strerror>(), B<strerror_l>(), and the GNU-specific B<strerror_r>()  "
+"functions return the appropriate error description string, or an \"Unknown "
+"error nnn\" message if the error number is unknown."
+msgstr ""
+"B<strerror>()  と B<strerror_r>()  はエラー内容を説明する 文字列を返す。エ"
+"ラー番号が未知の場合は \"Unknown error nnn\" という メッセージを返す。"
+
+#. type: Plain text
+#: build/C/man3/strerror.3:178
 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 "
 "and I<errno> is set to indicate the error (glibc versions before 2.13)."
 msgstr ""
-"XSI 準拠の B<strerror_r>()  関数は成功すると 0 を返す。 エラーの場合には、 "
-"-1 を返し、 I<errno> にエラー内容を示す値をセットする。"
+"XSI 準拠の B<strerror_r>() 関数は成功すると 0 を返す。エラーの場合には、\n"
+"(glibc 2.13 以降では) (正の) エラー番号が返され、(バージョン 2.13 より前\n"
+"の glibc では) -1 が返され、 I<errno> にエラーを示す値がセットされる。"
+
+#. type: Plain text
+#: build/C/man3/strerror.3:193
+#, fuzzy
+#| msgid ""
+#| "POSIX.1-2001 and POSIX.1-2008 require that a successful call to "
+#| "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."
+msgid ""
+"POSIX.1-2001 and POSIX.1-2008 require that a successful call to B<strerror>"
+"()  or B<strerror_l>()  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 ""
+"POSIX.1-2001 と POSIX.1-2008 では、 B<strerror>() が成功した場合は\n"
+"I<errno> を変更せずに元のままにしなければならないとされている。関数のど\n"
+"の返り値もエラーを示すために予約されていないので、エラーをチェックした\n"
+"いアプリケーションは呼び出しを行う前に I<errno> を 0 に初期化し、呼び出\n"
+"しの後で I<errno> をチェックすべき点に注意すること。"
 
 #. type: TP
-#: build/C/man3/strerror.3:165
+#: build/C/man3/strerror.3:194
 #, no-wrap
 msgid "B<EINVAL>"
 msgstr "B<EINVAL>"
 
 #. type: Plain text
-#: build/C/man3/strerror.3:170
+#: build/C/man3/strerror.3:199
 msgid "The value of I<errnum> is not a valid error number."
 msgstr "I<errnum> の値が有効なエラー番号ではない。"
 
 #. type: TP
-#: build/C/man3/strerror.3:170
+#: build/C/man3/strerror.3:199
 #, no-wrap
 msgid "B<ERANGE>"
 msgstr "B<ERANGE>"
 
 #. type: Plain text
-#: build/C/man3/strerror.3:173
+#: build/C/man3/strerror.3:202
 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:207
+msgid "The B<strerror>()  function is not thread-safe."
+msgstr "B<strerror>() 関数はスレッドセーフではない。"
+
+#.  FIXME Need a thread-safety statement about strerror_l()
+#. type: Plain text
+#: build/C/man3/strerror.3:212
+msgid "The B<strerror_r>()  function is thread-safe."
+msgstr "B<strerror_r>() 関数はスレッドセーフである。"
+
+#. type: Plain text
+#: build/C/man3/strerror.3:216
+#, fuzzy
+#| msgid "The B<strerror_r>()  function is thread-safe."
+msgid "The B<strerror_l>()  function first appeared in glibc 2.6."
+msgstr "B<strerror_r>() 関数はスレッドセーフである。"
+
+#. type: Plain text
+#: build/C/man3/strerror.3:221
+#, fuzzy
+#| msgid ""
+#| "B<strerror>()  is specified by POSIX.1-2001, C89, C99.  B<strerror_r>()  "
+#| "is specified by POSIX.1-2001."
 msgid ""
-"B<strerror>()  is specified by POSIX.1-2001, C89, C99.  B<strerror_r>()  is "
-"specified by POSIX.1-2001."
+"B<strerror>()  is specified by POSIX.1-2001, POSIX.1-2008, C89, and C99.  "
+"B<strerror_r>()  is specified by POSIX.1-2001 and POSIX.1-2008."
 msgstr ""
 "B<strerror>()  は POSIX.1-2001, C89, C99 で規定されている。 B<strerror_r>()  "
 "は POSIX.1-2001 で規定されている。"
 
 #. type: Plain text
-#: build/C/man3/strerror.3:182
+#: build/C/man3/strerror.3:224
+msgid "B<strerror_l>()  is specified in POSIX.1-2008."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/strerror.3:228
 msgid "The GNU-specific B<strerror_r>()  function is a nonstandard extension."
 msgstr "GNU 仕様の B<strerror_r>()  関数は非標準の拡張である。"
 
 #.  e.g., Solaris 8, HP-UX 11
 #.  e.g., FreeBSD 5.4, Tru64 5.1B
 #. type: Plain text
-#: build/C/man3/strerror.3:202
-#, fuzzy
-#| 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 result in the event of an error.  On some systems, "
-#| "B<strerror>()  returns NULL if the error number is unknown.  On other "
-#| "systems, B<strerror>()  returns a string something like \"Error nnn "
-#| "occurred\" and sets I<errno> to B<EINVAL> if the error number is unknown."
+#: build/C/man3/strerror.3:248
 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 "
@@ -2694,37 +3014,42 @@ msgid ""
 "B<EINVAL> if the error number is unknown.  C99 and POSIX.1-2008 require the "
 "return value to be non-NULL."
 msgstr ""
-"POSIX.1-2001 は、 B<strerror>()  がエラーに遭遇した場合に I<errno> をセットす"
-"ることを認めているが、エラー発生時に関数の結果として どんな値を返すべきかを規"
-"定してない。 あるシステムでは、 エラー番号が未知の場合、 B<strerror>()  は "
-"NULL を返す。 他のシステムでは、 エラー番号が未知の場合、 B<strerror>()  は "
-"\"Error nnn occurred\" といった文字列を返し、 I<errno> に B<EINVAL> をセット"
-"する。"
+"POSIX.1-2001 は、 B<strerror>() がエラーに遭遇した場合に I<errno> をセッ\n"
+"トすることを認めているが、エラー発生時に関数の結果として どんな値を返す\n"
+"べきかを規定してない。 あるシステムでは、 エラー番号が未知の場合、\n"
+"B<strerror>() は NULL を返す。 他のシステムでは、 エラー番号が未知の場\n"
+"合、 B<strerror>() は \"Error nnn occurred\" といった文字列を返し、\n"
+"I<errno> に B<EINVAL> をセットする。 C99 と POSIX.1-2008 では、返り値が\n"
+"NULL 以外になることが求められている。"
 
 #. type: Plain text
-#: build/C/man3/strerror.3:208
-msgid "B<err>(3), B<errno>(3), B<error>(3), B<perror>(3), B<strsignal>(3)"
+#: build/C/man3/strerror.3:255
+#, fuzzy
+#| msgid "B<err>(3), B<errno>(3), B<error>(3), B<perror>(3), B<strsignal>(3)"
+msgid ""
+"B<err>(3), B<errno>(3), B<error>(3), B<perror>(3), B<strsignal>(3), B<locale>"
+"(7)"
 msgstr "B<err>(3), B<errno>(3), B<error>(3), B<perror>(3), B<strsignal>(3)"
 
 #. type: TH
-#: build/C/man3/strfry.3:28
+#: build/C/man3/strfry.3:30
 #, no-wrap
 msgid "STRFRY"
 msgstr "STRFRY"
 
 #. type: Plain text
-#: build/C/man3/strfry.3:31
+#: build/C/man3/strfry.3:33
 msgid "strfry - randomize a string"
 msgstr "strfry - 文字列をランダムに並べ変える"
 
 #. type: Plain text
-#: build/C/man3/strfry.3:38 build/C/man3/string.3:65
+#: build/C/man3/strfry.3:40
 #, no-wrap
 msgid "B<char *strfry(char *>I<string>B<);>\n"
 msgstr "B<char *strfry(char *>I<string>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/strfry.3:47
+#: build/C/man3/strfry.3:52
 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 "
@@ -2735,35 +3060,36 @@ msgstr ""
 "される。結果は、文字列 I<string> のアナグラムである。"
 
 #. type: Plain text
-#: build/C/man3/strfry.3:52
+#: build/C/man3/strfry.3:57
 msgid "The B<strfry>()  functions returns a pointer to the randomized string."
 msgstr ""
 "B<strfry>()  関数は、ランダムに並び換えられた文字列へのポインタを返す。"
 
 #. type: Plain text
-#: build/C/man3/strfry.3:57
+#: build/C/man3/strfry.3:62
 msgid "The B<strfry>()  function is unique to the GNU C Library."
 msgstr "B<strfry>()  関数は GNU C ライブラリに特有である。"
 
 #. type: Plain text
-#: build/C/man3/strfry.3:60
+#: build/C/man3/strfry.3:65
 msgid "B<memfrob>(3), B<string>(3)"
 msgstr "B<memfrob>(3), B<string>(3)"
 
 #. type: TH
-#: build/C/man3/string.3:28
+#: build/C/man3/string.3:30
 #, no-wrap
 msgid "STRING"
 msgstr "STRING"
 
 #. type: TH
-#: build/C/man3/string.3:28
-#, no-wrap
-msgid "2010-02-25"
-msgstr "2010-02-25"
+#: build/C/man3/string.3:30
+#, fuzzy, no-wrap
+#| msgid "2002-01-20"
+msgid "2014-01-04"
+msgstr "2002-01-20"
 
 #. 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, "
@@ -2776,55 +3102,395 @@ msgstr ""
 "作する関数"
 
 #. type: Plain text
-#: build/C/man3/string.3:61 build/C/man3/strspn.3:38
-#, no-wrap
-msgid "B<size_t strcspn(const char *>I<s>B<, const char *>I<reject>B<);>\n"
+#: build/C/man3/string.3:38
+#, fuzzy
+#| msgid "B<#include E<lt>strings.hE<gt>>\n"
+msgid "B<#include E<lt>strings.hE<gt>>"
+msgstr "B<#include E<lt>strings.hE<gt>>\n"
+
+#. type: TP
+#: build/C/man3/string.3:38
+#, fuzzy, no-wrap
+#| msgid "B<int strcasecmp(const char *>I<s1>B<, const char *>I<s2>B<);>\n"
+msgid "B<int strcasecmp(const char *>I<s1>B<, const char *>I<s2>B<);>"
+msgstr "B<int strcasecmp(const char *>I<s1>B<, const char *>I<s2>B<);>\n"
+
+#. type: Plain text
+#: build/C/man3/string.3:45
+msgid "Compare the strings I<s1> and I<s2> ignoring case."
+msgstr ""
+
+#. type: TP
+#: build/C/man3/string.3:45
+#, fuzzy, no-wrap
+#| msgid "B<int strncasecmp(const char *>I<s1>B<, const char *>I<s2>B<, size_t >I<n>B<);>\n"
+msgid "B<int strncasecmp(const char *>I<s1>B<, const char *>I<s2>B<, size_t >I<n>B<);>"
+msgstr "B<int strncasecmp(const char *>I<s1>B<, const char *>I<s2>B<, size_t >I<n>B<);>\n"
+
+#. type: Plain text
+#: build/C/man3/string.3:54
+msgid ""
+"Compare the first I<n> characters of the strings I<s1> and I<s2> ignoring "
+"case."
+msgstr ""
+
+#. type: TP
+#: build/C/man3/string.3:54
+#, fuzzy, no-wrap
+#| msgid "B<char *index(const char *>I<s>B<, int >I<c>B<);>\n"
+msgid "B<char *index(const char *>I<s>B<, int >I<c>B<);>"
+msgstr "B<char *index(const char *>I<s>B<, int >I<c>B<);>\n"
+
+#. type: Plain text
+#: build/C/man3/string.3:60 build/C/man3/string.3:90
+#, fuzzy
+#| msgid ""
+#| "The B<index>()  function returns a pointer to the first occurrence of the "
+#| "character I<c> in the string I<s>."
+msgid ""
+"Return a pointer to the first occurrence of the character I<c> in the string "
+"I<s>."
+msgstr ""
+"B<index>()  関数は、文字列 I<s> 中に最初に文字 I<c> が 現れた位置へのポインタ"
+"を返す。"
+
+#. type: TP
+#: build/C/man3/string.3:60
+#, fuzzy, no-wrap
+#| msgid "B<char *rindex(const char *>I<s>B<, int >I<c>B<);>\n"
+msgid "B<char *rindex(const char *>I<s>B<, int >I<c>B<);>"
+msgstr "B<char *rindex(const char *>I<s>B<, int >I<c>B<);>\n"
+
+#. type: Plain text
+#: build/C/man3/string.3:66 build/C/man3/string.3:171
+#, fuzzy
+#| msgid ""
+#| "The B<rindex>()  function returns a pointer to the last occurrence of the "
+#| "character I<c> in the string I<s>."
+msgid ""
+"Return a pointer to the last occurrence of the character I<c> in the string "
+"I<s>."
+msgstr ""
+"B<rindex>()  関数は、文字列 I<s> 中に最後に文字 I<c> が 現れた位置へのポイン"
+"タを返す。"
+
+#. type: TP
+#: build/C/man3/string.3:66
+#, fuzzy, no-wrap
+#| msgid "B<#include E<lt>string.hE<gt>>\n"
+msgid "B<#include E<lt>string.hE<gt>>"
+msgstr "B<#include E<lt>string.hE<gt>>\n"
+
+#. type: TP
+#: build/C/man3/string.3:68
+#, fuzzy, no-wrap
+#| msgid "B<char *stpcpy(char *>I<dest>B<, const char *>I<src>B<);>\n"
+msgid "B<char *stpcpy(char *>I<dest>B<, const char *>I<src>B<);>"
+msgstr "B<char *stpcpy(char *>I<dest>B<, const char *>I<src>B<);>\n"
+
+#. type: Plain text
+#: build/C/man3/string.3:76
+#, fuzzy
+#| msgid ""
+#| "The B<strcat>()  and B<strncat>()  functions return a pointer to the "
+#| "resulting string I<dest>."
+msgid ""
+"Copy a string from I<src> to I<dest>, returning a pointer to the end of the "
+"resulting string at I<dest>."
+msgstr ""
+"B<strcat>()  関数と B<strncat>()  関数は、結果としてできる文字列 I<dest> への"
+"ポインタを返す。"
+
+#. type: TP
+#: build/C/man3/string.3:76
+#, fuzzy, no-wrap
+#| msgid "B<char *strcat(char *>I<dest>B<, const char *>I<src>B<);>\n"
+msgid "B<char *strcat(char *>I<dest>B<, const char *>I<src>B<);>"
+msgstr "B<char *strcat(char *>I<dest>B<, const char *>I<src>B<);>\n"
+
+#. type: Plain text
+#: build/C/man3/string.3:84
+msgid ""
+"Append the string I<src> to the string I<dest>, returning a pointer I<dest>."
+msgstr ""
+
+#. type: TP
+#: build/C/man3/string.3:84
+#, fuzzy, no-wrap
+#| msgid "B<char *strchr(const char *>I<s>B<, int >I<c>B<);>\n"
+msgid "B<char *strchr(const char *>I<s>B<, int >I<c>B<);>"
+msgstr "B<char *strchr(const char *>I<s>B<, int >I<c>B<);>\n"
+
+#. type: TP
+#: build/C/man3/string.3:90
+#, fuzzy, no-wrap
+#| msgid "B<int strcmp(const char *>I<s1>B<, const char *>I<s2>B<);>\n"
+msgid "B<int strcmp(const char *>I<s1>B<, const char *>I<s2>B<);>"
+msgstr "B<int strcmp(const char *>I<s1>B<, const char *>I<s2>B<);>\n"
+
+#. type: Plain text
+#: build/C/man3/string.3:96
+msgid "Compare the strings I<s1> with I<s2>."
+msgstr ""
+
+#. type: TP
+#: build/C/man3/string.3:96
+#, fuzzy, no-wrap
+#| msgid "B<int strcoll(const char *>I<s1>B<, const char *>I<s2>B<);>\n"
+msgid "B<int strcoll(const char *>I<s1>B<, const char *>I<s2>B<);>"
+msgstr "B<int strcoll(const char *>I<s1>B<, const char *>I<s2>B<);>\n"
+
+#. type: Plain text
+#: build/C/man3/string.3:103
+#, fuzzy
+#| msgid "strcoll - compare two strings using the current locale"
+msgid "Compare the strings I<s1> with I<s2> using the current locale."
+msgstr "strcoll - 現在のロケールを使用して二つの文字列を比較する"
+
+#. type: TP
+#: build/C/man3/string.3:103
+#, fuzzy, no-wrap
+#| msgid "B<char *strcpy(char *>I<dest>B<, const char *>I<src>B<);>\n"
+msgid "B<char *strcpy(char *>I<dest>B<, const char *>I<src>B<);>"
+msgstr "B<char *strcpy(char *>I<dest>B<, const char *>I<src>B<);>\n"
+
+#. type: Plain text
+#: build/C/man3/string.3:111
+#, fuzzy
+#| msgid ""
+#| "The B<strcpy>()  and B<strncpy>()  functions return a pointer to the "
+#| "destination string I<dest>."
+msgid ""
+"Copy the string I<src> to I<dest>, returning a pointer to the start of "
+"I<dest>."
+msgstr ""
+"B<strcpy>()  関数と B<strncpy>()  関数は 受け側の文字列I<dest>へのポインタを"
+"返す。"
+
+#. type: TP
+#: build/C/man3/string.3:111
+#, fuzzy, no-wrap
+#| msgid "B<size_t strcspn(const char *>I<s>B<, const char *>I<reject>B<);>\n"
+msgid "B<size_t strcspn(const char *>I<s>B<, const char *>I<reject>B<);>"
 msgstr "B<size_t strcspn(const char *>I<s>B<, const char *>I<reject>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/string.3:67 build/C/man3/strlen.3:36
-#, no-wrap
-msgid "B<size_t strlen(const char *>I<s>B<);>\n"
+#: build/C/man3/string.3:117
+#, fuzzy
+#| msgid ""
+#| "The B<strcspn>()  function calculates the length of the initial segment "
+#| "of I<s> which consists entirely of bytes not in I<reject>."
+msgid ""
+"Calculate the length of the initial segment of the string I<s> which does "
+"not contain any of bytes in the string I<reject>,"
+msgstr ""
+"B<strcspn>() 関数は、 I<s> から、I<reject> に含まれない文字だけで\n"
+"構成される最初の部分文字列を探し、\n"
+"その部分の (バイト単位の) 長さを計算する。"
+
+#. type: TP
+#: build/C/man3/string.3:117
+#, fuzzy, no-wrap
+#| msgid "B<char *strdup(const char *>I<s>B<);>\n"
+msgid "B<char *strdup(const char *>I<s>B<);>"
+msgstr "B<char *strdup(const char *>I<s>B<);>\n"
+
+#. type: Plain text
+#: build/C/man3/string.3:123
+msgid ""
+"Return a duplicate of the string I<s> in memory allocated using B<malloc>(3)."
+msgstr ""
+
+#. type: TP
+#: build/C/man3/string.3:123
+#, fuzzy, no-wrap
+#| msgid "B<char *strfry(char *>I<string>B<);>\n"
+msgid "B<char *strfry(char *>I<string>B<);>"
+msgstr "B<char *strfry(char *>I<string>B<);>\n"
+
+#. type: Plain text
+#: build/C/man3/string.3:127
+#, fuzzy
+#| msgid "index, rindex - locate character in string"
+msgid "Randomly swap the characters in I<string>."
+msgstr "index, rindex - 文字列中の文字の位置を示す"
+
+#. type: TP
+#: build/C/man3/string.3:127
+#, fuzzy, no-wrap
+#| msgid "B<size_t strlen(const char *>I<s>B<);>\n"
+msgid "B<size_t strlen(const char *>I<s>B<);>"
 msgstr "B<size_t strlen(const char *>I<s>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/string.3:75 build/C/man3/strpbrk.3:36
-#, no-wrap
-msgid "B<char *strpbrk(const char *>I<s>B<, const char *>I<accept>B<);>\n"
+#: build/C/man3/string.3:131
+#, fuzzy
+#| msgid "strlen - calculate the length of a string"
+msgid "Return the length of the string I<s>."
+msgstr "strlen - 文字列の長さを計算する"
+
+#. type: TP
+#: build/C/man3/string.3:131
+#, fuzzy, no-wrap
+#| msgid "B<char *strncat(char *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>\n"
+msgid "B<char *strncat(char *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>"
+msgstr "B<char *strncat(char *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>\n"
+
+#. type: Plain text
+#: build/C/man3/string.3:141
+msgid ""
+"Append at most I<n> characters from the string I<src> to the string I<dest>, "
+"returning a pointer to I<dest>."
+msgstr ""
+
+#. type: TP
+#: build/C/man3/string.3:141
+#, fuzzy, no-wrap
+#| msgid "B<int strncmp(const char *>I<s1>B<, const char *>I<s2>B<, size_t >I<n>B<);>\n"
+msgid "B<int strncmp(const char *>I<s1>B<, const char *>I<s2>B<, size_t >I<n>B<);>"
+msgstr "B<int strncmp(const char *>I<s1>B<, const char *>I<s2>B<, size_t >I<n>B<);>\n"
+
+#. type: Plain text
+#: build/C/man3/string.3:149
+#, fuzzy
+#| msgid "it will use at most I<n> bytes from I<src>; and"
+msgid "Compare at most I<n> bytes of the strings I<s1> and I<s2>."
+msgstr "I<src> のうち最大 I<n> バイトが使用される。"
+
+#. type: TP
+#: build/C/man3/string.3:149
+#, fuzzy, no-wrap
+#| msgid "B<char *strncpy(char *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>\n"
+msgid "B<char *strncpy(char *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>"
+msgstr "B<char *strncpy(char *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>\n"
+
+#. type: Plain text
+#: build/C/man3/string.3:159
+msgid ""
+"Copy at most I<n> bytes from string I<src> to I<dest>, returning a pointer "
+"to the start of I<dest>."
+msgstr ""
+
+#. type: TP
+#: build/C/man3/string.3:159
+#, fuzzy, no-wrap
+#| msgid "B<char *strpbrk(const char *>I<s>B<, const char *>I<accept>B<);>\n"
+msgid "B<char *strpbrk(const char *>I<s>B<, const char *>I<accept>B<);>"
 msgstr "B<char *strpbrk(const char *>I<s>B<, const char *>I<accept>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/string.3:79 build/C/man3/strsep.3:39
-#, no-wrap
-msgid "B<char *strsep(char **>I<stringp>B<, const char *>I<delim>B<);>\n"
+#: build/C/man3/string.3:165
+#, fuzzy
+#| msgid ""
+#| "The B<strpbrk>()  function locates the first occurrence in the string "
+#| "I<s> of any of the bytes in the string I<accept>."
+msgid ""
+"Return a pointer to the first occurrence in the string I<s> of one of the "
+"bytes in the string I<accept>."
+msgstr ""
+"B<strpbrk>() 関数は、文字列 I<accept> に含まれるバイトのいずれかが、\n"
+"文字列 I<s> 内で最初に現れる位置を特定する。"
+
+#. type: TP
+#: build/C/man3/string.3:165
+#, fuzzy, no-wrap
+#| msgid "B<char *strrchr(const char *>I<s>B<, int >I<c>B<);>\n"
+msgid "B<char *strrchr(const char *>I<s>B<, int >I<c>B<);>"
+msgstr "B<char *strrchr(const char *>I<s>B<, int >I<c>B<);>\n"
+
+#. type: TP
+#: build/C/man3/string.3:171
+#, fuzzy, no-wrap
+#| msgid "B<char *strsep(char **>I<stringp>B<, const char *>I<delim>B<);>\n"
+msgid "B<char *strsep(char **>I<stringp>B<, const char *>I<delim>B<);>"
 msgstr "B<char *strsep(char **>I<stringp>B<, const char *>I<delim>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/string.3:81 build/C/man3/strspn.3:36
-#, no-wrap
-msgid "B<size_t strspn(const char *>I<s>B<, const char *>I<accept>B<);>\n"
+#: build/C/man3/string.3:177
+msgid ""
+"Extract the initial token in I<stringp> that is delimited by one of the "
+"bytes in I<delim>."
+msgstr ""
+
+#. type: TP
+#: build/C/man3/string.3:177
+#, fuzzy, no-wrap
+#| msgid "B<size_t strspn(const char *>I<s>B<, const char *>I<accept>B<);>\n"
+msgid "B<size_t strspn(const char *>I<s>B<, const char *>I<accept>B<);>"
 msgstr "B<size_t strspn(const char *>I<s>B<, const char *>I<accept>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/string.3:83 build/C/man3/strstr.3:39
-#, no-wrap
-msgid "B<char *strstr(const char *>I<haystack>B<, const char *>I<needle>B<);>\n"
+#: build/C/man3/string.3:183
+#, fuzzy
+#| 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>."
+msgid ""
+"Calculate the length of the starting segment in the string I<s> that "
+"consists entirely of bytes in I<accept>."
+msgstr ""
+"B<strspn>() 関数は、 I<s> から、I<accept> に含まれる文字だけで\n"
+"構成される最初の部分文字列を探し、\n"
+"その部分の (バイト単位の) 長さを計算する。"
+
+#. type: TP
+#: build/C/man3/string.3:183
+#, fuzzy, no-wrap
+#| msgid "B<char *strstr(const char *>I<haystack>B<, const char *>I<needle>B<);>\n"
+msgid "B<char *strstr(const char *>I<haystack>B<, const char *>I<needle>B<);>"
 msgstr "B<char *strstr(const char *>I<haystack>B<, const char *>I<needle>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/string.3:85
-#, no-wrap
-msgid "B<char *strtok(char *>I<s>B<, const char *>I<delim>B<);>\n"
+#: build/C/man3/string.3:190
+#, fuzzy
+#| msgid ""
+#| "The B<strstr>()  function finds the first occurrence of the substring "
+#| "I<needle> in the string I<haystack>.  The terminating null bytes (\\(aq"
+#| "\\e0\\(aq) are not compared."
+msgid ""
+"Find the first occurrence of the substring I<needle> in the string "
+"I<haystack>, returning a pointer to the found substring."
+msgstr ""
+"B<strstr>()  関数は、部分文字列 I<needle> が文字列 I<haystack> 中 で最初に現"
+"れる位置を見つける。 文字列を終端 NULL バイト (\\(aq\\e0\\(aq) は比較されな"
+"い。"
+
+#. type: TP
+#: build/C/man3/string.3:190
+#, fuzzy, no-wrap
+#| msgid "B<char *strtok(char *>I<s>B<, const char *>I<delim>B<);>\n"
+msgid "B<char *strtok(char *>I<s>B<, const char *>I<delim>B<);>"
 msgstr "B<char *strtok(char *>I<s>B<, const char *>I<delim>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/string.3:87 build/C/man3/strxfrm.3:36
-#, no-wrap
-msgid "B<size_t strxfrm(char *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>\n"
+#: build/C/man3/string.3:196
+msgid ""
+"Extract tokens from the string I<s> that are delimited by one of the bytes "
+"in I<delim>."
+msgstr ""
+
+#. type: TP
+#: build/C/man3/string.3:196
+#, fuzzy, no-wrap
+#| msgid "B<size_t strxfrm(char *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>\n"
+msgid "B<size_t strxfrm(char *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>"
 msgstr "B<size_t strxfrm(char *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/string.3:92
+#: build/C/man3/string.3:204
+#, fuzzy
+#| msgid ""
+#| "The programmer must ensure that there is room for at least I<n> "
+#| "characters at I<dest>."
+msgid ""
+"Transforms I<src> to the current locale and copies the first I<n> characters "
+"to I<dest>."
+msgstr ""
+"プログラマーは I<dest> に少なくとも I<n> バイトの空きがあることを 保証しなけ"
+"ればならない。"
+
+#. type: Plain text
+#: build/C/man3/string.3:208
 msgid ""
 "The string functions perform string operations on null-terminated strings.  "
 "See the individual man pages for descriptions of each function."
@@ -2833,7 +3499,7 @@ msgstr ""
 "の関数の説明については個々のmanページを見よ。"
 
 #. type: Plain text
-#: build/C/man3/string.3:117
+#: build/C/man3/string.3:233
 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), "
@@ -2848,18 +3514,32 @@ msgstr ""
 "B<strspn>(3), B<strstr>(3), B<strtok>(3), B<strxfrm>(3)"
 
 #. type: TH
-#: build/C/man3/strlen.3:28
+#: build/C/man3/strlen.3:30
 #, no-wrap
 msgid "STRLEN"
 msgstr "STRLEN"
 
+#. type: TH
+#: build/C/man3/strlen.3:30 build/C/man3/strnlen.3:13
+#: build/C/man3/strpbrk.3:30 build/C/man3/strsep.3:33
+#, fuzzy, no-wrap
+#| msgid "2010-02-25"
+msgid "2014-02-25"
+msgstr "2010-02-25"
+
 #. type: Plain text
-#: build/C/man3/strlen.3:31
+#: build/C/man3/strlen.3:33
 msgid "strlen - calculate the length of a string"
 msgstr "strlen - 文字列の長さを計算する"
 
 #. type: Plain text
-#: build/C/man3/strlen.3:42
+#: build/C/man3/strlen.3:38
+#, no-wrap
+msgid "B<size_t strlen(const char *>I<s>B<);>\n"
+msgstr "B<size_t strlen(const char *>I<s>B<);>\n"
+
+#. type: Plain text
+#: build/C/man3/strlen.3:45
 msgid ""
 "The B<strlen>()  function calculates the length of the string I<s>, "
 "excluding the terminating null byte (\\(aq\\e0\\(aq)."
@@ -2868,104 +3548,131 @@ msgstr ""
 "(\\(aq\\e0\\(aq) は計算に含まれない。"
 
 #. type: Plain text
-#: build/C/man3/strlen.3:46
-msgid "The B<strlen>()  function returns the number of characters in I<s>."
-msgstr "B<strlen>()  関数は I<s> の中の文字数を返す。"
+#: build/C/man3/strlen.3:50
+msgid ""
+"The B<strlen>()  function returns the number of bytes in the string I<s>."
+msgstr "B<strlen>() 関数は文字列 I<s> のバイト数を返す。"
+
+#. type: Plain text
+#: build/C/man3/strlen.3:55
+#, fuzzy
+#| msgid "The B<strerror_r>()  function is thread-safe."
+msgid "The B<strlen>()  function is thread-safe."
+msgstr "B<strerror_r>() 関数はスレッドセーフである。"
 
 #. type: Plain text
-#: build/C/man3/strlen.3:53
+#: build/C/man3/strlen.3:62
 msgid "B<string>(3), B<strnlen>(3), B<wcslen>(3), B<wcsnlen>(3)"
 msgstr "B<string>(3), B<strnlen>(3), B<wcslen>(3), B<wcsnlen>(3)"
 
 #. type: TH
-#: build/C/man3/strnlen.3:11
+#: build/C/man3/strnlen.3:13
 #, no-wrap
 msgid "STRNLEN"
 msgstr "STRNLEN"
 
 #. 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 "strnlen - 固定長の文字列の長さを調べる"
 
 #. 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 "B<size_t strnlen(const char *>I<s>B<, size_t >I<maxlen>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/strnlen.3:27
+#: build/C/man3/strnlen.3:29
 msgid "B<strnlen>():"
 msgstr "B<strnlen>():"
 
 #. type: Plain text
-#: build/C/man3/strnlen.3:49
+#: build/C/man3/strnlen.3:58
 msgid ""
-"The B<strnlen>()  function returns the number of characters in the string "
-"pointed to by I<s>, excluding the terminating null bye (\\(aq\\e0\\(aq), but "
-"at most I<maxlen>.  In doing this, B<strnlen>()  looks only at the first "
-"I<maxlen> characters at I<s> and never beyond I<s+maxlen>."
+"The B<strnlen>()  function returns the number of bytes in the string pointed "
+"to by I<s>, excluding the terminating null byte (\\(aq\\e0\\(aq), but at "
+"most I<maxlen>.  In doing this, B<strnlen>()  looks only at the first "
+"I<maxlen> bytes at I<s> and never beyond I<s+maxlen>."
 msgstr ""
-"B<strnlen>()  関数は I<s> が指す文字列の長さをバイト数で返す。 長さには終端"
-"の NULL バイト (\\(aq\\e0\\(aq) は含まない。 また長さは最大で I<maxlen> まで"
-"であり、 B<strnlen>()  は I<s> の最初の I<maxlen> バイトのみを検査し I<s"
-"+maxlen> より先を検査することはない。"
+"B<strnlen>() 関数は I<s> が指す文字列の長さをバイト数で返す。 長さには\n"
+"終端の NULL バイト (\\(aq\\e0\\(aq) は含まない。 また長さは最大で\n"
+"I<maxlen> までであり、 B<strnlen>() は I<s> の最初の I<maxlen> バイト\n"
+"のみを検査し I<s+maxlen> より先を検査することはない。"
 
 #. type: Plain text
-#: build/C/man3/strnlen.3:56
+#: build/C/man3/strnlen.3:71
 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 "
-"first I<maxlen> characters pointed to by I<s>."
+"first I<maxlen> bytes pointed to by I<s>."
 msgstr ""
-"B<strnlen>()  関数は I<maxlen> 以下ならば I<strlen(s)> と同じ 値を返す。I<s> "
-"の指す文字列が最大 I<maxlen> バイトまでに NULL バイト (\\(aq\\e0\\(aq) 文字を"
-"含まない場合には I<maxlen> を返す。"
+"B<strnlen>() 関数は I<maxlen> 以下ならば I<strlen(s)> と同じ値を返す。\n"
+"I<s> の指す文字列が最大 I<maxlen> バイトまでに NULL バイト\n"
+"(\\(aq\\e0\\(aq) 文字を含まない場合には I<maxlen> を返す。"
 
 #. type: Plain text
-#: build/C/man3/strnlen.3:58
+#: build/C/man3/strnlen.3:76
+#, fuzzy
+#| msgid "The B<strerror_r>()  function is thread-safe."
+msgid "The B<strnlen>()  function is thread-safe."
+msgstr "B<strerror_r>() 関数はスレッドセーフである。"
+
+#. type: Plain text
+#: build/C/man3/strnlen.3:78
 msgid "POSIX.1-2008."
 msgstr "POSIX.1-2008."
 
 #. type: Plain text
-#: build/C/man3/strnlen.3:60
+#: build/C/man3/strnlen.3:80
 msgid "B<strlen>(3)"
 msgstr "B<strlen>(3)"
 
 #. type: TH
-#: build/C/man3/strpbrk.3:28
+#: build/C/man3/strpbrk.3:30
 #, no-wrap
 msgid "STRPBRK"
 msgstr "STRPBRK"
 
 #. type: Plain text
-#: build/C/man3/strpbrk.3:31
-msgid "strpbrk - search a string for any of a set of characters"
-msgstr "strpbrk - 文字セット中の文字を文字列から検出する"
+#: build/C/man3/strpbrk.3:33
+msgid "strpbrk - search a string for any of a set of bytes"
+msgstr "strpbrk - 文字列からバイト集合に含まれるバイトを探す"
+
+#. type: Plain text
+#: build/C/man3/strpbrk.3:38
+#, no-wrap
+msgid "B<char *strpbrk(const char *>I<s>B<, const char *>I<accept>B<);>\n"
+msgstr "B<char *strpbrk(const char *>I<s>B<, const char *>I<accept>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/strpbrk.3:42
+#: build/C/man3/strpbrk.3:47
 msgid ""
 "The B<strpbrk>()  function locates the first occurrence in the string I<s> "
-"of any of the characters in the string I<accept>."
+"of any of the bytes in the string I<accept>."
 msgstr ""
-"B<strpbrk>()  関数は文字列 I<accept> に含まれる文字が文字列 I<s> に おいて最"
-"初に現れる位置を捜し出す。"
+"B<strpbrk>() 関数は、文字列 I<accept> に含まれるバイトのいずれかが、\n"
+"文字列 I<s> 内で最初に現れる位置を特定する。"
 
 #. type: Plain text
-#: build/C/man3/strpbrk.3:48
+#: build/C/man3/strpbrk.3:56
 msgid ""
-"The B<strpbrk>()  function returns a pointer to the character in I<s> that "
-"matches one of the characters in I<accept>, or NULL if no such character is "
-"found."
+"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 ""
-"B<strpbrk>()  関数は、 I<s> に含まれる文字のうち、 I<accept> に含まれる文字の"
-"ã\81©ã\82\8cã\81\8bã\81«ä¸\80è\87´ã\81\97ã\81\9fã\82\82ã\81®ã\81¸ã\81® ã\83\9dã\82¤ã\83³ã\82¿ã\82\92è¿\94ã\81\99ã\80\82 ã\81\9dã\81®ã\82\88ã\81\86ã\81ªæ\96\87å­\97ã\81\8cè¦\8bã\81¤ã\81\8bã\82\89ã\81ªã\81\8bã\81£ã\81\9få ´"
-"合は NULL を返す。"
+"B<strpbrk>() 関数は、I<s> 内のバイトで、I<accept> に含まれる\n"
+"ã\83\90ã\82¤ã\83\88ã\81®ã\81\84ã\81\9aã\82\8cã\81\8bã\81«ä¸\80è\87´ã\81\97ã\81\9fã\83\90ã\82¤ã\83\88ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\82\92è¿\94ã\81\99ã\80\82\n"
+"I<accept> に含まれるバイトが見つからなかった場合は NULL を返す。"
 
 #. type: Plain text
 #: build/C/man3/strpbrk.3:61
+#, fuzzy
+#| msgid "The B<strtok_r>()  function is thread-safe."
+msgid "The B<strpbrk>()  function is thread-safe."
+msgstr "B<strtok_r>() 関数はスレッドセーフである。"
+
+#. type: Plain text
+#: build/C/man3/strpbrk.3:74
 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)"
@@ -2974,29 +3681,44 @@ msgstr ""
 "B<strsep>(3), B<strspn>(3), B<strstr>(3), B<strtok>(3), B<wcspbrk>(3)"
 
 #. type: TH
-#: build/C/man3/strsep.3:31
+#: build/C/man3/strsep.3:33
 #, no-wrap
 msgid "STRSEP"
 msgstr "STRSEP"
 
 #. type: Plain text
-#: build/C/man3/strsep.3:34
+#: build/C/man3/strsep.3:36
 msgid "strsep - extract token from string"
 msgstr "strsep - 文字列からトークンを取り出す"
 
 #. type: Plain text
-#: build/C/man3/strsep.3:48
+#: build/C/man3/strsep.3:41
+#, no-wrap
+msgid "B<char *strsep(char **>I<stringp>B<, const char *>I<delim>B<);>\n"
+msgstr "B<char *strsep(char **>I<stringp>B<, const char *>I<delim>B<);>\n"
+
+#. type: Plain text
+#: build/C/man3/strsep.3:50
 msgid "B<strsep>(): _BSD_SOURCE"
 msgstr "B<strsep>(): _BSD_SOURCE"
 
 #. type: Plain text
-#: build/C/man3/strsep.3:61
+#: build/C/man3/strsep.3:73
+#, fuzzy
+#| 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 I<*stringp>, where tokens are delimited by symbols in the string "
+#| "I<delim>.  This token is terminated by overwriting the delimiter with a "
+#| "null byte (\\(aq\\e0\\(aq)  and I<*stringp> is updated to point past the "
+#| "token.  In case no delimiter was found, the token is taken to be the "
+#| "entire string I<*stringp>, and I<*stringp> is made NULL."
 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 "
-"I<*stringp>, where tokens are delimited by symbols in the string I<delim>.  "
+"I<*stringp>, that is delimited by one of the bytes in the string I<delim>.  "
 "This token is terminated by overwriting the delimiter with a null byte (\\(aq"
-"\\e0\\(aq)  and I<*stringp> is updated to point past the token.  In case no "
+"\\e0\\(aq), and I<*stringp> is updated to point past the token.  In case no "
 "delimiter was found, the token is taken to be the entire string I<*stringp>, "
 "and I<*stringp> is made NULL."
 msgstr ""
@@ -3008,7 +3730,7 @@ msgstr ""
 "トークンとして 扱われ、I<*stringp> は NULL となる。"
 
 #. type: Plain text
-#: build/C/man3/strsep.3:66
+#: build/C/man3/strsep.3:79
 msgid ""
 "The B<strsep>()  function returns a pointer to the token, that is, it "
 "returns the original value of I<*stringp>."
@@ -3017,12 +3739,19 @@ msgstr ""
 "値を返す。"
 
 #. type: Plain text
-#: build/C/man3/strsep.3:68
+#: build/C/man3/strsep.3:84
+#, fuzzy
+#| msgid "The B<strerror_r>()  function is thread-safe."
+msgid "The B<strsep>()  function is thread-safe."
+msgstr "B<strerror_r>() 関数はスレッドセーフである。"
+
+#. type: Plain text
+#: build/C/man3/strsep.3:86
 msgid "4.4BSD."
 msgstr "4.4BSD."
 
 #. type: Plain text
-#: build/C/man3/strsep.3:77
+#: build/C/man3/strsep.3:95
 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)  "
@@ -3033,28 +3762,28 @@ msgstr ""
 "しており、より移植性がある。"
 
 #. type: Plain text
-#: build/C/man3/strsep.3:80
+#: build/C/man3/strsep.3:98
 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:100
 msgid "This function modifies its first argument."
 msgstr "この関数は最初の引数を変更する。"
 
 #. type: Plain text
-#: build/C/man3/strsep.3:84
+#: build/C/man3/strsep.3:102
 msgid "This function cannot be used on constant strings."
 msgstr "この関数は定数文字列には使えない。"
 
 #. type: Plain text
-#: build/C/man3/strsep.3:86 build/C/man3/strtok.3:127
+#: build/C/man3/strsep.3:104
 msgid "The identity of the delimiting character is lost."
 msgstr "区切り文字自体は失われてしまう。"
 
 #. type: Plain text
-#: build/C/man3/strsep.3:96
+#: build/C/man3/strsep.3:114
 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)"
@@ -3063,51 +3792,51 @@ msgstr ""
 "B<strpbrk>(3), B<strspn>(3), B<strstr>(3), B<strtok>(3)"
 
 #. type: TH
-#: build/C/man3/strsignal.3:28
+#: build/C/man3/strsignal.3:30
 #, no-wrap
 msgid "STRSIGNAL"
 msgstr "STRSIGNAL"
 
 #. type: TH
-#: build/C/man3/strsignal.3:28
+#: build/C/man3/strsignal.3:30
 #, no-wrap
 msgid "2010-09-15"
 msgstr "2010-09-15"
 
 #. type: Plain text
-#: build/C/man3/strsignal.3:31
+#: build/C/man3/strsignal.3:33
 msgid "strsignal - return string describing signal"
 msgstr "strsignal - シグナルを説明する文字列を返す"
 
 #. 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 "B<char *strsignal(int >I<sig>B<);>\n"
 
 #. 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 "B<extern const char * const >I<sys_siglist>B<[];>\n"
 
 #. type: Plain text
-#: build/C/man3/strsignal.3:46
+#: build/C/man3/strsignal.3:48
 msgid "B<strsignal>():"
 msgstr "B<strsignal>():"
 
 #. 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 "
+"passed in the argument I<sig>.  The string can be used only until the next "
 "call to B<strsignal>()."
 msgstr ""
 "B<strsignal>()  関数は、引数 I<sig> で渡されたシグナル番号を 説明する文字列を"
 "返す。 文字列は、次の B<strsignal>()  が呼ばれるまでの間だけ使用できる。"
 
 #. type: Plain text
-#: build/C/man3/strsignal.3:73
+#: build/C/man3/strsignal.3:77
 msgid ""
 "The array I<sys_siglist> holds the signal description strings indexed by "
 "signal number.  The B<strsignal>()  function should be used if possible "
@@ -3118,76 +3847,112 @@ msgstr ""
 "に B<strsignal>()  関数を 使うべきである。"
 
 #. type: Plain text
-#: build/C/man3/strsignal.3:80
+#: build/C/man3/strsignal.3:84
+#, fuzzy
+#| msgid ""
+#| "The B<strsignal>()  function returns the appropriate description string, "
+#| "or an unknown signal message if the signal number is invalid.  On some "
+#| "systems (but not on Linux), a NULL pointer may be returned instead for an "
+#| "invalid signal number."
 msgid ""
 "The B<strsignal>()  function returns the appropriate description string, or "
 "an unknown signal message if the signal number is invalid.  On some systems "
-"(but not on Linux), a NULL pointer may be returned instead for an invalid "
-"signal number."
+"(but not on Linux), NULL may instead be returned for an invalid signal "
+"number."
 msgstr ""
 "B<strsignal>()  関数は、シグナルの適切な説明を返す。 もしシグナル番号が不正な"
 "場合は、未知のシグナル(unknown signal)を示す メッセージを返す。 (Linux はそう"
 "ではないが)不正なシグナル番号に対して、 NULL ポインタを 返すシステムもある。"
 
 #. type: Plain text
-#: build/C/man3/strsignal.3:83
+#: build/C/man3/strsignal.3:87
 msgid "POSIX.1-2008.  Present on Solaris and the BSDs."
 msgstr "POSIX.1-2008.  Solaris と BSD 系にも存在する。"
 
 #. type: Plain text
-#: build/C/man3/strsignal.3:86
+#: build/C/man3/strsignal.3:90
 msgid "B<psignal>(3), B<strerror>(3)"
 msgstr "B<psignal>(3), B<strerror>(3)"
 
 #. type: TH
-#: build/C/man3/strspn.3:28
+#: build/C/man3/strspn.3:30
 #, no-wrap
 msgid "STRSPN"
 msgstr "STRSPN"
 
+#. type: TH
+#: build/C/man3/strspn.3:30
+#, fuzzy, no-wrap
+#| msgid "2010-02-25"
+msgid "2014-02-28"
+msgstr "2010-02-25"
+
+#. type: Plain text
+#: build/C/man3/strspn.3:33
+#, fuzzy
+#| msgid "strnlen - determine the length of a fixed-size string"
+msgid "strspn, strcspn - get length of a prefix substring"
+msgstr "strnlen - 固定長の文字列の長さを調べる"
+
+#. type: Plain text
+#: 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 "B<size_t strspn(const char *>I<s>B<, const char *>I<accept>B<);>\n"
+
 #. type: Plain text
-#: build/C/man3/strspn.3:31
-msgid "strspn, strcspn - search a string for a set of characters"
-msgstr "strspn, strcspn - 文字列から文字のセットを探す"
+#: 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 "B<size_t strcspn(const char *>I<s>B<, const char *>I<reject>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/strspn.3:45
+#: build/C/man3/strspn.3:49
 msgid ""
-"The B<strspn>()  function calculates the length of the initial segment of "
-"I<s> which consists entirely of characters in I<accept>."
+"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 ""
-"B<strspn>()  関数は、I<accept> に含まれる文字だけで構成される文字列 を I<s> "
-"から探し、その最初の部分の長さを計算する。"
+"B<strspn>() 関数は、 I<s> から、I<accept> に含まれる文字だけで\n"
+"構成される最初の部分文字列を探し、\n"
+"その部分の (バイト単位の) 長さを計算する。"
 
 #. type: Plain text
-#: build/C/man3/strspn.3:51
+#: build/C/man3/strspn.3:57
 msgid ""
 "The B<strcspn>()  function calculates the length of the initial segment of "
-"I<s> which consists entirely of characters not in I<reject>."
+"I<s> which consists entirely of bytes not in I<reject>."
 msgstr ""
-"B<strcspn>()  関数は、I<reject> に含まれない文字だけで構成される文字列 を "
-"I<s> から探し、その最初の部分の長さを計算する。"
+"B<strcspn>() 関数は、 I<s> から、I<reject> に含まれない文字だけで\n"
+"構成される最初の部分文字列を探し、\n"
+"その部分の (バイト単位の) 長さを計算する。"
 
 #. type: Plain text
-#: build/C/man3/strspn.3:57
+#: build/C/man3/strspn.3:66
 msgid ""
-"The B<strspn>()  function returns the number of characters in the initial "
-"segment of I<s> which consist only of characters from I<accept>."
+"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 ""
-"B<strspn>()  関数は、I<accept> からの文字だけで構成される I<s> の 最初の部分"
-"の文字の数を返す。"
+"B<strspn>() 関数は、 I<s> 内の、I<accept> からの文字だけで\n"
+"構成される最初の部分文字列のバイト数を返す。"
 
 #. type: Plain text
-#: build/C/man3/strspn.3:63
+#: build/C/man3/strspn.3:74
 msgid ""
-"The B<strcspn>()  function returns the number of characters in the initial "
+"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 ""
-"B<strcspn>()  関数は、I<s> の最初の部分で、文字列 I<reject> に 含まれない文字"
-"の数を返す。"
+"B<strcspn>() 関数は、I<s> 内の、文字列 I<reject> に含まれない\n"
+"文字だけで構成される最初の部分文字列のバイト数を返す。"
+
+#. type: Plain text
+#: build/C/man3/strspn.3:81
+#, fuzzy
+#| msgid "The B<strtok_r>()  function is thread-safe."
+msgid "The B<strspn>()  and B<strcspn>()  functions are thread-safe."
+msgstr "B<strtok_r>() 関数はスレッドセーフである。"
 
 #. type: Plain text
-#: build/C/man3/strspn.3:77
+#: build/C/man3/strspn.3:95
 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), "
@@ -3198,24 +3963,37 @@ msgstr ""
 "B<wcsspn>(3)"
 
 #. type: TH
-#: build/C/man3/strstr.3:31
+#: build/C/man3/strstr.3:33
 #, no-wrap
 msgid "STRSTR"
 msgstr "STRSTR"
 
+#. type: TH
+#: build/C/man3/strstr.3:33
+#, fuzzy, no-wrap
+#| msgid "2002-01-20"
+msgid "2014-01-22"
+msgstr "2002-01-20"
+
 #. type: Plain text
-#: build/C/man3/strstr.3:34
+#: build/C/man3/strstr.3:36
 msgid "strstr, strcasestr - locate a substring"
 msgstr "strstr, strcasestr - 部分文字列の位置を示す"
 
 #. type: Plain text
-#: build/C/man3/strstr.3:45
+#: build/C/man3/strstr.3:41
+#, no-wrap
+msgid "B<char *strstr(const char *>I<haystack>B<, const char *>I<needle>B<);>\n"
+msgstr "B<char *strstr(const char *>I<haystack>B<, const char *>I<needle>B<);>\n"
+
+#. type: Plain text
+#: build/C/man3/strstr.3:47
 #, no-wrap
 msgid "B<char *strcasestr(const char *>I<haystack>B<, const char *>I<needle>B<);>\n"
 msgstr "B<char *strcasestr(const char *>I<haystack>B<, const char *>I<needle>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/strstr.3:52
+#: build/C/man3/strstr.3:56
 msgid ""
 "The B<strstr>()  function finds the first occurrence of the substring "
 "I<needle> in the string I<haystack>.  The terminating null bytes (\\(aq"
@@ -3226,7 +4004,7 @@ msgstr ""
 "い。"
 
 #. type: Plain text
-#: build/C/man3/strstr.3:58
+#: build/C/man3/strstr.3:62
 msgid ""
 "The B<strcasestr>()  function is like B<strstr>(), but ignores the case of "
 "both arguments."
@@ -3235,16 +4013,35 @@ msgstr ""
 "字小文字を無視する。"
 
 #. type: Plain text
-#: build/C/man3/strstr.3:61
+#: build/C/man3/strstr.3:65
+#, fuzzy
+#| msgid ""
+#| "These functions return a pointer to the beginning of the substring, or "
+#| "NULL if the substring is not found."
 msgid ""
-"These functions return a pointer to the beginning of the substring, or NULL "
-"if the substring is not found."
+"These functions return a pointer to the beginning of the located substring, "
+"or NULL if the substring is not found."
 msgstr ""
 "これらの関数は、部分文字列の開始を指すポインタを返し、 もし部分文字列が見つか"
 "らない場合は NULL を返す。"
 
 #. type: Plain text
-#: build/C/man3/strstr.3:68
+#: build/C/man3/strstr.3:70
+#, fuzzy
+#| msgid "The B<strtok_r>()  function is thread-safe."
+msgid "The B<strstr>()  function is thread-safe."
+msgstr "B<strtok_r>() 関数はスレッドセーフである。"
+
+#. type: Plain text
+#: build/C/man3/strstr.3:77
+msgid ""
+"The B<strcasestr>()  function is thread-safe with exceptions.  It can be "
+"safely used in multithreaded applications, as long as B<setlocale>(3)  is "
+"not called to change the locale during its execution."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/strstr.3:84
 msgid ""
 "The B<strstr>()  function conforms to C89 and C99.  The B<strcasestr>()  "
 "function is a nonstandard extension."
@@ -3253,7 +4050,7 @@ msgstr ""
 "拡張である。"
 
 #. type: Plain text
-#: build/C/man3/strstr.3:74
+#: build/C/man3/strstr.3:96
 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 "
@@ -3264,7 +4061,7 @@ msgstr ""
 "I<needle> が空の時は I<haystack> を返す。"
 
 #. type: Plain text
-#: build/C/man3/strstr.3:86
+#: build/C/man3/strstr.3:108
 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), "
@@ -3275,36 +4072,36 @@ msgstr ""
 "B<wcsstr>(3)"
 
 #. type: TH
-#: build/C/man3/strtok.3:28
+#: build/C/man3/strtok.3:32
 #, no-wrap
 msgid "STRTOK"
 msgstr "STRTOK"
 
 #. type: TH
-#: build/C/man3/strtok.3:28
+#: build/C/man3/strtok.3:32
 #, no-wrap
-msgid "2010-09-27"
-msgstr "2010-09-27"
+msgid "2013-05-19"
+msgstr "2013-05-19"
 
 #. type: Plain text
-#: build/C/man3/strtok.3:31
+#: build/C/man3/strtok.3:35
 msgid "strtok, strtok_r - extract tokens from strings"
 msgstr "strtok, strtok_r - 文字列からトークンを取り出す"
 
 #. type: Plain text
-#: build/C/man3/strtok.3:36
+#: build/C/man3/strtok.3:40
 #, no-wrap
 msgid "B<char *strtok(char *>I<str>B<, const char *>I<delim>B<);>\n"
 msgstr "B<char *strtok(char *>I<str>B<, const char *>I<delim>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/strtok.3:38
+#: build/C/man3/strtok.3:42
 #, no-wrap
 msgid "B<char *strtok_r(char *>I<str>B<, const char *>I<delim>B<, char **>I<saveptr>B<);>\n"
 msgstr "B<char *strtok_r(char *>I<str>B<, const char *>I<delim>B<, char **>I<saveptr>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/strtok.3:49
+#: build/C/man3/strtok.3:53
 msgid ""
 "B<strtok_r>(): _SVID_SOURCE || _BSD_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 1 "
 "|| _XOPEN_SOURCE || _POSIX_SOURCE"
@@ -3313,65 +4110,122 @@ msgstr ""
 "|| _XOPEN_SOURCE || _POSIX_SOURCE"
 
 #. type: Plain text
-#: build/C/man3/strtok.3:60
+#: build/C/man3/strtok.3:66
 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 "
-"I<str>.  In each subsequent call that should parse the same string, I<str> "
-"should be NULL."
+"The B<strtok>()  function breaks a string into a sequence of zero or more "
+"nonempty tokens.  On the first call to B<strtok>()  the string to be parsed "
+"should be specified in I<str>.  In each subsequent call that should parse "
+"the same string, I<str> must be NULL."
 msgstr ""
-"B<strtok>()  関数は文字列を解析してトークンに分割する。 B<strtok>()  を最初に"
-"呼び出す際には、解析対象の文字列を I<str> に 指定する。同じ文字列の解析を行う"
-"その後の呼び出しでは、 I<str> には NULL を指定する。"
+"B<strtok>()  関数は文字列を 0 個以上の空でないトークンの列に分割する。 "
+"B<strtok>()  を最初に呼び出す際には、解析対象の文字列を I<str> に 指定する。"
+"同じ文字列の解析を行うその後の呼び出しでは、 I<str> は NULL にしなければなら"
+"ない。"
 
 #. type: Plain text
-#: build/C/man3/strtok.3:65
+#: build/C/man3/strtok.3:75
 msgid ""
-"The I<delim> argument specifies a set of characters that delimit the tokens "
-"in the parsed string.  The caller may specify different strings in I<delim> "
-"in successive calls that parse the same string."
+"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 "
+"successive calls that parse the same string."
 msgstr ""
-"I<delim> 引き数には、解析する文字列をトークンに区切る文字集合を 指定する。同"
-"ã\81\98æ\96\87å­\97å\88\97ã\82\92解æ\9e\90ã\81\99ã\82\8bä¸\80é\80£ã\81®å\91¼ã\81³å\87ºã\81\97ã\81«ã\81\8aã\81\84ã\81¦ã\80\81 I<delim> ã\81«é\81\95ã\81\86æ\96\87å­\97å\88\97ã\82\92æ\8c\87å®\9aã\81\97ã\81¦ã\82\82"
-"よい。"
+"I<delim> 引き数には、解析対象の文字列をトークンに区切るのに使用する\n"
+"ã\83\90ã\82¤ã\83\88é\9b\86å\90\88ã\82\92æ\8c\87å®\9aã\81\99ã\82\8bã\80\82å\90\8cã\81\98æ\96\87å­\97å\88\97ã\82\92解æ\9e\90ã\81\99ã\82\8bä¸\80é\80£ã\81®å\91¼ã\81³å\87ºã\81\97ã\81«ã\81\8aã\81\84ã\81¦ã\80\81\n"
+"I<delim> に違う文字列を指定してもよい。"
 
 #. type: Plain text
-#: build/C/man3/strtok.3:74
+#: build/C/man3/strtok.3:84
 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 "
-"character.  If no more tokens are found, B<strtok>()  returns NULL."
+"byte.  If no more tokens are found, B<strtok>()  returns NULL."
 msgstr ""
-"B<strtok>()  のそれぞれの呼び出しでは、次のトークンを 格納した NULL 終端され"
-"ã\81\9fæ\96\87å­\97å\88\97ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\81\8cè¿\94ã\81\95ã\82\8cã\82\8bã\80\82 ã\81\93ã\81®æ\96\87å­\97å\88\97ã\81«ã\81¯å\8cºå\88\87ã\82\8aæ\96\87å­\97ã\81¯å\90«ã\81¾ã\82\8cã\81ªã\81\84ã\80\82 ã\81\93ã\82\8c"
-"以上トークンが見つからなかった場合には、NULL が返される。"
+"B<strtok>() のそれぞれの呼び出しでは、次のトークンを格納した NULL 終端\n"
+"ã\81\95ã\82\8cã\81\9fæ\96\87å­\97å\88\97ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\81\8cè¿\94ã\81\95ã\82\8cã\82\8bã\80\82ã\81\93ã\81®æ\96\87å­\97å\88\97ã\81«ã\81¯å\8cºå\88\87ã\82\8aã\83\90ã\82¤ã\83\88ã\81¯å\90«ã\81¾ã\82\8c\n"
+"ない。これ以上トークンが見つからなかった場合には、NULL が返される。"
 
 #. type: Plain text
-#: build/C/man3/strtok.3:81
+#: build/C/man3/strtok.3:104
 msgid ""
-"A sequence of two or more contiguous delimiter characters in the parsed "
-"string is considered to be a single delimiter.  Delimiter characters at the "
-"start or end of the string are ignored.  Put another way: the tokens "
-"returned by B<strtok>()  are always nonempty strings."
-msgstr ""
-"解析対象の文字列に2つ以上の区切り文字が連続している場合には、 一つの区切り文"
-"字とみなされる。 文字列の先頭や末尾にある区切り文字は無視される。言い換える"
-"と、 B<strtok>()  が返すトークンは常に空でない文字列となる。"
-
-#. type: Plain text
-#: build/C/man3/strtok.3:91
+"A sequence of calls to B<strtok>()  that operate on the same string "
+"maintains a pointer that determines the point from which to start searching "
+"for the next token.  The first call to B<strtok>()  sets this pointer to "
+"point to the first byte of the string.  The start of the next token is "
+"determined by scanning forward for the next nondelimiter byte in I<str>.  If "
+"such a byte is found, it is taken as the start of the next token.  If no "
+"such byte is found, then there are no more tokens, and B<strtok>()  returns "
+"NULL.  (A string that is empty or that contains only delimiters will thus "
+"cause B<strtok>()  to return NULL on the first call.)"
+msgstr ""
+"同じ文字列に対して操作を行う B<strtok>() を連続して呼び出す場合、 次のトーク"
+"ンを探し始める位置を決めるためのポインタが保持される。 最初の B<strtok> の呼"
+"び出しでは、 このポインタは対象の文字列の最初のバイトにセットされる。 次の"
+"トークンの先頭は、 I<str> 内で次の区切りバイト以外のバイトを前方に検索して決"
+"定される。 区切りバイト以外のバイトが見つからなかった場合は、 トークンはこれ"
+"以上なく、 B<strtok>() は NULL を返す (したがって、 空の文字列や区切りバイト"
+"だけを含む文字列の場合には、 最初の B<strtok>() の呼び出しで NULL が返ること"
+"になる)。"
+
+#. type: Plain text
+#: build/C/man3/strtok.3:117
+msgid ""
+"The end of each token is found by scanning forward until either the next "
+"delimiter byte is found or until the terminating null byte (\\(aq\\e0\\(aq) "
+"is encountered.  If a delimiter byte is found, it is overwritten with a null "
+"byte to terminate the current token, and B<strtok>()  saves a pointer to the "
+"following byte; that pointer will be used as the starting point when "
+"searching for the next token.  In this case, B<strtok>()  returns a pointer "
+"to the start of the found token."
+msgstr ""
+"各トークンの末尾は、次の区切りバイトが見つかるか、終端の NULL バイト (\\(aq"
+"\\e0\\(aq) に達するまで文字列を前方に検索することで見つかる。 区切りバイトが"
+"見つかった場合には、 現在のトークンの終わりを示すために、 見つかった区切りバ"
+"イトが NULL バイトで上書きされ、 B<strtok>() はポインタを次のバイトに設定す"
+"る。 このポインタは、次のトークンを検索する際の開始点として使用される。 この"
+"場合、 B<strtok>() は見つかったトークンの先頭へのポインタを返す。"
+
+#. type: Plain text
+#: build/C/man3/strtok.3:131
+#, fuzzy
+#| msgid ""
+#| "From the above description, it follows that a sequence of two or more "
+#| "contiguous delimiter bytes in the parsed string is considered to be a "
+#| "single delimiter, and that delimiter bytes at the start or end of the "
+#| "string are ignored.  Put another way: the tokens returned by B<strtok>()  "
+#| "are always nonempty strings.  Thus, for example, given the string "
+#| "\"I<aaa;;bbb,>\", successive calls to B<strtok>()  that specify the "
+#| "delimiter string \"I<;,>\" would return the strings \"I<aaa>\" and "
+#| "\"I<bbb>\", and then a NULL pointer."
+msgid ""
+"From the above description, it follows that a sequence of two or more "
+"contiguous delimiter bytes in the parsed string is considered to be a single "
+"delimiter, and that delimiter bytes at the start or end of the string are "
+"ignored.  Put another way: the tokens returned by B<strtok>()  are always "
+"nonempty strings.  Thus, for example, given the string \"I<aaa;;bbb,>\", "
+"successive calls to B<strtok>()  that specify the delimiter string \"I<;,>\" "
+"would return the strings \"I<aaa>\" and \"I<bbb>\", and then a null pointer."
+msgstr ""
+"上記の説明の通り、 解析対象の文字列に 2 つ以上の区切りバイトが連続している場"
+"合には、 一つの区切りバイトとみなされ、 文字列の先頭や末尾にある区切りバイト"
+"は無視される。 言い換えると、 B<strtok>() が返すトークンは必ず空でない文字列"
+"となる。 したがって、例えば \"I<aaa;;bbb,>\" という文字列が与えられたとする"
+"と、 区切り文字列 \"I<;,>\" を指定した一連の B<strtok>() の呼び出しでは、 "
+"\"I<aaa>\" と I<bbb>\" が返り、その次に NULL ポインタが返る。"
+
+#. type: Plain text
+#: build/C/man3/strtok.3:144
 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 "
+"I<saveptr> argument is a pointer to a I<char\\ *> variable that is used "
 "internally by B<strtok_r>()  in order to maintain context between successive "
 "calls that parse the same string."
 msgstr ""
 "B<strtok_r>()  関数は B<strtok>()  のリエントラント版である。 I<saveptr> 引き"
-"数は I<char *> 変数へのポインタであり、 同じ文字列の解析を行う B<strtok_r>"
+"数は I<char\\ *> 変数へのポインタであり、 同じ文字列の解析を行う B<strtok_r>"
 "()  の呼び出し間で処理状況を保存するために B<strtok_r>()  内部で使用される。"
 
 #. type: Plain text
-#: build/C/man3/strtok.3:100
+#: build/C/man3/strtok.3:156
 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> "
@@ -3383,7 +4237,7 @@ msgstr ""
 "ない。"
 
 #. type: Plain text
-#: build/C/man3/strtok.3:104
+#: build/C/man3/strtok.3:162
 msgid ""
 "Different strings may be parsed concurrently using sequences of calls to "
 "B<strtok_r>()  that specify different I<saveptr> arguments."
@@ -3392,7 +4246,7 @@ msgstr ""
 "る文字列の解析を同時に行うことができる。"
 
 #. type: Plain text
-#: build/C/man3/strtok.3:111
+#: build/C/man3/strtok.3:169
 msgid ""
 "The B<strtok>()  and B<strtok_r>()  functions return a pointer to the next "
 "token, or NULL if there are no more tokens."
@@ -3400,47 +4254,62 @@ msgstr ""
 "B<strtok>()  と B<strtok_r>()  は次のトークンへのポインタか、 トークンがなけ"
 "れば NULL を返す。"
 
+#. type: Plain text
+#: build/C/man3/strtok.3:174
+msgid "The B<strtok>()  function is not thread-safe."
+msgstr "The B<strtok>() 関数はスレッドセーフではない。"
+
+#. type: Plain text
+#: build/C/man3/strtok.3:178
+msgid "The B<strtok_r>()  function is thread-safe."
+msgstr "B<strtok_r>() 関数はスレッドセーフである。"
+
 #. type: TP
-#: build/C/man3/strtok.3:112
+#: build/C/man3/strtok.3:179
 #, no-wrap
 msgid "B<strtok>()"
 msgstr "B<strtok>()"
 
 #. type: Plain text
-#: build/C/man3/strtok.3:115
+#: build/C/man3/strtok.3:182
 msgid "SVr4, POSIX.1-2001, 4.3BSD, C89, C99."
 msgstr "SVr4, POSIX.1-2001, 4.3BSD, C89, C99."
 
 #. type: TP
-#: build/C/man3/strtok.3:115
+#: build/C/man3/strtok.3:182
 #, no-wrap
 msgid "B<strtok_r>()"
 msgstr "B<strtok_r>()"
 
 #. type: Plain text
-#: build/C/man3/strtok.3:118
+#: build/C/man3/strtok.3:185
 msgid "POSIX.1-2001."
 msgstr "POSIX.1-2001."
 
 #. type: Plain text
-#: build/C/man3/strtok.3:121
+#: build/C/man3/strtok.3:188
 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:190
 msgid "These functions modify their first argument."
 msgstr "これらの関数はその最初の引数を変更する。"
 
 #. type: Plain text
-#: build/C/man3/strtok.3:125
+#: build/C/man3/strtok.3:192
 msgid "These functions cannot be used on constant strings."
 msgstr "これらの関数は const な文字列では使えない。"
 
 #. type: Plain text
-#: build/C/man3/strtok.3:134
+#: build/C/man3/strtok.3:194
+msgid "The identity of the delimiting byte is lost."
+msgstr "区切りバイト自体は失われてしまう。"
+
+#. type: Plain text
+#: build/C/man3/strtok.3:201
 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."
@@ -3449,28 +4318,29 @@ msgstr ""
 "い。 これが問題になる場合は B<strtok_r>()  を用いること。"
 
 #. type: Plain text
-#: build/C/man3/strtok.3:143
+#: build/C/man3/strtok.3:210
 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 "
 "argument specifies the string to be parsed.  The second argument specifies "
-"the delimiter character(s)  to be used to separate that string into \"major"
-"\" tokens.  The third argument specifies the delimiter character(s)  to be "
-"used to separate the \"major\" tokens into subtokens."
+"the delimiter byte(s)  to be used to separate that string into \"major\" "
+"tokens.  The third argument specifies the delimiter byte(s)  to be used to "
+"separate the \"major\" tokens into subtokens."
 msgstr ""
-"以下のプログラムは、 B<strtok_r>()  を利用するループを入れ子にして使用し、 文"
-"字列を2階層のトークンに分割するものである。 1番目のコマンドライン引き数には、"
-"解析対象の文字列を指定する。 2番目の引き数には、文字列を「大きな」トークンに"
-"分割するために 使用する区切り文字を指定する。 3番目の引き数には、「大きな」"
-"トークンを細かく分割するために 使用する区切り文字を指定する。"
+"以下のプログラムは、 B<strtok_r>() を利用するループを入れ子にして使用し、\n"
+"文字列を 2 階層のトークンに分割するものである。 1番目のコマンドライン\n"
+"引き数には、解析対象の文字列を指定する。 2 番目の引き数には、文字列を\n"
+"「大きな」トークンに分割するために 使用する区切りバイトを指定する。\n"
+"3 番目の引き数には、「大きな」トークンを細かく分割するために使用する\n"
+"区切りバイトを指定する。"
 
 #. type: Plain text
-#: build/C/man3/strtok.3:145
+#: build/C/man3/strtok.3:212
 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:224
 #, no-wrap
 msgid ""
 "$B< ./a.out \\(aqa/bbb///cc;xxx:yyy:\\(aq \\(aq:;\\(aq \\(aq/\\(aq>\n"
@@ -3494,13 +4364,13 @@ msgstr ""
 "         --E<gt> yyy\n"
 
 #. type: SS
-#: build/C/man3/strtok.3:159
+#: build/C/man3/strtok.3:226
 #, no-wrap
 msgid "Program source"
 msgstr "プログラムのソース"
 
 #. type: Plain text
-#: build/C/man3/strtok.3:165
+#: build/C/man3/strtok.3:232
 #, no-wrap
 msgid ""
 "#include E<lt>stdio.hE<gt>\n"
@@ -3512,7 +4382,7 @@ msgstr ""
 "#include E<lt>string.hE<gt>\n"
 
 #. type: Plain text
-#: build/C/man3/strtok.3:172
+#: build/C/man3/strtok.3:239
 #, no-wrap
 msgid ""
 "int\n"
@@ -3530,7 +4400,7 @@ msgstr ""
 "    int j;\n"
 
 #. type: Plain text
-#: build/C/man3/strtok.3:178
+#: build/C/man3/strtok.3:245
 #, no-wrap
 msgid ""
 "    if (argc != 4) {\n"
@@ -3546,7 +4416,7 @@ msgstr ""
 "    }\n"
 
 #. type: Plain text
-#: build/C/man3/strtok.3:184
+#: build/C/man3/strtok.3:251
 #, no-wrap
 msgid ""
 "    for (j = 1, str1 = argv[1]; ; j++, str1 = NULL) {\n"
@@ -3562,7 +4432,7 @@ msgstr ""
 "        printf(\"%d: %s\\en\", j, token);\n"
 
 #. type: Plain text
-#: build/C/man3/strtok.3:192
+#: build/C/man3/strtok.3:259
 #, no-wrap
 msgid ""
 "        for (str2 = token; ; str2 = NULL) {\n"
@@ -3582,7 +4452,7 @@ msgstr ""
 "    }\n"
 
 #. type: Plain text
-#: build/C/man3/strtok.3:195
+#: build/C/man3/strtok.3:262
 #, no-wrap
 msgid ""
 "    exit(EXIT_SUCCESS);\n"
@@ -3592,14 +4462,14 @@ msgstr ""
 "}\n"
 
 #. type: Plain text
-#: build/C/man3/strtok.3:201
+#: build/C/man3/strtok.3:268
 msgid ""
 "Another example program using B<strtok>()  can be found in B<getaddrinfo_a>"
 "(3)."
 msgstr "B<strtok>()  を使った別のプログラム例が B<getaddrinfo_a>(3)  にある。"
 
 #. type: Plain text
-#: build/C/man3/strtok.3:212
+#: build/C/man3/strtok.3:279
 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)"
@@ -3608,31 +4478,31 @@ msgstr ""
 "B<strpbrk>(3), B<strsep>(3), B<strspn>(3), B<strstr>(3), B<wcstok>(3)"
 
 #. type: TH
-#: build/C/man3/strverscmp.3:23
+#: build/C/man3/strverscmp.3:25
 #, no-wrap
 msgid "STRVERSCMP"
 msgstr "STRVERSCMP"
 
 #. type: TH
-#: build/C/man3/strverscmp.3:23
+#: build/C/man3/strverscmp.3:25
 #, no-wrap
 msgid "2001-12-19"
 msgstr "2001-12-19"
 
 #. type: Plain text
-#: build/C/man3/strverscmp.3:26
+#: build/C/man3/strverscmp.3:28
 msgid "strverscmp - compare two version strings"
 msgstr "strverscmp - 2つのバージョン文字列を比較する"
 
 #. 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 "B<int strverscmp(const char *>I<s1>B<, const char *>I<s2>B<);>\n"
 
 #.  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>, ..., "
@@ -3648,21 +4518,21 @@ 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.  "
+"\"right\" order, while B<strcmp>(3)  finds only the lexicographic order.  "
 "This function does not use the locale category B<LC_COLLATE>, so is meant "
 "mostly for situations where the strings are expected to be in ASCII."
 msgstr ""
 "このように B<strverscmp>()  の役目は2つの文字列を比較して「正しい」順序を探す"
-"ã\81\93ã\81¨ã\81§ã\81\82ã\82\8bã\80\82 ã\81\93ã\82\8cã\81«å¯¾ã\81\97ã\81¦ B<strcmp>(3)  ã\81¯è¾\9eæ\9b¸é \86ã\81§æ¯\94è¼\83ã\81\97ã\81\9fçµ\90æ\9e\9cã\82\92è¿\94ã\81\99ã\81 ã\81\91ã\81§ã\81\82"
-"る。 関数 B<strverscmp>()  はロケールのカテゴリである B<LC_COLLATE> を使用し"
-"ã\81ªã\81\84ã\80\82 ã\81\93ã\81®ã\81\93ã\81¨ã\81\8bã\82\89ã\80\81ã\81\93ã\81®é\96¢æ\95°ã\81\8c主ã\81«ã\82¢ã\82¹ã\82­ã\83¼æ\96\87å­\97ã\81\8bã\82\89æ\88\90ã\82\8bæ\96\87å­\97å\88\97ã\82\92 æ\83³å®\9aã\81\97ã\81¦ã\81\84ã\82\8b"
-"ã\81\93ã\81¨ã\81\8cå\88\86ã\81\8bã\82\8bã\80\82"
+"ã\81\93ã\81¨ã\81§ã\81\82ã\82\8bã\80\82 ã\81\93ã\82\8cã\81«å¯¾ã\81\97ã\81¦ B<strcmp>(3)  ã\81¯è¾\9eæ\9b¸é \86ã\81 ã\81\91ã\81§æ¯\94è¼\83ã\81\97ã\81\9fçµ\90æ\9e\9cã\82\92è¿\94ã\81\99ã\80\82 é\96¢"
+"数 B<strverscmp>()  はロケールのカテゴリである B<LC_COLLATE> を使用しない。 "
+"ã\81\93ã\81®ã\81\93ã\81¨ã\81\8bã\82\89ã\80\81ã\81\93ã\81®é\96¢æ\95°ã\81\8c主ã\81«ã\82¢ã\82¹ã\82­ã\83¼æ\96\87å­\97ã\81\8bã\82\89æ\88\90ã\82\8bæ\96\87å­\97å\88\97ã\82\92 æ\83³å®\9aã\81\97ã\81¦ã\81\84ã\82\8bã\81\93ã\81¨ã\81\8cå\88\86"
+"かる。"
 
 #. 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 "
@@ -3689,7 +4559,7 @@ msgstr ""
 "I<1>, I<9>, I<10>"
 
 #. type: Plain text
-#: build/C/man3/strverscmp.3:86
+#: build/C/man3/strverscmp.3:90
 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 "
@@ -3700,41 +4570,48 @@ msgstr ""
 "い ことを示す。"
 
 #. type: Plain text
-#: build/C/man3/strverscmp.3:93
+#: build/C/man3/strverscmp.3:97
 msgid "B<rename>(1), B<strcasecmp>(3), B<strcmp>(3), B<strcoll>(3)"
 msgstr "B<rename>(1), B<strcasecmp>(3), B<strcmp>(3), B<strcoll>(3)"
 
 #. type: TH
-#: build/C/man3/strxfrm.3:28
+#: build/C/man3/strxfrm.3:30
 #, no-wrap
 msgid "STRXFRM"
 msgstr "STRXFRM"
 
 #. type: Plain text
-#: build/C/man3/strxfrm.3:31
+#: build/C/man3/strxfrm.3:33
 msgid "strxfrm - string transformation"
 msgstr "strxfrm - 文字列の変換"
 
 #. type: Plain text
-#: build/C/man3/strxfrm.3:54
+#: build/C/man3/strxfrm.3:38
+#, no-wrap
+msgid "B<size_t strxfrm(char *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>\n"
+msgstr "B<size_t strxfrm(char *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>\n"
+
+#. type: Plain text
+#: build/C/man3/strxfrm.3:62
 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 "
 "with B<strxfrm>()  is the same as the result of B<strcoll>(3)  on the two "
-"strings before their transformation.  The first I<n> characters of the "
+"strings before their transformation.  The first I<n> bytes of the "
 "transformed string are placed in I<dest>.  The transformation is based on "
 "the program's current locale for category B<LC_COLLATE>.  (See B<setlocale>"
 "(3))."
 msgstr ""
-"B<strxfrm>()  関数は文字列 I<src> に対して、次の条件を満たすよう な変換をす"
-"る: 「ある二つの文字列に対して、それぞれを B<strxfrm>()  で変換してから "
-"B<strcmp>(3)  した結果と、 B<strxfrm>()  による変換 を行わずに B<strcoll>"
-"(3)  した結果と同じ」 変換した文字列の先頭から I<n> 文字分が I<dest> に代入さ"
-"れる。 変換は、カテゴリ B<LC_COLLATE> に対する、プログラムの現在のロケール に"
-"基づいて行われる (B<setlocale>(3)  を参照のこと)。"
+"B<strxfrm>() 関数は、文字列 I<src> に対して、次のような変換を行う。\n"
+"変換は、ある二つの文字列に対して、それぞれを B<strxfrm>() で変換\n"
+"した文字列に対して B<strcmp>(3) を行った結果が、 \n"
+"変換を行わずにB<strcoll>(3) を行った結果と同じとなるように行う。\n"
+"変換された文字列の先頭から I<n> バイト分が I<dest> に代入される。\n"
+"変換は、プログラムの現在のロケールのカテゴリ B<LC_COLLATE> に\n"
+"基づいて行われる (B<setlocale>(3) を参照)。"
 
 #. type: Plain text
-#: build/C/man3/strxfrm.3:62
+#: build/C/man3/strxfrm.3:76
 msgid ""
 "The B<strxfrm>()  function returns the number of bytes required to store the "
 "transformed string in I<dest> excluding the terminating null byte (\\(aq"
@@ -3746,16 +4623,16 @@ msgstr ""
 "り値が I<n> 以上の場合、 I<dest> の内容は不定となる。"
 
 #. type: Plain text
-#: build/C/man3/strxfrm.3:70
+#: build/C/man3/strxfrm.3:88
 msgid ""
-"In the I<\"POSIX\"> or I<\"C\"> locales B<strxfrm>()  is equivalent to "
-"copying the string with B<strncpy>(3)."
+"In the I<POSIX> or I<C> locales B<strxfrm>()  is equivalent to copying the "
+"string with B<strncpy>(3)."
 msgstr ""
-"I<\"POSIX\"> または I<\"C\"> ロケールでは、関数 B<strxfrm>()  は、 関数 "
-"B<strncpy>(3)  を使って文字列をコピーするのと同じである。"
+"I<POSIX> または I<C> ロケールでは、関数 B<strxfrm>()  は、 関数 B<strncpy>"
+"(3)  を使って文字列をコピーするのと同じである。"
 
 #. type: Plain text
-#: build/C/man3/strxfrm.3:78
+#: build/C/man3/strxfrm.3:96
 msgid ""
 "B<bcmp>(3), B<memcmp>(3), B<setlocale>(3), B<strcasecmp>(3), B<strcmp>(3), "
 "B<strcoll>(3), B<string>(3)"
@@ -3763,8 +4640,47 @@ msgstr ""
 "B<bcmp>(3), B<memcmp>(3), B<setlocale>(3), B<strcasecmp>(3), B<strcmp>(3), "
 "B<strcoll>(3), B<string>(3)"
 
-#~ msgid "2009-03-30"
-#~ msgstr "2009-03-30"
+#~ msgid "2008-08-06"
+#~ msgstr "2008-08-06"
+
+#~ msgid "2009-03-15"
+#~ msgstr "2009-03-15"
+
+#~ msgid "2012-04-23"
+#~ msgstr "2012-04-23"
+
+#~ msgid "2012-11-25"
+#~ msgstr "2012-11-25"
+
+#~ msgid "2010-11-15"
+#~ msgstr "2010-11-15"
+
+#~ msgid "2010-09-10"
+#~ msgstr "2010-09-10"
+
+#~ msgid "2008-12-05"
+#~ msgstr "2008-12-05"
+
+#~ msgid "1993-04-10"
+#~ msgstr "1993-04-10"
+
+#~ msgid "2008-08-12"
+#~ msgstr "2008-08-11"
+
+#~ msgid "1993-04-11"
+#~ msgstr "1993-04-11"
+
+#~ msgid "2011-09-28"
+#~ msgstr "2011-09-28"
+
+#~ msgid "2012-07-19"
+#~ msgstr "2012-07-19"
+
+#~ msgid "2012-04-24"
+#~ msgstr "2012-04-24"
+
+#~ msgid "2012-05-04"
+#~ msgstr "2012-05-04"
 
-#~ msgid "2009-12-04"
-#~ msgstr "2009-12-04"
+#~ msgid "strspn, strcspn - search a string for a set of bytes"
+#~ msgstr "strspn, strcspn - バイト集合で構成される文字列を探す"