OSDN Git Service

Update minor changes in LDP 3.68
[linuxjm/LDP_man-pages.git] / po4a / string / po / ja.po
index eabdc9d..d1aa245 100644 (file)
@@ -6,8 +6,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2012-05-28 07:17+0900\n"
-"PO-Revision-Date: 2012-05-02 01:28+0900\n"
+"POT-Creation-Date: 2014-06-08 01:30+0900\n"
+"PO-Revision-Date: 2014-06-08 02:34+0900\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "Language: \n"
@@ -16,182 +16,220 @@ 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
+#: build/C/man3/bcmp.3:31
 #, no-wrap
-msgid "2008-08-06"
-msgstr "2008-08-06"
+msgid "2013-10-21"
+msgstr "2013-10-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 build/C/man3/bstring.3:41
 #, 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, "
-"B<bcmp>()  returns 0.  Otherwise it returns a nonzero result."
+"B<bcmp>()  returns 0.  Otherwise, it returns a nonzero result."
 msgstr ""
 "B<bcmp>()  は、2 つのバイト列 I<s1> と I<s2> の先頭 I<n> バイトを 比較する。"
 "2 つが等しいか、特に I<n> が 0 の場合 B<bcmp>()  は 0 を返す。 さもなければ "
 "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/ffs.3:91 build/C/man3/index.3:62 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/ffs.3:92 build/C/man3/index.3:63 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
+msgid "The B<bcmp>()  function is thread-safe."
+msgstr "B<bcmp>() 関数はスレッドセーフである。"
+
+#. 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:99 build/C/man3/index.3:69 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,111 +240,110 @@ 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:99
-#: build/C/man3/stpncpy.3:66 build/C/man3/strcasecmp.3:63
-#: build/C/man3/strcat.3:99 build/C/man3/strchr.3:109 build/C/man3/strcmp.3:65
-#: build/C/man3/strcoll.3:63 build/C/man3/strcpy.3:135
-#: build/C/man3/strdup.3:121 build/C/man3/strerror.3:202
-#: build/C/man3/strfry.3:57 build/C/man3/string.3:92 build/C/man3/strlen.3:48
-#: build/C/man3/strnlen.3:58 build/C/man3/strpbrk.3:50
-#: build/C/man3/strsep.3:86 build/C/man3/strsignal.3:83
-#: build/C/man3/strspn.3:65 build/C/man3/strstr.3:74 build/C/man3/strtok.3:201
-#: build/C/man3/strverscmp.3:88 build/C/man3/strxfrm.3:70
+#: build/C/man3/bcmp.3:73 build/C/man3/bcopy.3:73 build/C/man3/bstring.3:82
+#: build/C/man3/bzero.3:62 build/C/man3/ffs.3:111 build/C/man3/index.3:80
+#: 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:115 build/C/man3/stpncpy.3:100
+#: build/C/man3/strcasecmp.3:92 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:226
+#: 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)"
+"B<memcmp>(3), B<strcasecmp>(3), B<strcmp>(3), B<strcoll>(3), "
+"B<strncasecmp>(3), B<strncmp>(3)"
 msgstr ""
-"B<memcmp>(3), B<strcasecmp>(3), B<strcmp>(3), B<strcoll>(3), B<strncasecmp>"
-"(3), B<strncmp>(3)"
+"B<memcmp>(3), B<strcasecmp>(3), B<strcmp>(3), B<strcoll>(3), "
+"B<strncasecmp>(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:108 build/C/man3/stpncpy.3:69
-#: build/C/man3/strcasecmp.3:72 build/C/man3/strcat.3:108
-#: build/C/man3/strchr.3:122 build/C/man3/strcmp.3:75
-#: build/C/man3/strcoll.3:71 build/C/man3/strcpy.3:146
-#: build/C/man3/strdup.3:129 build/C/man3/strerror.3:208
-#: build/C/man3/strfry.3:60 build/C/man3/string.3:117 build/C/man3/strlen.3:53
-#: build/C/man3/strnlen.3:60 build/C/man3/strpbrk.3:61
-#: build/C/man3/strsep.3:96 build/C/man3/strsignal.3:86
-#: build/C/man3/strspn.3:77 build/C/man3/strstr.3:86 build/C/man3/strtok.3:212
-#: build/C/man3/strverscmp.3:93 build/C/man3/strxfrm.3:78
+#: build/C/man3/bcmp.3:80 build/C/man3/bcopy.3:79 build/C/man3/bstring.3:94
+#: build/C/man3/bzero.3:65 build/C/man3/ffs.3:113 build/C/man3/index.3:90
+#: 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:124 build/C/man3/stpncpy.3:103
+#: build/C/man3/strcasecmp.3:101 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:237
+#: 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:115 build/C/man3/stpncpy.3:76
-#: build/C/man3/strcasecmp.3:79 build/C/man3/strcat.3:115
-#: build/C/man3/strchr.3:129 build/C/man3/strcmp.3:82
-#: build/C/man3/strcoll.3:78 build/C/man3/strcpy.3:153
-#: build/C/man3/strdup.3:136 build/C/man3/strerror.3:215
-#: build/C/man3/strfry.3:67 build/C/man3/string.3:124 build/C/man3/strlen.3:60
-#: build/C/man3/strnlen.3:67 build/C/man3/strpbrk.3:68
-#: build/C/man3/strsep.3:103 build/C/man3/strsignal.3:93
-#: build/C/man3/strspn.3:84 build/C/man3/strstr.3:93 build/C/man3/strtok.3:219
-#: build/C/man3/strverscmp.3:100 build/C/man3/strxfrm.3:85
-#, fuzzy
-#| msgid ""
-#| "This page is part of release 3.40 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/."
-msgid ""
-"This page is part of release 3.41 of the Linux I<man-pages> project.  A "
-"description of the project, and information about reporting bugs, can be "
-"found at http://www.kernel.org/doc/man-pages/."
-msgstr ""
-"この man ページは Linux I<man-pages> プロジェクトのリリース 3.40 の一部\n"
+#: build/C/man3/bcmp.3:88 build/C/man3/bcopy.3:87 build/C/man3/bstring.3:102
+#: build/C/man3/bzero.3:73 build/C/man3/ffs.3:121 build/C/man3/index.3:98
+#: build/C/man3/memccpy.3:91 build/C/man3/memchr.3:163
+#: build/C/man3/memcmp.3:83 build/C/man3/memcpy.3:75 build/C/man3/memfrob.3:78
+#: build/C/man3/memmem.3:98 build/C/man3/memmove.3:84
+#: build/C/man3/mempcpy.3:93 build/C/man3/memset.3:73
+#: build/C/man3/stpcpy.3:132 build/C/man3/stpncpy.3:111
+#: build/C/man3/strcasecmp.3:109 build/C/man3/strcat.3:193
+#: build/C/man3/strchr.3:143 build/C/man3/strcmp.3:106
+#: build/C/man3/strcoll.3:96 build/C/man3/strcpy.3:245
+#: build/C/man3/strdup.3:149 build/C/man3/strerror.3:263
+#: build/C/man3/strfry.3:73 build/C/man3/string.3:241 build/C/man3/strlen.3:70
+#: build/C/man3/strnlen.3:88 build/C/man3/strpbrk.3:82
+#: build/C/man3/strsep.3:122 build/C/man3/strsignal.3:98
+#: build/C/man3/strspn.3:103 build/C/man3/strstr.3:116
+#: build/C/man3/strtok.3:287 build/C/man3/strverscmp.3:105
+#: build/C/man3/strxfrm.3:104
+msgid ""
+"This page is part of release 3.68 of the Linux I<man-pages> project.  A "
+"description of the project, information about reporting bugs, and the latest "
+"version of this page, can be found at \\%http://www.kernel.org/doc/man-"
+"pages/."
+msgstr ""
+"この man ページは Linux I<man-pages> プロジェクトのリリース 3.68 の一部\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
+#: build/C/man3/bcopy.3:33 build/C/man3/bzero.3:31
 #, no-wrap
-msgid "2009-03-15"
-msgstr "2009-03-15"
+msgid "2013-10-22"
+msgstr "2013-10-22"
 
 #. 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 build/C/man3/bstring.3:43
 #, 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."
@@ -315,12 +352,17 @@ 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
+msgid "The B<bcopy>()  function is thread-safe."
+msgstr "B<bcopy>() 関数はスレッドセーフである。"
+
+#. 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 "
@@ -334,25 +376,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"
+msgid "2014-05-28"
+msgstr "2014-05-28"
 
 #. 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"
@@ -361,72 +403,60 @@ 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:45 build/C/man3/bzero.3:39
 #, 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
-#, 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
-#, 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"
+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/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"
@@ -436,73 +466,70 @@ 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 "
 "descriptions of each function."
 msgstr ""
-"これらの関数は NULL 終端する必要のない文字列 (バイト配列) の操作を行う。 関数"
-"詳しい説明は、それぞれの man ページを参照すること。"
+"これらの関数はヌル終端する必要のない文字列 (バイト配列) の操作を行う。 関数の"
+"詳しい説明は、それぞれの 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:108
+#: build/C/man3/strcasecmp.3:78 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."
 msgstr ""
-"B<bcmp>(), B<bcopy>(), B<bzero>()  関数は古いものである。代わりに B<memcmp>"
-"(), B<memcpy>()  B<memset>()  を使うこと。"
+"B<bcmp>(), B<bcopy>(), B<bzero>()  関数は古いものである。代わりに "
+"B<memcmp>(), 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)"
+"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)"
 msgstr ""
-"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)"
+"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)"
 
 #. 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
-#, 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)."
@@ -512,6 +539,11 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/bzero.3:55
+msgid "The B<bzero>()  function is thread-safe."
+msgstr "B<bzero>() 関数はスレッドセーフである。"
+
+#. 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 "
@@ -522,83 +554,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/strcoll.3:28 build/C/man3/strfry.3:28
+#: build/C/man3/ffs.3:33
 #, no-wrap
-msgid "2010-09-20"
-msgstr "2010-09-20"
+msgid "2014-04-14"
+msgstr "2014-04-14"
 
 #. 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 ||"
@@ -607,35 +639,36 @@ 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 "
-"most significant position is, for example, 32 or 64.  The functions B<ffsll>"
-"()  and B<ffsl>()  do the same but take arguments of possibly different size."
+"most significant position is, for example, 32 or 64.  The functions "
+"B<ffsll>()  and B<ffsl>()  do the same but take arguments of possibly "
+"different size."
 msgstr ""
 "B<ffs>()  関数は、ワード I<i> の中で最初にセットされている (最下位)ビットの位"
 "置を返す。 最下位ビットの位置は 1、最上位ビットの位置は例えば 32 や 64 であ"
@@ -643,7 +676,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>."
@@ -652,56 +685,61 @@ msgstr ""
 "もセットされていなければ 0 を返す。"
 
 #. type: Plain text
-#: build/C/man3/ffs.3:92
+#: build/C/man3/ffs.3:99
+msgid "The B<ffs>(), B<ffsl>(), and B<ffsll>()  functions are thread-safe."
+msgstr "関数 B<ffs>(), B<ffsl>(), B<ffsll>() はスレッドセーフである。"
+
+#. type: Plain text
+#: build/C/man3/ffs.3:102
 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:108
 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:111
 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:113
 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"
+msgid "2014-04-01"
+msgstr "2014-04-01"
 
 #. 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>."
@@ -710,7 +748,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>."
@@ -719,15 +757,15 @@ msgstr ""
 "タを返す。"
 
 #. type: Plain text
-#: build/C/man3/index.3:53
+#: build/C/man3/index.3:55
 msgid ""
 "The terminating null byte (\\(aq\\e0\\(aq) is considered to be a part of the "
 "strings."
 msgstr ""
-"文字列を終端する NULL バイト (\\(aq\\e0\\(aq) は、文字列の一部とみなされる。"
+"文字列を終端するヌルバイト (\\(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."
@@ -736,7 +774,12 @@ msgstr ""
 "つからない場合は NULL を返す。"
 
 #. type: Plain text
-#: build/C/man3/index.3:71
+#: build/C/man3/index.3:69
+msgid "The B<index>()  and B<rindex>()  functions are thread-safe."
+msgstr "関数 B<index>() と B<rindex>() はスレッドセーフである。"
+
+#. type: Plain text
+#: build/C/man3/index.3:80
 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)  "
@@ -747,7 +790,7 @@ msgstr ""
 "に、 B<strchr>(3)  と B<strrchr>(3)  の使用が推奨されている。"
 
 #. type: Plain text
-#: build/C/man3/index.3:81
+#: build/C/man3/index.3:90
 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)"
@@ -756,24 +799,24 @@ 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
+#: build/C/man3/memccpy.3:30 build/C/man3/memchr.3:32
 #, no-wrap
-msgid "2009-01-13"
-msgstr "1993-04-10"
+msgid "2014-03-10"
+msgstr "2014-03-10"
 
 #. 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."
@@ -783,12 +826,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> "
@@ -798,51 +841,50 @@ msgstr ""
 "を指すポインタを返す。 見つからなかった場合、NULL を返す。"
 
 #. type: Plain text
-#: build/C/man3/memccpy.3:53
+#: build/C/man3/memccpy.3:75
+msgid "The B<memccpy>()  function is thread-safe."
+msgstr "B<memccpy>() 関数はスレッドセーフである。"
+
+#. 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
-#, no-wrap
-msgid "2012-04-23"
-msgstr "2012-04-23"
-
 #. 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
+#: 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 "
@@ -854,7 +896,7 @@ msgstr ""
 "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 "
@@ -865,16 +907,7 @@ 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 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:"
+#: 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 "
@@ -889,16 +922,16 @@ msgstr ""
 "はそのことを知っている)、最適化した方法で 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 "
@@ -908,7 +941,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."
@@ -917,80 +950,84 @@ 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
+msgid ""
+"The B<memchr>(), B<memrchr>(), and B<rawmemchr>()  functions are thread-safe."
+msgstr ""
+"関数 B<memchr>(), B<memrchr>(), B<rawmemchr>() はスレッドセーフである。"
+
+#. 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)"
+"B<ffs>(3), B<index>(3), B<rindex>(3), B<strchr>(3), B<strpbrk>(3), "
+"B<strrchr>(3), B<strsep>(3), B<strspn>(3), B<strstr>(3), B<wmemchr>(3)"
 msgstr ""
-"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)"
+"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)"
 
 #. 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
+#: build/C/man3/memcmp.3:30
 #, no-wrap
-msgid "2011-09-14"
-msgstr "2011-09-14"
+msgid "2014-03-14"
+msgstr "2014-03-14"
 
 #. 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 "
@@ -1001,39 +1038,55 @@ 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
+msgid "The B<memcmp>()  function is thread-safe."
+msgstr "B<memcmp>() 関数はスレッドセーフである。"
+
+#. 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)"
+"B<bcmp>(3), B<strcasecmp>(3), B<strcmp>(3), B<strcoll>(3), "
+"B<strncasecmp>(3), B<strncmp>(3), B<wmemcmp>(3)"
 msgstr ""
-"B<bcmp>(3), B<strcasecmp>(3), B<strcmp>(3), B<strcoll>(3), B<strncasecmp>"
-"(3), B<strncmp>(3), B<wmemcmp>(3)"
+"B<bcmp>(3), B<strcasecmp>(3), B<strcmp>(3), B<strcoll>(3), "
+"B<strncasecmp>(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
+#: build/C/man3/memcpy.3:30 build/C/man3/memfrob.3:30 build/C/man3/memmem.3:30
+#: build/C/man3/memmove.3:30
 #, no-wrap
-msgid "2010-11-15"
-msgstr "2010-11-15"
+msgid "2014-03-17"
+msgstr "2014-03-17"
 
 #. 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)  "
@@ -1044,12 +1097,17 @@ 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
+msgid "The B<memcpy>()  function is thread-safe."
+msgstr "B<memcpy>() 関数はスレッドセーフである。"
+
+#. 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)"
@@ -1058,24 +1116,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"
@@ -1085,7 +1137,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 "
@@ -1097,50 +1149,49 @@ 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
+msgid "The B<memfrob>()  function is thread-safe."
+msgstr "B<memfrob>() 関数はスレッドセーフである。"
+
+#. 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"
@@ -1150,7 +1201,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"
@@ -1160,7 +1211,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 "
@@ -1171,7 +1222,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."
@@ -1180,20 +1231,25 @@ 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
+msgid "The B<memmem>()  function is thread-safe."
+msgstr "B<memmem>() 関数はスレッドセーフである。"
+
+#. 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:72 build/C/man3/strcpy.3:124
-#: build/C/man3/strsep.3:77 build/C/man3/strstr.3:68 build/C/man3/strtok.3:118
+#: build/C/man3/memmem.3:66 build/C/man3/stpcpy.3:85 build/C/man3/strcpy.3:215
+#: 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 "
@@ -1205,10 +1261,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 ""
@@ -1218,29 +1274,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 "
@@ -1255,12 +1305,17 @@ 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
+msgid "The B<memmove>()  function is thread-safe."
+msgstr "B<memmove>() 関数はスレッドセーフである。"
+
+#. 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)"
@@ -1269,50 +1324,51 @@ 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
+#: build/C/man3/mempcpy.3:10 build/C/man3/memset.3:30
+#: build/C/man3/strerror.3:39
 #, no-wrap
-msgid "2008-08-12"
-msgstr "2008-08-11"
+msgid "2014-03-18"
+msgstr "2014-03-18"
 
 #. 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 "
@@ -1325,7 +1381,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."
@@ -1334,7 +1390,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."
@@ -1343,24 +1399,29 @@ 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
+msgid "The B<mempcpy>()  and B<wmempcpy>()  functions are thread-safe."
+msgstr "関数 B<mempcpy>() と B<wmempcpy>() はスレッドセーフである。"
+
 #. type: SH
-#: build/C/man3/mempcpy.3:56 build/C/man3/stpcpy.3:75
-#: build/C/man3/strtok.3:134
+#: build/C/man3/mempcpy.3:69 build/C/man3/stpcpy.3:88
+#: 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"
@@ -1381,29 +1442,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>."
@@ -1412,12 +1467,17 @@ 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
+msgid "The B<memset>()  function is thread-safe."
+msgstr "B<memset>() 関数はスレッドセーフである。"
+
+#. 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)"
 
@@ -1428,10 +1488,11 @@ msgid "STPCPY"
 msgstr "STPCPY"
 
 #. type: TH
-#: build/C/man3/stpcpy.3:25
+#: build/C/man3/stpcpy.3:25 build/C/man3/stpncpy.3:14
+#: build/C/man3/strcasecmp.3:30
 #, no-wrap
-msgid "2012-03-15"
-msgstr "2012-03-15"
+msgid "2014-05-10"
+msgstr "2014-05-10"
 
 #. type: Plain text
 #: build/C/man3/stpcpy.3:28
@@ -1439,7 +1500,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"
@@ -1450,73 +1511,74 @@ 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 "
 "I<dest>.  The strings may not overlap, and the destination string I<dest> "
 "must be large enough to receive the copy."
 msgstr ""
-"B<stpcpy>()  関数は、I<src> で指された文字列を (文字列を終端する NULL バイト "
+"B<stpcpy>()  関数は、I<src> で指された文字列を (文字列を終端するヌルバイト "
 "(\\(aq\\e0\\(aq) を含めて) I<dest> で指された配列にコピーする。 文字列は重複"
 "してはならず、コピー先の文字列 I<dest> はコピーを受け取る のに十分大きくなく"
 "てはならない。"
 
 #. 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."
 msgstr ""
 "B<stpcpy>()  は、文字列 I<dest> の始まりではなく B<終り>を指すポインタ (すな"
-"わち、文字列を終端する NULL バイト) を返す。"
+"わち、文字列を終端するヌルバイト) を返す。"
+
+#. type: Plain text
+#: build/C/man3/stpcpy.3:76
+msgid "The B<stpcpy>()  function is thread-safe."
+msgstr "B<stpcpy>() 関数はスレッドセーフである。"
 
 #. type: Plain text
-#: build/C/man3/stpcpy.3:72
-#, fuzzy
-#| 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 BSDs."
+#: build/C/man3/stpcpy.3:85
 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 "
-"BSDs."
+"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.  It first "
+"appeared at least as early as 1986, in the Lattice C AmigaDOS compiler, then "
+"in the GNU fileutils and GNU textutils in 1989, and in the GNU C library by "
+"1992.  It is also present on the BSDs."
 msgstr ""
 "この関数は POSIX.1-2008 に追加された。 それ以前は、この関数は C や POSIX.1 標"
-"準の一部でも UNIX システムの慣習的なものでもなかったが、 GNU の発明というわけ"
-"でもなかった。 ひょっとしたら MS-DOS 由来のものかもしれない。 この関数は BSD "
-"系にも存在する。"
+"準の一部でも UNIX システムの慣習的なものでもなかった。 この関数は Lattice C "
+"AmigaDOS コンパイラで初めて登場し、それは少なくとも 1986 年時点ではそうであっ"
+"た。 その後、 1989 年に GNU fileutils と GNU textutils に登場し、 1992 年まで"
+"には GNU C ライブラリにも存在していた。 この関数は BSD 系にも存在する。"
 
 #. type: Plain text
-#: build/C/man3/stpcpy.3:75
+#: build/C/man3/stpcpy.3:88
 msgid "This function may overrun the buffer I<dest>."
 msgstr "この関数はバッファ I<dest> の範囲を行き過ぎてしまう可能性がある。"
 
 #. type: Plain text
-#: build/C/man3/stpcpy.3:80
+#: build/C/man3/stpcpy.3:98
 msgid ""
 "For example, this program uses B<stpcpy>()  to concatenate B<foo> and B<bar> "
 "to produce B<foobar>, which it then prints."
@@ -1525,7 +1587,7 @@ msgstr ""
 "に B<stpcpy>()  を使用し、その後表示する。"
 
 #. type: Plain text
-#: build/C/man3/stpcpy.3:86
+#: build/C/man3/stpcpy.3:103
 #, no-wrap
 msgid ""
 "#define _GNU_SOURCE\n"
@@ -1537,7 +1599,7 @@ msgstr ""
 "#include E<lt>stdio.hE<gt>\n"
 
 #. type: Plain text
-#: build/C/man3/stpcpy.3:92
+#: build/C/man3/stpcpy.3:109
 #, no-wrap
 msgid ""
 "int\n"
@@ -1553,7 +1615,7 @@ msgstr ""
 "    char *to = buffer;\n"
 
 #. type: Plain text
-#: build/C/man3/stpcpy.3:97
+#: build/C/man3/stpcpy.3:114
 #, no-wrap
 msgid ""
 "    to = stpcpy(to, \"foo\");\n"
@@ -1567,7 +1629,7 @@ msgstr ""
 "}\n"
 
 #. type: Plain text
-#: build/C/man3/stpcpy.3:108
+#: build/C/man3/stpcpy.3:124
 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)"
@@ -1576,57 +1638,51 @@ 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/strsep.3:31 build/C/man3/strstr.3:31
-#, 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
 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"
-"(src)> が I<n> より小さい場合には I<dest> の残りの 部分には NULL バイト "
-"(\\(aq\\e0\\(aq) 文字が埋められる。 長さ I<strlen(src)> が I<n> 以上ならば、 "
-"I<dest> が指す文字列は NULL で終端されていない。"
+"B<stpncpy>()  関数は I<src> が指している文字列から終端のヌルバイト (\\(aq"
+"\\e0\\(aq)  を含めて最大 I<n> バイトを I<dest> にコピーする。長さ "
+"I<strlen(src)> が I<n> より小さい場合には I<dest> の残りの 部分にはヌルバイ"
+"ト (\\(aq\\e0\\(aq) 文字が埋められる。 長さ I<strlen(src)> が I<n> 以上なら"
+"ば、 I<dest> が指す文字列はヌルで終端されていない。"
 
 #. 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>."
@@ -1635,61 +1691,58 @@ 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> を返す。"
+"B<stpncpy>()  は I<dest> の終端のヌルバイトを指すポインターを返すか、 "
+"I<dest> がヌルバイトで終端されていない場合には I<dest>+I<n> を返す。"
 
 #. type: Plain text
-#: build/C/man3/stpncpy.3:66
+#: build/C/man3/stpncpy.3:96
+msgid "The B<stpncpy>()  function is thread-safe."
+msgstr "B<stpncpy>() 関数はスレッドセーフである。"
+
+#. type: Plain text
+#: build/C/man3/stpncpy.3:100
 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.  It first appeared in version 1.07 of the GNU C library in 1993."
 msgstr ""
-"この関数は POSIX.1-2008 に追加された。 それ以前は GNU による拡張であった。"
+"この関数は POSIX.1-2008 に追加された。 それ以前は GNU による拡張であった。 こ"
+"の関数は 1993 年に GNU C ライブラリのバージョン 1.07 で初めて登場した。"
 
 #. type: Plain text
-#: build/C/man3/stpncpy.3:69
+#: build/C/man3/stpncpy.3:103
 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:28 build/C/man3/strcat.3:30
-#: build/C/man3/strcmp.3:30 build/C/man3/strcpy.3:33 build/C/man3/strdup.3:29
-#: build/C/man3/strnlen.3:11 build/C/man3/strpbrk.3:28
-#: build/C/man3/strspn.3:28 build/C/man3/strtok.3:28 build/C/man3/strxfrm.3:28
-#, fuzzy, no-wrap
-#| msgid "2012-03-15"
-msgid "2012-05-10"
-msgstr "2012-03-15"
-
 #. 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 "
@@ -1701,20 +1754,16 @@ msgstr ""
 "ぞれ 負の整数、0、正の整数を返す。"
 
 #. type: Plain text
-#: build/C/man3/strcasecmp.3:52
-#, fuzzy
-#| msgid ""
-#| "The B<strncasecmp>()  function is similar, except it only compares the "
-#| "first I<n> characters of I<s1>."
+#: build/C/man3/strcasecmp.3:63
 msgid ""
-"The B<strncasecmp>()  function is similar, except it only compares the first "
+"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 "
@@ -1726,12 +1775,27 @@ 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:92
+msgid ""
+"The B<strcasecmp>()  and B<strncasecmp>()  functions first appeared in "
+"4.4BSD, where they were declared in I<E<lt>string.hE<gt>>.  Thus, for "
+"reasons of historical compatibility, the glibc I<E<lt>string.hE<gt>> header "
+"file also declares these functions, if the B<_DEFAULT_SOURCE> (or, in glibc "
+"2.19 and earlier, B<_BSD_SOURCE>)  feature test macro is defined."
+msgstr ""
+"関数 B<strcasecmp>() と B<strncasecmp>() は 4.4BSD で初めて登場し、 そのとき"
+"は I<E<lt>string.hE<gt>> に宣言があった。 このような、過去との互換性確保のた"
+"め、 機能検査マクロ B<_DEFAULT_SOURCE> (glibc 2.19 以前では B<_BSD_SOURCE>) "
+"が定義された際に、 glibc のヘッダーファイル I<E<lt>string.hE<gt>> でもこれら"
+"の関数が宣言されている。"
+
+#. type: Plain text
+#: build/C/man3/strcasecmp.3:101
 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)"
@@ -1740,106 +1804,106 @@ 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
+#, no-wrap
+msgid "2014-01-20"
+msgstr "2014-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> の最後にある終端のヌルバイト (\\(aq\\e0\\(aq)  は上書きされ、新た"
+"に生成された文字列の末尾に終端のヌルバイトが付与される。 二つの文字列 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
-#, fuzzy
-#| msgid "it will use at most I<n> characters from I<src>; and"
+#: build/C/man3/strcat.3:72
 msgid "it will use at most I<n> bytes from I<src>; and"
-msgstr "I<src> のうち最大 I<n> 文字が使用される。"
+msgstr "I<src> のうち最大 I<n> バイトが使用される。"
 
 #. type: Plain text
-#: build/C/man3/strcat.3:59
-#, fuzzy
-#| msgid ""
-#| "I<src> does not need to be null-terminated if it contains I<n> or more "
-#| "characters."
+#: build/C/man3/strcat.3:77
 msgid ""
 "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> はヌル終端されている必要はない。"
 
 #. 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."
 msgstr ""
-"B<strcat>()  と同じく、I<dest> に格納される結果の文字列は常に NULL 終端され"
-"る。"
+"B<strcat>()  と同じく、I<dest> に格納される結果の文字列は常にヌル終端される。"
 
 #. type: Plain text
-#: build/C/man3/strcat.3:70
-#, fuzzy
-#| 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>."
+#: build/C/man3/strcat.3:102
 msgid ""
 "If I<src> contains I<n> or more bytes, B<strncat>()  writes I<n+1> bytes to "
 "I<dest> (I<n> from I<src> plus the terminating null byte).  Therefore, the "
 "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> バイトと終端のヌルバイトである)。\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"
@@ -1855,7 +1919,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"
@@ -1867,7 +1931,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"
@@ -1877,7 +1941,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>."
@@ -1886,15 +1950,61 @@ 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
+msgid "The B<strcat>()  and B<strncat>()  functions are thread-safe."
+msgstr "関数 B<strcat>() と B<strncat>() はスレッドセーフである。"
+
+#. 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:178
+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 ""
+"この関数は、ヌル終端された文字列 I<src> を文字列 I<dest> に追加する。 具体例"
+"には、 I<size> が I<strlen(dest)> より大きい場合には最大で I<size-"
+"strlen(dest)-1> バイトを I<src> からコピーし、 結果の末尾に終端のヌルバイトを"
+"追加する。 この関数では 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)"
@@ -1903,42 +2013,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
-#, no-wrap
-msgid "2012-04-24"
-msgstr "2012-04-24"
-
 #. 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>."
@@ -1947,7 +2051,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>."
@@ -1956,7 +2060,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 "
@@ -1967,7 +2071,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."
@@ -1976,7 +2080,7 @@ msgstr ""
 "バイト文字では動作しない。"
 
 #. type: Plain text
-#: build/C/man3/strchr.3:91
+#: build/C/man3/strchr.3:93
 msgid ""
 "The B<strchr>()  and B<strrchr>()  functions return a pointer to the matched "
 "character or NULL if the character is not found.  The terminating null byte "
@@ -1984,12 +2088,12 @@ msgid ""
 "\\e0\\(aq, these functions return a pointer to the terminator."
 msgstr ""
 "B<strchr>() と B<strrchr>() 関数は一致した文字へのポインタを返し、もし\n"
-"文字が見つからない場合は NULL を返す。終端の NULL バイトは文字列の一部と\n"
+"文字が見つからない場合は 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 "
@@ -1999,21 +2103,28 @@ 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
 msgid ""
-"B<strchr>()  and B<strrchr>()  are in SVr4, 4.3BSD, C89, C99.  B<strchrnul>"
-"()  is a GNU extension."
+"The B<strchr>(), B<strrchr>(), and B<strchrnul>()  functions are thread-safe."
+msgstr ""
+"関数 B<strchr>(), B<strrchr>(), B<strchrnul>() はスレッドセーフである。"
+
+#. 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."
 msgstr ""
 "B<strchr>()  と B<strrchr>()  は SVr4, 4.3BSD, C89, C99 に準拠している。 "
 "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), "
@@ -2024,30 +2135,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 "
@@ -2058,20 +2169,16 @@ msgstr ""
 "2)等しい、3)大きい整数を返す。"
 
 #. type: Plain text
-#: build/C/man3/strcmp.3:54
-#, fuzzy
-#| msgid ""
-#| "The B<strncmp>()  function is similar, except it only compares the first "
-#| "(at most) I<n> characters of I<s1> and I<s2>."
+#: build/C/man3/strcmp.3:66
 msgid ""
-"The B<strncmp>()  function is similar, except it only compares the first (at "
-"most) I<n> bytes 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 "
@@ -2083,7 +2190,12 @@ msgstr ""
 "対応している。"
 
 #. type: Plain text
-#: build/C/man3/strcmp.3:75
+#: build/C/man3/strcmp.3:86
+msgid "The B<strcmp>()  and B<strncmp>()  functions are thread-safe."
+msgstr "関数 B<strcmp>() と B<strncmp>() はスレッドセーフである。"
+
+#. 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)"
@@ -2092,24 +2204,30 @@ 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: TH
+#: build/C/man3/strcoll.3:30 build/C/man3/strfry.3:30
+#, no-wrap
+msgid "2010-09-20"
+msgstr "2010-09-20"
+
 #. 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 "
@@ -2123,7 +2241,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 "
@@ -2135,16 +2253,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)"
@@ -2153,43 +2270,50 @@ 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
+#, no-wrap
+msgid "2014-05-21"
+msgstr "2014-05-21"
+
 #. 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 "
@@ -2201,21 +2325,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"
@@ -2229,7 +2353,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"
@@ -2243,7 +2367,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>."
@@ -2252,7 +2376,12 @@ msgstr ""
 "返す。"
 
 #. type: Plain text
-#: build/C/man3/strcpy.3:109
+#: build/C/man3/strcpy.3:123
+msgid "The B<strcpy>()  and B<strncpy>()  functions are thread-safe."
+msgstr "関数 B<strcpy>() と B<strncpy>() はスレッドセーフである。"
+
+#. 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 "
@@ -2264,35 +2393,100 @@ msgstr ""
 "を使うことができる。"
 
 #. type: Plain text
-#: build/C/man3/strcpy.3:116
-#, fuzzy
-#| 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:"
+#: build/C/man3/strcpy.3:147
+msgid ""
+"One valid (and intended) use of B<strncpy>()  is to copy a C string to a "
+"fixed-length buffer while ensuring both that the buffer is not overflowed "
+"and that unused bytes in the target buffer are zeroed out (perhaps to "
+"prevent information leaks if the buffer is to be written to media or "
+"transmitted to another process via an interprocess communication technique)."
+msgstr ""
+"B<strncpy>() の正しい (かつ意図された) 用途は、 C 文字列の固定長バッファへの"
+"コピーを、 バッファがオーバーフローしないことと、 宛先バッファの未使用バイト"
+"が 0 で埋められることの両方を保証しつつ行うことである。 (宛先バッファを 0 で"
+"埋めるのは、 たいていの場合、 バッファを媒体に書き込んだり、別のプロセスにプ"
+"ロセス間通信を用いて送信したりした場合に情報洩れを防ぐためである)。"
+
+#. type: Plain text
+#: build/C/man3/strcpy.3:160
 msgid ""
 "If there is no terminating null byte in the first I<n> bytes of I<src>, "
-"B<strncpy>()  produces an unterminated string in I<dest>.  Programmers often "
-"prevent this mistake by forcing termination as follows:"
+"B<strncpy>()  produces an unterminated string in I<dest>.  If I<buf> has "
+"length I<buflen>, you can force termination using something like the "
+"following:"
 msgstr ""
-"I<src> の最初の I<n> 文字に終端のヌルバイトがない場合、 B<strncpy>()  は "
-"I<dest> に終端されていない文字列を生成する。 プログラマは間違いを防止するため"
-"に、 以下のように強制的に終端を行うことがよくある。"
+"I<src> の最初の I<n> バイトに終端のヌルバイトがない場合、 B<strncpy>() は "
+"I<dest> に終端されていない文字列を生成する。 I<buf> の長さが I<buflen> の場"
+"合、以下のようにして強制的に終端することができる。"
+
+#. type: Plain text
+#: build/C/man3/strcpy.3:166
+#, no-wrap
+msgid ""
+"strncpy(buf, str, buflen - 1);\n"
+"if (buflen E<gt> 0)\n"
+"    buf[buflen - 1]= \\(aq\\e0\\(aq;\n"
+msgstr ""
+"strncpy(buf, str, buflen - 1);\n"
+"if (buflen E<gt> 0)\n"
+"    buf[buflen - 1]= \\(aq\\e0\\(aq;\n"
+
+#. type: Plain text
+#: build/C/man3/strcpy.3:176
+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<buflen\\ -\\ 1> バイ"
+"トよりも多い場合には、 I<dest> へのコピー時に情報が失われるという事実は無視し"
+"ている。)"
+
+#. type: SS
+#: build/C/man3/strcpy.3:176
+#, no-wrap
+msgid "strlcpy()"
+msgstr "strlcpy()"
 
 #. type: Plain text
-#: build/C/man3/strcpy.3:122
+#: build/C/man3/strcpy.3:180
 #, 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:215
 msgid ""
-"strncpy(buf, str, n);\n"
-"if (n E<gt> 0)\n"
-"    buf[n - 1]= \\(aq\\e0\\(aq;\n"
+"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 ""
-"strncpy(buf, str, n);\n"
-"if (n E<gt> 0)\n"
-"    buf[n - 1]= \\(aq\\e0\\(aq;\n"
+"この関数は B<strncpy>() と同様だが、 最大でも I<size-1> バイトしか I<dest> に"
+"コピーをせず、 末尾への終端のヌルバイトの追加が必ず行われ、 宛先バッファ (の"
+"未使用部分) へのヌルバイトの書き込みが行われない。 この関数では 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:135
+#: build/C/man3/strcpy.3:226
 msgid ""
 "If the destination string of a B<strcpy>()  is not large enough, then "
 "anything might happen.  Overflowing fixed-length string buffers is a "
@@ -2311,7 +2505,7 @@ msgstr ""
 "が可能になるような方法でプログラムが 変更されることもあるからだ。"
 
 #. type: Plain text
-#: build/C/man3/strcpy.3:146
+#: build/C/man3/strcpy.3:237
 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)"
@@ -2320,47 +2514,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:31
+#, no-wrap
+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"
@@ -2369,92 +2569,90 @@ 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 "
 "B<malloc>(3), and can be freed with B<free>(3)."
 msgstr ""
 "B<strdup>()  関数は、文字列 I<s>の複製である 新しい文字列へのポインタを返"
-"す。 新しい文字列のためのメモリは B<malloc>(3)  で得ている。 そして、 B<free>"
-"(3)  で解放することができる。"
+"す。 新しい文字列のためのメモリは B<malloc>(3)  で得ている。 そして、 "
+"B<free>(3)  で解放することができる。"
 
 #. type: Plain text
-#: build/C/man3/strdup.3:92
-#, fuzzy
-#| 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."
+#: build/C/man3/strdup.3:101
 msgid ""
-"The B<strndup>()  function is similar, but only copies at most I<n> bytes.  "
-"If I<s> is longer than I<n>, only I<n> bytes are copied, and a terminating "
-"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"
+"終端のヌルバイト (\\(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."
@@ -2463,7 +2661,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)"
@@ -2472,30 +2670,25 @@ 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
-#, no-wrap
-msgid "2012-04-22"
-msgstr "2012-04-22"
-
 #. type: Plain text
-#: build/C/man3/strerror.3:40
-msgid "strerror, strerror_r - return string describing error number"
-msgstr "strerror, strerror_r - エラー番号を説明する文字列を返す。"
+#: build/C/man3/strerror.3:42
+msgid ""
+"strerror, strerror_r, strerror_l - return string describing error number"
+msgstr "strerror, strerror_r, strerror_l - エラー番号を説明する文字列を返す。"
 
 #. 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"
@@ -2505,7 +2698,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"
@@ -2515,12 +2708,23 @@ 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:"
-msgstr "次の場合には XSI 準拠のバージョンの B<strerror_r>()  が提供される:"
+#: build/C/man3/strerror.3:55
+#, no-wrap
+msgid "B<char *strerror_l(int >I<errnum>B<, locale_t >I<locale>B<);>\n"
+msgstr "B<char *strerror_l(int >I<errnum>B<, locale_t >I<locale>B<);>\n"
+
+#. type: Plain text
+#: build/C/man3/strerror.3:64
+msgid "B<strerror_r>():"
+msgstr "B<strerror_r>():"
 
 #. type: Plain text
-#: build/C/man3/strerror.3:63
+#: build/C/man3/strerror.3:66
+msgid "The XSI-compliant version is provided if:"
+msgstr "次の場合には XSI 準拠のバージョンが提供される:"
+
+#. type: Plain text
+#: build/C/man3/strerror.3:68
 msgid ""
 "(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600) && !\\ "
 "_GNU_SOURCE"
@@ -2529,31 +2733,38 @@ 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
 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."
-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) も含まれる)。"
+"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> で渡されたエラーコードについての説明が"
+"入った文字列へのポインタを返す。 可能であるならば、適切な言語を選択するため"
+"に、 現在のロケールの B<LC_MESSAGES> を使う。(例えば、 I<errnum> が "
+"B<EINVAL> の場合、説明として \"Invalid argument\" が返される。) この文字列"
+"は、アプリケーションで変更してはならないが、 これ以降に行われる "
+"B<strerror>() や B<strerror_l>() の呼び出しで変更されても構わない。 "
+"B<perror>(3) などの、これ以外のライブラリ関数ではこの文字列は変更されない。"
+
+#. type: SS
+#: build/C/man3/strerror.3:95
+#, no-wrap
+msgid "strerror_r()"
+msgstr "strerror_r()"
 
 #. type: Plain text
-#: build/C/man3/strerror.3:106
+#: 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 "
@@ -2576,7 +2787,7 @@ msgstr ""
 "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 "
@@ -2587,7 +2798,7 @@ msgstr ""
 "ラー文字列を返す。"
 
 #. type: Plain text
-#: build/C/man3/strerror.3:134
+#: 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 "
@@ -2595,43 +2806,48 @@ 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>() は、エラーメッセージを格納した文字列へのポイ\n"
-"ンタを返す。返り値は、この関数が I<buf> に格納した文字列へのポインタか、\n"
-"何らかの (不変な) 静的な文字列へのポインタ、のいずれかとなる (後者の場\n"
-"合は I<buf> は使用されない)。 I<buf> に文字列が格納される場合は、最大で\n"
-"I<buflen> バイトが格納される (I<buflen> が小さ過ぎたときには文字列は切\n"
-"り詰められ、 I<errnum> は不定である)。文字列には必ず終端ヌル文字が含ま\n"
-"れる。"
+"GNU 仕様の B<strerror_r>() は、 エラーメッセージを格納した文字列へのポインタ"
+"を返す。 返り値は、 この関数が I<buf> に格納した文字列へのポインタか、 何らか"
+"の (不変な) 静的な文字列へのポインタ、 のいずれかとなる (後者の場合は I<buf> "
+"は使用されない)。 I<buf> に文字列が格納される場合は、 最大で I<buflen> バイト"
+"が格納される (I<buflen> が小さ過ぎたときには文字列は切り詰められ、 I<errnum> "
+"は不定である)。 文字列には必ず終端ヌル文字 (\\(aq\\e0\\(aq) が含まれる。"
+
+#. type: SS
+#: build/C/man3/strerror.3:145
+#, no-wrap
+msgid "strerror_l()"
+msgstr "strerror_l()"
 
 #. type: Plain text
-#: build/C/man3/strerror.3:142
+#: build/C/man3/strerror.3:160
 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."
+"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 ""
-"B<strerror>()  と B<strerror_r>()  はエラー内容を説明する 文字列を返す。エ"
-"ラー番号が未知の場合は \"Unknown error nnn\" という メッセージを返す。"
+"B<strerror_l>() は B<strerror>() と同様だが、 I<errnum> を I<locale> で指定さ"
+"れたロケールのロケール依存のエラーメッセージにマッピングする。 I<locale> が特"
+"別なロケールオブジェクト B<LC_GLOBAL_LOCALE> の場合、もしくは I<locale> が有"
+"効なロケールオブジェクトハンドルでない場合は、 B<strerror_l>() の動作は未定義"
+"である。"
 
 #. type: Plain text
-#: build/C/man3/strerror.3:155
+#: build/C/man3/strerror.3:169
 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."
+"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 ""
-"POSIX.1-2001 と POSIX.1-2008 では、 B<strerror>(3) が成功した場合は\n"
-"I<errno> を変更せずに元のままにしなければならないとされている。関数のど\n"
-"の返り値もエラーを示すために予約されていないので、エラーをチェックした\n"
-"いアプリケーションは呼び出しを行う前に I<errno> を 0 に初期化し、呼び出\n"
-"しの後で I<errno> をチェックすべき点に注意すること。"
+"関数 B<strerror>(), B<strerror_l>() と GNU 固有の関数 B<strerror_r>() はエ"
+"ラー内容を説明する文字列を返す。 エラー番号が未知の場合は \"Unknown error nnn"
+"\" という メッセージを返す。"
 
 #. type: Plain text
-#: build/C/man3/strerror.3:164
+#: 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 "
@@ -2641,47 +2857,83 @@ msgstr ""
 "(glibc 2.13 以降では) (正の) エラー番号が返され、(バージョン 2.13 より前\n"
 "の glibc では) -1 が返され、 I<errno> にエラーを示す値がセットされる。"
 
+#. type: Plain text
+#: build/C/man3/strerror.3:193
+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>() や B<strerror_l>() が成功し"
+"た場合は I<errno> を変更せずに元のままにしなければならないとされている。関数"
+"のどの返り値もエラーを示すために予約されていないので、エラーをチェックしたい"
+"アプリケーションは呼び出しを行う前に I<errno> を 0 に初期化し、呼び出しの後"
+"で 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
+msgid "The B<strerror_l>()  function first appeared in glibc 2.6."
+msgstr "B<strerror_l>() 関数は glibc 2.6 で初めて登場した。"
+
+#. type: Plain text
+#: build/C/man3/strerror.3:221
 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 で規定されている。"
+"B<strerror>()  は POSIX.1-2001, POSIX.1-2008, C89, C99 で規定されている。 "
+"B<strerror_r>()  は POSIX.1-2001 と POSIX.1-2008 で規定されている。"
 
 #. 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 "B<strerror_l>() は POSIX.1-2008 で規定されている。"
+
+#. 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
+#: 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 "
@@ -2700,29 +2952,33 @@ msgstr ""
 "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)"
-msgstr "B<err>(3), B<errno>(3), B<error>(3), B<perror>(3), B<strsignal>(3)"
+#: build/C/man3/strerror.3:255
+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), "
+"B<locale>(7)"
 
 #. 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 "
@@ -2733,35 +2989,35 @@ 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
+#: build/C/man3/string.3:30
 #, no-wrap
-msgid "2010-02-25"
-msgstr "2010-02-25"
+msgid "2014-01-04"
+msgstr "2014-01-04"
 
 #. 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, "
@@ -2774,64 +3030,333 @@ msgstr ""
 "作する関数"
 
 #. type: Plain text
-#: build/C/man3/string.3:61 build/C/man3/strspn.3:38
+#: build/C/man3/string.3:38
+msgid "B<#include E<lt>strings.hE<gt>>"
+msgstr "B<#include E<lt>strings.hE<gt>>"
+
+#. type: TP
+#: build/C/man3/string.3:38
 #, 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"
+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<);>"
 
 #. type: Plain text
-#: build/C/man3/string.3:67 build/C/man3/strlen.3:36
+#: build/C/man3/string.3:45
+msgid "Compare the strings I<s1> and I<s2> ignoring case."
+msgstr "文字列 I<s1> と I<s2> を大文字小文字の違いを無視して比較する。"
+
+#. type: TP
+#: build/C/man3/string.3:45
 #, no-wrap
-msgid "B<size_t strlen(const char *>I<s>B<);>\n"
-msgstr "B<size_t strlen(const char *>I<s>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<);>"
 
 #. type: Plain text
-#: build/C/man3/string.3:75 build/C/man3/strpbrk.3:36
+#: build/C/man3/string.3:54
+msgid ""
+"Compare the first I<n> characters of the strings I<s1> and I<s2> ignoring "
+"case."
+msgstr ""
+"文字列 I<s1> と I<s2> の最初の I<n> 文字を、大文字小文字の違いを無視して比較"
+"する。"
+
+#. type: TP
+#: build/C/man3/string.3:54
 #, 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"
+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<);>"
 
 #. type: Plain text
-#: build/C/man3/string.3:79 build/C/man3/strsep.3:39
+#: build/C/man3/string.3:60 build/C/man3/string.3:90
+msgid ""
+"Return a pointer to the first occurrence of the character I<c> in the string "
+"I<s>."
+msgstr "文字列 I<s> 中に最初に文字 I<c> が 現れた位置へのポインタを返す。"
+
+#. type: TP
+#: build/C/man3/string.3:60
 #, 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"
+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<);>"
 
 #. type: Plain text
-#: build/C/man3/string.3:81 build/C/man3/strspn.3:36
+#: build/C/man3/string.3:66 build/C/man3/string.3:171
+msgid ""
+"Return a pointer to the last occurrence of the character I<c> in the string "
+"I<s>."
+msgstr "文字列 I<s> 中に最後に文字 I<c> が 現れた位置へのポインタを返す。"
+
+#. type: TP
+#: build/C/man3/string.3:66
 #, 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"
+msgid "B<#include E<lt>string.hE<gt>>"
+msgstr "B<#include E<lt>string.hE<gt>>"
+
+#. type: TP
+#: build/C/man3/string.3:68
+#, no-wrap
+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<);>"
 
 #. type: Plain text
-#: build/C/man3/string.3:83 build/C/man3/strstr.3:39
+#: build/C/man3/string.3:76
+msgid ""
+"Copy a string from I<src> to I<dest>, returning a pointer to the end of the "
+"resulting string at I<dest>."
+msgstr ""
+"文字列を I<src> から I<dest> にコピーし、 I<dest> に格納された文字列の末尾へ"
+"のポインターを返す。"
+
+#. type: TP
+#: build/C/man3/string.3:76
 #, 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"
+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<);>"
+
+#. 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 ""
+"文字列 I<src> を文字列 I<dest> に追加し、 I<dest> へのポインターを返す。"
+
+#. type: TP
+#: build/C/man3/string.3:84
+#, no-wrap
+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<);>"
+
+#. type: TP
+#: build/C/man3/string.3:90
+#, no-wrap
+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<);>"
 
 #. type: Plain text
-#: build/C/man3/string.3:85
+#: build/C/man3/string.3:96
+msgid "Compare the strings I<s1> with I<s2>."
+msgstr "文字列 I<s1> と I<s2> を比較する。"
+
+#. type: TP
+#: build/C/man3/string.3:96
 #, no-wrap
-msgid "B<char *strtok(char *>I<s>B<, const char *>I<delim>B<);>\n"
-msgstr "B<char *strtok(char *>I<s>B<, const char *>I<delim>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<);>"
 
 #. type: Plain text
-#: build/C/man3/string.3:87 build/C/man3/strxfrm.3:36
+#: build/C/man3/string.3:103
+msgid "Compare the strings I<s1> with I<s2> using the current locale."
+msgstr "現在のロケールを使用して、文字列 I<s1> を I<s2> と比較する"
+
+#. type: TP
+#: build/C/man3/string.3:103
 #, 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"
+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<);>"
+
+#. type: Plain text
+#: build/C/man3/string.3:111
+msgid ""
+"Copy the string I<src> to I<dest>, returning a pointer to the start of "
+"I<dest>."
+msgstr ""
+"文字列 I<src> を I<dest> にコピーし、 I<dest> の先頭へのポインタを返す。"
+
+#. type: TP
+#: build/C/man3/string.3:111
+#, no-wrap
+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<);>"
+
+#. type: Plain text
+#: build/C/man3/string.3:117
+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 ""
+"文字列 I<s> の、文字列 I<reject> に含まれないバイトだけで構成される最初の部分"
+"文字列の長さを計算する。"
+
+#. type: TP
+#: build/C/man3/string.3:117
+#, no-wrap
+msgid "B<char *strdup(const char *>I<s>B<);>"
+msgstr "B<char *strdup(const char *>I<s>B<);>"
+
+#. 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 "文字列 I<s> を、B<malloc>(3) を使って確保したメモリに複製して返す。"
+
+#. type: TP
+#: build/C/man3/string.3:123
+#, no-wrap
+msgid "B<char *strfry(char *>I<string>B<);>"
+msgstr "B<char *strfry(char *>I<string>B<);>"
+
+#. type: Plain text
+#: build/C/man3/string.3:127
+msgid "Randomly swap the characters in I<string>."
+msgstr "I<string> 中の文字をランダムに並び替える。"
+
+#. type: TP
+#: build/C/man3/string.3:127
+#, no-wrap
+msgid "B<size_t strlen(const char *>I<s>B<);>"
+msgstr "B<size_t strlen(const char *>I<s>B<);>"
+
+#. type: Plain text
+#: build/C/man3/string.3:131
+msgid "Return the length of the string I<s>."
+msgstr "文字列 I<s> の長さを返す。"
+
+#. type: TP
+#: build/C/man3/string.3:131
+#, no-wrap
+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<);>"
+
+#. 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 ""
+"文字列 I<src> の最大 I<n> 文字を文字列 I<dest> に追加し、I<dest> へのポイン"
+"ターを返す。"
+
+#. type: TP
+#: build/C/man3/string.3:141
+#, no-wrap
+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<);>"
+
+#. type: Plain text
+#: build/C/man3/string.3:149
+msgid "Compare at most I<n> bytes of the strings I<s1> and I<s2>."
+msgstr "文字列 I<s1> と I<s2> を最大 I<n> バイトまで比較する。"
+
+#. type: TP
+#: build/C/man3/string.3:149
+#, no-wrap
+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<);>"
+
+#. 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 ""
+"文字列 I<src> から I<dest> へ最大 I<n> バイトをコピーし、 I<dest> の先頭への"
+"ポインターを返す。"
+
+#. type: TP
+#: build/C/man3/string.3:159
+#, no-wrap
+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<);>"
+
+#. type: Plain text
+#: build/C/man3/string.3:165
+msgid ""
+"Return a pointer to the first occurrence in the string I<s> of one of the "
+"bytes in the string I<accept>."
+msgstr ""
+"文字列 I<accept> に含まれるバイトのいずれかが、文字列 I<s> 内で最初に現れる位"
+"置を特定する。"
+
+#. type: TP
+#: build/C/man3/string.3:165
+#, no-wrap
+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<);>"
+
+#. type: TP
+#: build/C/man3/string.3:171
+#, no-wrap
+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<);>"
+
+#. type: Plain text
+#: 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 ""
+"文字列 I<s> から、I<delim> のいずれかのバイトで区切った最初のトークンを取り出"
+"す。"
+
+#. type: TP
+#: build/C/man3/string.3:177
+#, no-wrap
+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<);>"
 
 #. type: Plain text
-#: build/C/man3/string.3:92
+#: build/C/man3/string.3:183
+msgid ""
+"Calculate the length of the starting segment in the string I<s> that "
+"consists entirely of bytes in I<accept>."
+msgstr ""
+"文字列 I<s> 中の I<accept> に含まれる文字だけで構成される最初の部分文字列の長"
+"さを計算する。"
+
+#. type: TP
+#: build/C/man3/string.3:183
+#, no-wrap
+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<);>"
+
+#. type: Plain text
+#: build/C/man3/string.3:190
+msgid ""
+"Find the first occurrence of the substring I<needle> in the string "
+"I<haystack>, returning a pointer to the found substring."
+msgstr ""
+"部分文字列 I<needle> が文字列 I<haystack> 中 で最初に現れる位置を探し、その部"
+"分文字列へのポインターを返す。"
+
+#. type: TP
+#: build/C/man3/string.3:190
+#, no-wrap
+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<);>"
+
+#. type: Plain text
+#: 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 ""
+"文字列 I<s> から、I<delim> のいずれかのバイトで区切ったトークンを取り出す。"
+
+#. type: TP
+#: build/C/man3/string.3:196
+#, no-wrap
+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<);>"
+
+#. type: Plain text
+#: build/C/man3/string.3:204
+msgid ""
+"Transforms I<src> to the current locale and copies the first I<n> characters "
+"to I<dest>."
+msgstr ""
+"I<src> を現在のロケールに変換し、最初の I<n> 文字を I<dest> にコピーする。"
+
+#. 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."
 msgstr ""
-"文字列関数は、NULL 終端された文字列に 対して、文字列操作を実行する。 それぞれ"
+"文字列関数は、ヌル終端された文字列に 対して、文字列操作を実行する。 それぞれ"
 "の関数の説明については個々の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), "
@@ -2846,155 +3371,158 @@ 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:28
-#, fuzzy, no-wrap
-#| msgid "2012-04-24"
-msgid "2012-05-04"
-msgstr "2012-04-24"
+#: build/C/man3/strlen.3:30 build/C/man3/strnlen.3:13
+#: build/C/man3/strpbrk.3:30 build/C/man3/strsep.3:33
+#, no-wrap
+msgid "2014-02-25"
+msgstr "2014-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)."
 msgstr ""
-"B<strlen>()  関数は文字列 I<s> の長さを計算する。 このとき、終端 NULL バイト "
+"B<strlen>()  関数は文字列 I<s> の長さを計算する。 このとき、終端ヌルバイト "
 "(\\(aq\\e0\\(aq) は計算に含まれない。"
 
 #. type: Plain text
-#: build/C/man3/strlen.3:46
-#, fuzzy
-#| msgid "The B<strlen>()  function returns the number of characters in 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> の中の文字数を返す。"
+msgstr "B<strlen>() 関数は文字列 I<s> のバイト数を返す。"
 
 #. type: Plain text
-#: build/C/man3/strlen.3:53
+#: build/C/man3/strlen.3:55
+msgid "The B<strlen>()  function is thread-safe."
+msgstr "B<strlen>() 関数はスレッドセーフである。"
+
+#. type: Plain text
+#: 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
-#, fuzzy
-#| 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>."
+#: build/C/man3/strnlen.3:58
 msgid ""
 "The B<strnlen>()  function returns the number of bytes in the string pointed "
-"to by I<s>, excluding the terminating null bye (\\(aq\\e0\\(aq), but at most "
-"I<maxlen>.  In doing this, B<strnlen>()  looks only at the first I<maxlen> "
-"bytes at I<s> and never beyond I<s+maxlen>."
+"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"
+"終端のヌルバイト (\\(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
-#, fuzzy
-#| 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>."
+#: 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> 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> バイトまでにヌルバイト\n"
+"(\\(aq\\e0\\(aq) 文字を含まない場合には I<maxlen> を返す。"
 
 #. type: Plain text
-#: build/C/man3/strnlen.3:58
+#: build/C/man3/strnlen.3:76
+msgid "The B<strnlen>()  function is thread-safe."
+msgstr "B<strnlen>() 関数はスレッドセーフである。"
+
+#. 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
-#, fuzzy
-#| msgid "strpbrk - search a string for any of a set of characters"
+#: build/C/man3/strpbrk.3:33
 msgid "strpbrk - search a string for any of a set of bytes"
-msgstr "strpbrk - 文字セット中の文字を文字列から検出する"
+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
-#, fuzzy
-#| msgid ""
-#| "The B<strpbrk>()  function locates the first occurrence in the string "
-#| "I<s> of any of the characters in the string I<accept>."
+#: build/C/man3/strpbrk.3:47
 msgid ""
 "The B<strpbrk>()  function locates the first occurrence in the string I<s> "
 "of any of the bytes in the string I<accept>."
 msgstr ""
-"B<strpbrk>()  関数は文字列 I<accept> に含まれる文字が文字列 I<s> に おいて最"
-"初に現れる位置を捜し出す。"
+"B<strpbrk>() 関数は、文字列 I<accept> に含まれるバイトのいずれかが、\n"
+"文字列 I<s> 内で最初に現れる位置を特定する。"
 
 #. type: Plain text
-#: build/C/man3/strpbrk.3:48
-#, fuzzy
-#| 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."
+#: build/C/man3/strpbrk.3:56
 msgid ""
 "The B<strpbrk>()  function returns a pointer to the byte in I<s> that "
 "matches one of the bytes in I<accept>, or NULL if no such byte is found."
 msgstr ""
-"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
+msgid "The B<strpbrk>()  function is thread-safe."
+msgstr "B<strpbrk>() 関数はスレッドセーフである。"
+
+#. 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)"
@@ -3003,41 +3531,47 @@ 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
 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 ""
 "I<*stringp> が NULL の場合、 B<strsep>()  関数は何もせずに NULL を返す。 さも"
-"なければ、文字列 I<stringp> を I<delim> に含まれる文字で区切った トークンのう"
-"ã\81¡æ\9c\80å\88\9dã\81®ã\82\82ã\81®ã\82\92è¿\94ã\81\99ã\80\82 ã\83\88ã\83¼ã\82¯ã\83³ã\81¯ã\80\81å\8cºå\88\87ã\82\8aæ\96\87å­\97ã\82\92 NULL ã\83\90ã\82¤ã\83\88 (\\(aq\\e0\\(aq) ã\81§"
-"上書きすることで 終端される。 I<*stringp> は切り出されたトークンの次の位置を"
-"示すように更新される。 区切り文字が見つからない場合、I<*stringp> 文字列全体が"
-"トークンとして 扱われ、I<*stringp> は NULL となる。"
+"なければ、文字列 I<stringp> を I<delim> に含まれるいずれかのバイトで区切った"
+"ã\83\88ã\83¼ã\82¯ã\83³ã\81®ã\81\86ã\81¡æ\9c\80å\88\9dã\81®ã\82\82ã\81®ã\82\92è¿\94ã\81\99ã\80\82 ã\83\88ã\83¼ã\82¯ã\83³ã\81¯ã\80\81å\8cºå\88\87ã\82\8aæ\96\87å­\97ã\82\92ã\83\8cã\83«ã\83\90ã\82¤ã\83\88 (\\(aq"
+"\\e0\\(aq) で上書きすることで 終端される。 I<*stringp> は切り出されたトークン"
+"の次の位置を示すように更新される。 区切り文字が見つからない場合、I<*stringp> "
+"文字列全体がトークンとして 扱われ、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>."
@@ -3046,12 +3580,17 @@ msgstr ""
 "値を返す。"
 
 #. type: Plain text
-#: build/C/man3/strsep.3:68
+#: build/C/man3/strsep.3:84
+msgid "The B<strsep>()  function is thread-safe."
+msgstr "B<strsep>() 関数はスレッドセーフである。"
+
+#. 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)  "
@@ -3062,28 +3601,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/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)"
@@ -3092,51 +3631,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 "
@@ -3147,94 +3686,101 @@ msgstr ""
 "に B<strsignal>()  関数を 使うべきである。"
 
 #. type: Plain text
-#: build/C/man3/strsignal.3:80
+#: build/C/man3/strsignal.3:84
 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 はそう"
-"ã\81§ã\81¯ã\81ªã\81\84ã\81\8c)ä¸\8dæ­£ã\81ªã\82·ã\82°ã\83\8aã\83«ç\95ªå\8f·ã\81«å¯¾ã\81\97ã\81¦ã\80\81 NULL ã\83\9dã\82¤ã\83³ã\82¿ã\82\92 返すシステムもある。"
+"場合は、未知のシグナル (unknown signal) を示す メッセージを返す。 (Linux はそ"
+"ã\81\86ã\81§ã\81¯ã\81ªã\81\84ã\81\8c)ä¸\8dæ­£ã\81ªã\82·ã\82°ã\83\8aã\83«ç\95ªå\8f·ã\81«å¯¾ã\81\97ã\81¦ã\80\81 NULL ã\82\92返すシステムもある。"
 
 #. 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
+#, no-wrap
+msgid "2014-02-28"
+msgstr "2014-02-28"
+
 #. type: Plain text
-#: build/C/man3/strspn.3:31
-#, fuzzy
-#| msgid "strspn, strcspn - search a string for a set of characters"
-msgid "strspn, strcspn - search a string for a set of bytes"
-msgstr "strspn, strcspn - 文字列から文字のセットを探す"
+#: build/C/man3/strspn.3:33
+msgid "strspn, strcspn - get length of a prefix substring"
+msgstr "strspn, strcspn - プレフィックス部分文字列の長さを返す"
 
 #. type: Plain text
-#: build/C/man3/strspn.3:45
-#, fuzzy
-#| msgid ""
-#| "The B<strspn>()  function calculates the length of the initial segment of "
-#| "I<s> which consists entirely of characters in I<accept>."
+#: 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: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:49
 msgid ""
 "The B<strspn>()  function calculates the length (in bytes) of the initial "
 "segment of I<s> which consists entirely of bytes in I<accept>."
 msgstr ""
-"B<strspn>()  関数は、I<accept> に含まれる文字だけで構成される文字列 を I<s> "
-"から探し、その最初の部分の長さを計算する。"
+"B<strspn>() 関数は、 I<s> から、I<accept> に含まれる文字だけで\n"
+"構成される最初の部分文字列を探し、\n"
+"その部分の (バイト単位の) 長さを計算する。"
 
 #. type: Plain text
-#: build/C/man3/strspn.3:51
-#, fuzzy
-#| msgid ""
-#| "The B<strcspn>()  function calculates the length of the initial segment "
-#| "of I<s> which consists entirely of characters not in I<reject>."
+#: 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 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
-#, fuzzy
-#| 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>."
+#: build/C/man3/strspn.3:66
 msgid ""
 "The B<strspn>()  function returns the number of bytes in the initial segment "
 "of I<s> which consist only of bytes from I<accept>."
 msgstr ""
-"B<strspn>()  関数は、I<accept> からの文字だけで構成される I<s> の 最初の部分"
-"の文字の数を返す。"
+"B<strspn>() 関数は、 I<s> 内の、I<accept> からの文字だけで\n"
+"構成される最初の部分文字列のバイト数を返す。"
 
 #. type: Plain text
-#: build/C/man3/strspn.3:63
-#, fuzzy
-#| msgid ""
-#| "The B<strcspn>()  function returns the number of characters in the "
-#| "initial segment of I<s> which are not in the string I<reject>."
+#: build/C/man3/strspn.3:74
 msgid ""
 "The B<strcspn>()  function returns the number of bytes in the initial "
 "segment of I<s> which are not in the string I<reject>."
 msgstr ""
-"B<strcspn>()  関数は、I<s> の最初の部分で、文字列 I<reject> に 含まれない文字"
-"数を返す。"
+"B<strcspn>() 関数は、I<s> 内の、文字列 I<reject> に含まれない\n"
+"文字だけで構成される最初の部分文字列のバイト数を返す。"
 
 #. type: Plain text
-#: build/C/man3/strspn.3:77
+#: build/C/man3/strspn.3:81
+msgid "The B<strspn>()  and B<strcspn>()  functions are thread-safe."
+msgstr "関数 B<strspn>() と B<strcspn>() はスレッドセーフである。"
+
+#. type: Plain text
+#: 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), "
@@ -3245,35 +3791,46 @@ 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
+#, no-wrap
+msgid "2014-01-22"
+msgstr "2014-01-22"
+
 #. 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"
 "\\e0\\(aq) are not compared."
 msgstr ""
 "B<strstr>()  関数は、部分文字列 I<needle> が文字列 I<haystack> 中 で最初に現"
-"れる位置を見つける。 文字列を終端 NULL バイト (\\(aq\\e0\\(aq) は比較されな"
-"い。"
+"れる位置を見つける。 文字列を終端ヌルバイト (\\(aq\\e0\\(aq) は比較されない。"
 
 #. 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."
@@ -3282,16 +3839,32 @@ msgstr ""
 "字小文字を無視する。"
 
 #. type: Plain text
-#: build/C/man3/strstr.3:61
+#: build/C/man3/strstr.3:65
 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 を返す。"
+"これらの関数は、見つかった部分文字列の開始を指すポインタを返し、 もし部分文字"
+"列が見つからない場合は NULL を返す。"
 
 #. type: Plain text
-#: build/C/man3/strstr.3:68
+#: build/C/man3/strstr.3:70
+msgid "The B<strstr>()  function is thread-safe."
+msgstr "B<strstr>() 関数はスレッドセーフである。"
+
+#. 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 ""
+"B<strcasestr>() 関数は、例外付きのスレッドセーフである。実行中に "
+"B<setlocale>(3) を呼び出してロケールを変更しない限り、マルチスレッドアプリ"
+"ケーションで安全に使用することができる。"
+
+#. 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."
@@ -3300,7 +3873,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 "
@@ -3311,7 +3884,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), "
@@ -3322,30 +3895,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:32
+#, no-wrap
+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"
@@ -3354,81 +3933,113 @@ 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
-#, fuzzy
-#| 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."
+#: build/C/man3/strtok.3:75
 msgid ""
 "The I<delim> argument specifies a set of bytes that delimit the tokens in "
 "the parsed string.  The caller may specify different strings in I<delim> in "
 "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
-#, fuzzy
-#| 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."
+#: 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 "
 "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>() のそれぞれの呼び出しでは、次のトークンを格納したヌル終端\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
-#, fuzzy
-#| 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."
+#: build/C/man3/strtok.3:104
 msgid ""
-"A sequence of two or more contiguous delimiter bytes in the parsed string is "
-"considered to be a single delimiter.  Delimiter bytes at the start or end of "
-"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 ""
+"各トークンの末尾は、次の区切りバイトが見つかるか、終端のヌルバイト (\\(aq"
+"\\e0\\(aq) に達するまで文字列を前方に検索することで見つかる。 区切りバイトが"
+"見つかった場合には、 現在のトークンの終わりを示すために、 見つかった区切りバ"
+"イトがヌルバイトで上書きされ、 B<strtok>() はポインタを次のバイトに設定す"
+"る。 このポインタは、次のトークンを検索する際の開始点として使用される。 この"
+"場合、 B<strtok>() は見つかったトークンの先頭へのポインタを返す。"
+
+#. type: Plain text
+#: build/C/man3/strtok.3:131
+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>\" が返り、その次にヌルポインタが返る。"
+
+#. 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>"
-"()  の呼び出し間で処理状況を保存するために 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> "
@@ -3440,7 +4051,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."
@@ -3449,7 +4060,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."
@@ -3457,54 +4068,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:127
-#, fuzzy
-#| msgid "The identity of the delimiting character is lost."
+#: build/C/man3/strtok.3:194
 msgid "The identity of the delimiting byte is lost."
-msgstr "区切り文字自体は失われてしまう。"
+msgstr "区切りバイト自体は失われてしまう。"
 
 #. type: Plain text
-#: build/C/man3/strtok.3:134
+#: 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."
@@ -3513,15 +4132,7 @@ msgstr ""
 "い。 これが問題になる場合は B<strtok_r>()  を用いること。"
 
 #. type: Plain text
-#: build/C/man3/strtok.3:143
-#, fuzzy
-#| 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."
+#: 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 "
@@ -3530,19 +4141,20 @@ msgid ""
 "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"
@@ -3566,13 +4178,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"
@@ -3584,7 +4196,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"
@@ -3602,7 +4214,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"
@@ -3618,7 +4230,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"
@@ -3634,7 +4246,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"
@@ -3654,7 +4266,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"
@@ -3664,14 +4276,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)."
+"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)"
@@ -3680,36 +4292,36 @@ 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>, ..., "
-"I<jan9>.  In order to rectify this, GNU introduced the I<-v> option to B<ls>"
-"(1), which is implemented using B<versionsort>(3), which again uses "
+"I<jan9>.  In order to rectify this, GNU introduced the I<-v> option to "
+"B<ls>(1), which is implemented using B<versionsort>(3), which again uses "
 "B<strverscmp>()."
 msgstr ""
 "I<jan1>, I<jan2>, ..., I<jan9>, I<jan10>, ...  といった名前のファイルがある状"
@@ -3720,24 +4332,24 @@ 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 "
+"0.  Otherwise, find the position between two bytes with the property that "
 "before it both strings are equal, while directly after it there is a "
 "difference.  Find the largest consecutive digit strings containing (or "
 "starting at, or ending at) this position.  If one or both of these is empty, "
@@ -3761,7 +4373,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 "
@@ -3772,50 +4384,54 @@ 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: TH
+#: build/C/man3/strxfrm.3:30
+#, no-wrap
+msgid "2012-05-10"
+msgstr "2012-05-10"
+
 #. 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
-#, fuzzy
-#| 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 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))."
+#: 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> 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))."
+"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"
@@ -3823,35 +4439,23 @@ msgid ""
 "are indeterminate."
 msgstr ""
 "B<strxfrm>()  関数は、変換された文字列を I<dest> に代入するときに 必要なバイ"
-"ト数から、終端の NULL バイト (\\(aq\\e0\\(aq) の分を 引いたものを返す。もし返"
-"値が I<n> 以上の場合、 I<dest> の内容は不定となる。"
+"ト数から、終端のヌルバイト (\\(aq\\e0\\(aq) の分を 引いたものを返す。もし返り"
+"値が 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>()  は、 関数 "
+"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)"
 msgstr ""
 "B<bcmp>(3), B<memcmp>(3), B<setlocale>(3), B<strcasecmp>(3), B<strcmp>(3), "
 "B<strcoll>(3), B<string>(3)"
-
-#~ msgid "2011-10-01"
-#~ msgstr "2011-10-01"
-
-#~ msgid "2010-09-27"
-#~ msgstr "2010-09-27"
-
-#~ msgid "2009-03-30"
-#~ msgstr "2009-03-30"
-
-#~ msgid "2009-12-04"
-#~ msgstr "2009-12-04"