OSDN Git Service

Update minor changes in LDP 3.68
[linuxjm/LDP_man-pages.git] / po4a / stdio / po / ja.po
index 868a9e7..2517d2a 100644 (file)
@@ -6,8 +6,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2012-05-01 04:22+0900\n"
-"PO-Revision-Date: 2012-05-01 05:56+0900\n"
+"POT-Creation-Date: 2014-06-08 01:30+0900\n"
+"PO-Revision-Date: 2014-06-08 02:36+0900\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "Language: \n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "Language: \n"
@@ -16,205 +16,212 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 
 #. type: TH
 "Content-Transfer-Encoding: 8bit\n"
 
 #. type: TH
-#: build/C/man3/asprintf.3:25
+#: build/C/man3/asprintf.3:27
 #, no-wrap
 msgid "ASPRINTF"
 msgstr "ASPRINTF"
 
 #. type: TH
 #, no-wrap
 msgid "ASPRINTF"
 msgstr "ASPRINTF"
 
 #. type: TH
-#: build/C/man3/asprintf.3:25
+#: build/C/man3/asprintf.3:27 build/C/man3/fcloseall.3:25
+#: build/C/man3/fmtmsg.3:13 build/C/man3/stdio_ext.3:25
 #, no-wrap
 #, no-wrap
-msgid "2001-12-18"
-msgstr "2001-12-18"
+msgid "2013-06-21"
+msgstr "2013-06-21"
 
 #. type: TH
 
 #. type: TH
-#: build/C/man3/asprintf.3:25 build/C/man3/ctermid.3:24
-#: build/C/man3/dprintf.3:25 build/C/man3/fclose.3:42
-#: build/C/man3/fcloseall.3:24 build/C/man3/fflush.3:43
-#: build/C/man3/fgetwc.3:16 build/C/man3/fmemopen.3:6 build/C/man3/fopen.3:42
-#: build/C/man3/fputwc.3:14 build/C/man3/fread.3:43 build/C/man3/fseek.3:40
-#: build/C/man3/getline.3:24 build/C/man3/gets.3:25 build/C/man3/getw.3:23
-#: build/C/man3/popen.3:38 build/C/man3/printf.3:34 build/C/man3/puts.3:24
-#: build/C/man3/remove.3:31 build/C/man3/scanf.3:50 build/C/man3/wprintf.3:14
+#: build/C/man3/asprintf.3:27 build/C/man3/ctermid.3:26
+#: build/C/man3/dprintf.3:26 build/C/man3/fclose.3:44
+#: build/C/man3/fcloseall.3:25 build/C/man3/fflush.3:45
+#: build/C/man3/fgetc.3:27 build/C/man3/fgetwc.3:18 build/C/man3/fmemopen.3:10
+#: build/C/man3/fopen.3:44 build/C/man3/fputwc.3:16 build/C/man3/fread.3:45
+#: build/C/man3/fseek.3:42 build/C/man3/getline.3:26 build/C/man3/gets.3:29
+#: build/C/man3/getw.3:25 build/C/man3/popen.3:40 build/C/man3/printf.3:34
+#: build/C/man3/puts.3:26 build/C/man3/remove.3:31 build/C/man3/scanf.3:52
+#: build/C/man3/wprintf.3:16
 #, no-wrap
 msgid "GNU"
 msgstr "GNU"
 
 #. type: TH
 #, no-wrap
 msgid "GNU"
 msgstr "GNU"
 
 #. type: TH
-#: build/C/man3/asprintf.3:25 build/C/man3/ctermid.3:24
-#: build/C/man3/dprintf.3:25 build/C/man3/fclose.3:42
-#: build/C/man3/fcloseall.3:24 build/C/man3/ferror.3:42
-#: build/C/man3/fflush.3:43 build/C/man3/fgetwc.3:16
-#: build/C/man3/flockfile.3:23 build/C/man3/fmemopen.3:6
-#: build/C/man3/fmtmsg.3:9 build/C/man3/fopen.3:42
-#: build/C/man3/fopencookie.3:24 build/C/man3/fpurge.3:23
-#: build/C/man3/fputwc.3:14 build/C/man3/fread.3:43 build/C/man3/fseek.3:40
-#: build/C/man3/fseeko.3:23 build/C/man3/getline.3:24 build/C/man3/gets.3:25
-#: build/C/man3/getw.3:23 build/C/man2/link.2:31 build/C/man2/llseek.2:26
-#: build/C/man2/lseek.2:45 build/C/man3/lseek64.3:23 build/C/man2/open.2:52
-#: build/C/man3/perror.3:30 build/C/man2/pipe.2:36 build/C/man3/popen.3:38
-#: build/C/man3/printf.3:34 build/C/man3/puts.3:24 build/C/man2/read.2:35
-#: build/C/man2/readlink.2:41 build/C/man2/readv.2:30 build/C/man3/remove.3:31
-#: build/C/man2/rename.2:32 build/C/man2/rmdir.2:30 build/C/man3/scanf.3:50
-#: build/C/man3/setbuf.3:46 build/C/man3/stdin.3:9 build/C/man3/stdio.3:37
-#: build/C/man3/stdio_ext.3:23 build/C/man2/symlink.2:32
-#: build/C/man7/symlink.7:35 build/C/man3/tempnam.3:23
-#: build/C/man3/tmpfile.3:29 build/C/man3/tmpnam.3:25 build/C/man2/unlink.2:32
-#: build/C/man3/unlocked_stdio.3:23 build/C/man3/wprintf.3:14
-#: build/C/man2/write.2:39 build/C/man2/process_vm_readv.2:27
+#: build/C/man3/asprintf.3:27 build/C/man3/ctermid.3:26
+#: build/C/man3/dprintf.3:26 build/C/man3/fclose.3:44
+#: build/C/man3/fcloseall.3:25 build/C/man3/ferror.3:44
+#: build/C/man3/fflush.3:45 build/C/man3/fgetc.3:27 build/C/man3/fgetwc.3:18
+#: build/C/man3/flockfile.3:25 build/C/man3/fmemopen.3:10
+#: build/C/man3/fmtmsg.3:13 build/C/man3/fopen.3:44
+#: build/C/man3/fopencookie.3:26 build/C/man3/fpurge.3:25
+#: build/C/man3/fputwc.3:16 build/C/man3/fread.3:45 build/C/man3/fseek.3:42
+#: build/C/man3/fseeko.3:25 build/C/man3/getline.3:26 build/C/man3/gets.3:29
+#: build/C/man3/getw.3:25 build/C/man2/link.2:32 build/C/man2/llseek.2:28
+#: build/C/man2/lseek.2:47 build/C/man3/lseek64.3:25 build/C/man2/open.2:51
+#: build/C/man2/open_by_handle_at.2:25 build/C/man3/perror.3:31
+#: build/C/man2/pipe.2:36 build/C/man3/popen.3:40 build/C/man3/printf.3:34
+#: build/C/man3/puts.3:26 build/C/man2/read.2:35 build/C/man2/readlink.2:44
+#: build/C/man2/readv.2:32 build/C/man3/remove.3:31 build/C/man2/rename.2:33
+#: build/C/man2/rmdir.2:30 build/C/man3/scanf.3:52 build/C/man3/setbuf.3:48
+#: build/C/man3/stdin.3:13 build/C/man3/stdio.3:39 build/C/man3/stdio_ext.3:25
+#: build/C/man2/symlink.2:33 build/C/man7/symlink.7:37
+#: build/C/man3/tempnam.3:25 build/C/man3/tmpfile.3:31
+#: build/C/man3/tmpnam.3:27 build/C/man2/unlink.2:33
+#: build/C/man3/unlocked_stdio.3:25 build/C/man3/wprintf.3:16
+#: build/C/man2/write.2:39
 #, no-wrap
 msgid "Linux Programmer's Manual"
 msgstr "Linux Programmer's Manual"
 
 #. type: SH
 #, no-wrap
 msgid "Linux Programmer's Manual"
 msgstr "Linux Programmer's Manual"
 
 #. type: SH
-#: build/C/man3/asprintf.3:26 build/C/man3/ctermid.3:25
-#: build/C/man3/dprintf.3:26 build/C/man3/fclose.3:43
-#: build/C/man3/fcloseall.3:25 build/C/man3/ferror.3:43
-#: build/C/man3/fflush.3:44 build/C/man3/fgetwc.3:17
-#: build/C/man3/flockfile.3:24 build/C/man3/fmemopen.3:7
-#: build/C/man3/fmtmsg.3:10 build/C/man3/fopen.3:43
-#: build/C/man3/fopencookie.3:25 build/C/man3/fpurge.3:24
-#: build/C/man3/fputwc.3:15 build/C/man3/fread.3:44 build/C/man3/fseek.3:41
-#: build/C/man3/fseeko.3:24 build/C/man3/getline.3:25 build/C/man3/gets.3:26
-#: build/C/man3/getw.3:24 build/C/man2/link.2:32 build/C/man2/llseek.2:27
-#: build/C/man2/lseek.2:46 build/C/man3/lseek64.3:24 build/C/man2/open.2:53
-#: build/C/man3/perror.3:31 build/C/man2/pipe.2:37 build/C/man3/popen.3:39
-#: build/C/man3/printf.3:35 build/C/man3/puts.3:25 build/C/man2/read.2:36
-#: build/C/man2/readlink.2:42 build/C/man2/readv.2:31 build/C/man3/remove.3:32
-#: build/C/man2/rename.2:33 build/C/man2/rmdir.2:31 build/C/man3/scanf.3:51
-#: build/C/man3/setbuf.3:47 build/C/man3/stdin.3:10 build/C/man3/stdio.3:38
-#: build/C/man3/stdio_ext.3:24 build/C/man2/symlink.2:33
-#: build/C/man7/symlink.7:36 build/C/man3/tempnam.3:24
-#: build/C/man3/tmpfile.3:30 build/C/man3/tmpnam.3:26 build/C/man2/unlink.2:33
-#: build/C/man3/unlocked_stdio.3:24 build/C/man3/wprintf.3:15
-#: build/C/man2/write.2:40 build/C/man2/process_vm_readv.2:28
+#: build/C/man3/asprintf.3:28 build/C/man3/ctermid.3:27
+#: build/C/man3/dprintf.3:27 build/C/man3/fclose.3:45
+#: build/C/man3/fcloseall.3:26 build/C/man3/ferror.3:45
+#: build/C/man3/fflush.3:46 build/C/man3/fgetc.3:28 build/C/man3/fgetwc.3:19
+#: build/C/man3/flockfile.3:26 build/C/man3/fmemopen.3:11
+#: build/C/man3/fmtmsg.3:14 build/C/man3/fopen.3:45
+#: build/C/man3/fopencookie.3:27 build/C/man3/fpurge.3:26
+#: build/C/man3/fputwc.3:17 build/C/man3/fread.3:46 build/C/man3/fseek.3:43
+#: build/C/man3/fseeko.3:26 build/C/man3/getline.3:27 build/C/man3/gets.3:30
+#: build/C/man3/getw.3:26 build/C/man2/link.2:33 build/C/man2/llseek.2:29
+#: build/C/man2/lseek.2:48 build/C/man3/lseek64.3:26 build/C/man2/open.2:52
+#: build/C/man2/open_by_handle_at.2:26 build/C/man3/perror.3:32
+#: build/C/man2/pipe.2:37 build/C/man3/popen.3:41 build/C/man3/printf.3:35
+#: build/C/man3/puts.3:27 build/C/man2/read.2:36 build/C/man2/readlink.2:45
+#: build/C/man2/readv.2:33 build/C/man3/remove.3:32 build/C/man2/rename.2:34
+#: build/C/man2/rmdir.2:31 build/C/man3/scanf.3:53 build/C/man3/setbuf.3:49
+#: build/C/man3/stdin.3:14 build/C/man3/stdio.3:40 build/C/man3/stdio_ext.3:26
+#: build/C/man2/symlink.2:34 build/C/man7/symlink.7:38
+#: build/C/man3/tempnam.3:26 build/C/man3/tmpfile.3:32
+#: build/C/man3/tmpnam.3:28 build/C/man2/unlink.2:34
+#: build/C/man3/unlocked_stdio.3:26 build/C/man3/wprintf.3:17
+#: build/C/man2/write.2:40
 #, no-wrap
 msgid "NAME"
 msgstr "名前"
 
 #. type: Plain text
 #, no-wrap
 msgid "NAME"
 msgstr "名前"
 
 #. type: Plain text
-#: build/C/man3/asprintf.3:28
+#: build/C/man3/asprintf.3:30
 msgid "asprintf, vasprintf - print to allocated string"
 msgstr "asprintf, vasprintf - 文字列を割り当ててそれに出力する"
 
 #. type: SH
 msgid "asprintf, vasprintf - print to allocated string"
 msgstr "asprintf, vasprintf - 文字列を割り当ててそれに出力する"
 
 #. type: SH
-#: build/C/man3/asprintf.3:28 build/C/man3/ctermid.3:27
-#: build/C/man3/dprintf.3:28 build/C/man3/fclose.3:45
-#: build/C/man3/fcloseall.3:27 build/C/man3/ferror.3:45
-#: build/C/man3/fflush.3:46 build/C/man3/fgetwc.3:19
-#: build/C/man3/flockfile.3:26 build/C/man3/fmemopen.3:9
-#: build/C/man3/fmtmsg.3:12 build/C/man3/fopen.3:45
-#: build/C/man3/fopencookie.3:27 build/C/man3/fpurge.3:26
-#: build/C/man3/fputwc.3:17 build/C/man3/fread.3:46 build/C/man3/fseek.3:43
-#: build/C/man3/fseeko.3:26 build/C/man3/getline.3:27 build/C/man3/gets.3:28
-#: build/C/man3/getw.3:26 build/C/man2/link.2:34 build/C/man2/llseek.2:29
-#: build/C/man2/lseek.2:48 build/C/man3/lseek64.3:26 build/C/man2/open.2:55
-#: build/C/man3/perror.3:33 build/C/man2/pipe.2:39 build/C/man3/popen.3:41
-#: build/C/man3/printf.3:38 build/C/man3/puts.3:27 build/C/man2/read.2:38
-#: build/C/man2/readlink.2:44 build/C/man2/readv.2:33 build/C/man3/remove.3:34
-#: build/C/man2/rename.2:35 build/C/man2/rmdir.2:33 build/C/man3/scanf.3:53
-#: build/C/man3/setbuf.3:49 build/C/man3/stdin.3:12 build/C/man3/stdio.3:40
-#: build/C/man3/stdio_ext.3:28 build/C/man2/symlink.2:35
-#: build/C/man3/tempnam.3:26 build/C/man3/tmpfile.3:32
-#: build/C/man3/tmpnam.3:28 build/C/man2/unlink.2:35
-#: build/C/man3/unlocked_stdio.3:27 build/C/man3/wprintf.3:18
-#: build/C/man2/write.2:42 build/C/man2/process_vm_readv.2:30
+#: build/C/man3/asprintf.3:30 build/C/man3/ctermid.3:29
+#: build/C/man3/dprintf.3:29 build/C/man3/fclose.3:47
+#: build/C/man3/fcloseall.3:28 build/C/man3/ferror.3:47
+#: build/C/man3/fflush.3:48 build/C/man3/fgetc.3:30 build/C/man3/fgetwc.3:21
+#: build/C/man3/flockfile.3:28 build/C/man3/fmemopen.3:13
+#: build/C/man3/fmtmsg.3:16 build/C/man3/fopen.3:47
+#: build/C/man3/fopencookie.3:29 build/C/man3/fpurge.3:28
+#: build/C/man3/fputwc.3:19 build/C/man3/fread.3:48 build/C/man3/fseek.3:45
+#: build/C/man3/fseeko.3:28 build/C/man3/getline.3:29 build/C/man3/gets.3:32
+#: build/C/man3/getw.3:28 build/C/man2/link.2:35 build/C/man2/llseek.2:31
+#: build/C/man2/lseek.2:50 build/C/man3/lseek64.3:28 build/C/man2/open.2:54
+#: build/C/man2/open_by_handle_at.2:29 build/C/man3/perror.3:34
+#: build/C/man2/pipe.2:39 build/C/man3/popen.3:43 build/C/man3/printf.3:38
+#: build/C/man3/puts.3:29 build/C/man2/read.2:38 build/C/man2/readlink.2:47
+#: build/C/man2/readv.2:35 build/C/man3/remove.3:34 build/C/man2/rename.2:36
+#: build/C/man2/rmdir.2:33 build/C/man3/scanf.3:55 build/C/man3/setbuf.3:51
+#: build/C/man3/stdin.3:16 build/C/man3/stdio.3:42 build/C/man3/stdio_ext.3:30
+#: build/C/man2/symlink.2:36 build/C/man3/tempnam.3:28
+#: build/C/man3/tmpfile.3:34 build/C/man3/tmpnam.3:30 build/C/man2/unlink.2:36
+#: build/C/man3/unlocked_stdio.3:29 build/C/man3/wprintf.3:20
+#: build/C/man2/write.2:42
 #, no-wrap
 msgid "SYNOPSIS"
 msgstr "書式"
 
 #. type: Plain text
 #, no-wrap
 msgid "SYNOPSIS"
 msgstr "書式"
 
 #. type: Plain text
-#: build/C/man3/asprintf.3:30
+#: build/C/man3/asprintf.3:32
 msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */"
 msgstr "B<#define _GNU_SOURCE> /* feature_test_macros(7) 参照 */"
 
 #. type: Plain text
 msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */"
 msgstr "B<#define _GNU_SOURCE> /* feature_test_macros(7) 参照 */"
 
 #. type: Plain text
-#: build/C/man3/asprintf.3:32 build/C/man3/dprintf.3:30
-#: build/C/man3/fclose.3:47 build/C/man3/ferror.3:47 build/C/man3/fflush.3:48
-#: build/C/man3/fseek.3:45 build/C/man3/perror.3:35 build/C/man3/printf.3:40
-#: build/C/man3/remove.3:36 build/C/man2/rename.2:37 build/C/man3/stdio.3:42
-#: build/C/man3/stdio_ext.3:30
+#: build/C/man3/asprintf.3:34 build/C/man3/dprintf.3:31
+#: build/C/man3/fclose.3:49 build/C/man3/ferror.3:49 build/C/man3/fflush.3:50
+#: build/C/man3/fseek.3:47 build/C/man3/perror.3:36 build/C/man3/printf.3:40
+#: build/C/man3/remove.3:36 build/C/man3/stdio.3:44
+#: build/C/man3/stdio_ext.3:32
 msgid "B<#include E<lt>stdio.hE<gt>>"
 msgstr "B<#include E<lt>stdio.hE<gt>>"
 
 #. type: Plain text
 msgid "B<#include E<lt>stdio.hE<gt>>"
 msgstr "B<#include E<lt>stdio.hE<gt>>"
 
 #. type: Plain text
-#: build/C/man3/asprintf.3:34
+#: build/C/man3/asprintf.3:36
 msgid "B<int asprintf(char **>I<strp>B<, const char *>I<fmt>B<, ...);>"
 msgstr "B<int asprintf(char **>I<strp>B<, const char *>I<fmt>B<, ...);>"
 
 #. type: Plain text
 msgid "B<int asprintf(char **>I<strp>B<, const char *>I<fmt>B<, ...);>"
 msgstr "B<int asprintf(char **>I<strp>B<, const char *>I<fmt>B<, ...);>"
 
 #. type: Plain text
-#: build/C/man3/asprintf.3:36
+#: build/C/man3/asprintf.3:38
 msgid ""
 "B<int vasprintf(char **>I<strp>B<, const char *>I<fmt>B<, va_list >I<ap>B<);>"
 msgstr ""
 "B<int vasprintf(char **>I<strp>B<, const char *>I<fmt>B<, va_list >I<ap>B<);>"
 
 #. type: SH
 msgid ""
 "B<int vasprintf(char **>I<strp>B<, const char *>I<fmt>B<, va_list >I<ap>B<);>"
 msgstr ""
 "B<int vasprintf(char **>I<strp>B<, const char *>I<fmt>B<, va_list >I<ap>B<);>"
 
 #. type: SH
-#: build/C/man3/asprintf.3:36 build/C/man3/ctermid.3:44
-#: build/C/man3/dprintf.3:54 build/C/man3/fclose.3:49
-#: build/C/man3/fcloseall.3:34 build/C/man3/ferror.3:63
-#: build/C/man3/fflush.3:50 build/C/man3/fgetwc.3:28
-#: build/C/man3/flockfile.3:49 build/C/man3/fmemopen.3:42
-#: build/C/man3/fmtmsg.3:22 build/C/man3/fopen.3:63
-#: build/C/man3/fopencookie.3:35 build/C/man3/fpurge.3:40
-#: build/C/man3/fputwc.3:26 build/C/man3/fread.3:56 build/C/man3/fseek.3:55
-#: build/C/man3/fseeko.3:35 build/C/man3/getline.3:56 build/C/man3/gets.3:44
-#: build/C/man3/getw.3:57 build/C/man2/link.2:38 build/C/man2/llseek.2:38
-#: build/C/man2/lseek.2:54 build/C/man3/lseek64.3:34 build/C/man2/open.2:66
-#: build/C/man3/perror.3:54 build/C/man2/pipe.2:51 build/C/man3/popen.3:62
-#: build/C/man3/printf.3:76 build/C/man3/puts.3:41 build/C/man2/read.2:44
-#: build/C/man2/readlink.2:61 build/C/man2/readv.2:56 build/C/man3/remove.3:38
-#: build/C/man2/rename.2:39 build/C/man2/rmdir.2:37 build/C/man3/scanf.3:85
-#: build/C/man3/setbuf.3:71 build/C/man3/stdin.3:20 build/C/man3/stdio.3:48
-#: build/C/man3/stdio_ext.3:52 build/C/man2/symlink.2:52
-#: build/C/man3/tempnam.3:40 build/C/man3/tmpfile.3:38
-#: build/C/man3/tmpnam.3:34 build/C/man2/unlink.2:39
-#: build/C/man3/unlocked_stdio.3:104 build/C/man3/wprintf.3:58
-#: build/C/man2/write.2:46 build/C/man2/process_vm_readv.2:48
+#: build/C/man3/asprintf.3:38 build/C/man3/ctermid.3:46
+#: build/C/man3/dprintf.3:55 build/C/man3/fclose.3:51
+#: build/C/man3/fcloseall.3:35 build/C/man3/ferror.3:65
+#: build/C/man3/fflush.3:52 build/C/man3/fgetc.3:44 build/C/man3/fgetwc.3:30
+#: build/C/man3/flockfile.3:51 build/C/man3/fmemopen.3:46
+#: build/C/man3/fmtmsg.3:26 build/C/man3/fopen.3:65
+#: build/C/man3/fopencookie.3:37 build/C/man3/fpurge.3:42
+#: build/C/man3/fputwc.3:28 build/C/man3/fread.3:58 build/C/man3/fseek.3:57
+#: build/C/man3/fseeko.3:54 build/C/man3/getline.3:58 build/C/man3/gets.3:38
+#: build/C/man3/getw.3:59 build/C/man2/link.2:66 build/C/man2/llseek.2:43
+#: build/C/man2/lseek.2:56 build/C/man3/lseek64.3:36 build/C/man2/open.2:88
+#: build/C/man2/open_by_handle_at.2:43 build/C/man3/perror.3:55
+#: build/C/man2/pipe.2:51 build/C/man3/popen.3:64 build/C/man3/printf.3:76
+#: build/C/man3/puts.3:43 build/C/man2/read.2:44 build/C/man2/readlink.2:86
+#: build/C/man2/readv.2:58 build/C/man3/remove.3:38 build/C/man2/rename.2:72
+#: build/C/man2/rmdir.2:37 build/C/man3/scanf.3:87 build/C/man3/setbuf.3:73
+#: build/C/man3/stdin.3:24 build/C/man3/stdio.3:50 build/C/man3/stdio_ext.3:54
+#: build/C/man2/symlink.2:74 build/C/man7/symlink.7:40
+#: build/C/man3/tempnam.3:42 build/C/man3/tmpfile.3:40
+#: build/C/man3/tmpnam.3:36 build/C/man2/unlink.2:66
+#: build/C/man3/unlocked_stdio.3:106 build/C/man3/wprintf.3:58
+#: build/C/man2/write.2:46
 #, no-wrap
 msgid "DESCRIPTION"
 msgstr "説明"
 
 #. type: Plain text
 #, no-wrap
 msgid "DESCRIPTION"
 msgstr "説明"
 
 #. type: Plain text
-#: build/C/man3/asprintf.3:51
+#: build/C/man3/asprintf.3:53
 msgid ""
 msgid ""
-"The functions B<asprintf>()  and B<vasprintf>()  are analogs of B<sprintf>"
-"(3)  and B<vsprintf>(3), except that they allocate a string large enough to "
-"hold the output including the terminating null byte, and return a pointer to "
-"it via the first argument.  This pointer should be passed to B<free>(3)  to "
-"release the allocated storage when it is no longer needed."
+"The functions B<asprintf>()  and B<vasprintf>()  are analogs of "
+"B<sprintf>(3)  and B<vsprintf>(3), except that they allocate a string large "
+"enough to hold the output including the terminating null byte (\\(aq"
+"\\e0\\(aq), and return a pointer to it via the first argument.  This pointer "
+"should be passed to B<free>(3)  to release the allocated storage when it is "
+"no longer needed."
 msgstr ""
 "B<asprintf>()  関数と B<vasprintf>()  関数とは、それぞれ B<sprintf>(3)  関数"
 msgstr ""
 "B<asprintf>()  関数と B<vasprintf>()  関数とは、それぞれ B<sprintf>(3)  関数"
-"と B<vsprintf>(3)  関数とに似ているが、 出力文字列を (終端の NULL バイトも含"
-"めて)  保持するのに十分な大きさのメモリを確保し、 最初の引数にその文字列への"
-"ã\83\9dã\82¤ã\83³ã\82¿ã\82\92è¿\94ã\81\99ã\80\82 ã\81\93ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\81¯ã\80\81ä¸\8dè¦\81ã\81«ã\81ªã\81£ã\81\9fã\82\89 B<free>(3)  ã\81«æ¸¡ã\81\97ã\80\81å\89²ã\82\8aå½\93ã\81¦"
-"られた記憶領域を解放すべきである。"
+"と B<vsprintf>(3)  関数とに似ているが、 出力文字列を (終端のヌルバイト (\\(aq"
+"\\e0\\(aq) も含めて)  保持するのに十分な大きさのメモリを確保し、 最初の引数に"
+"ã\81\9dã\81®æ\96\87å­\97å\88\97ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\82\92è¿\94ã\81\99ã\80\82 ã\81\93ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\81¯ã\80\81ä¸\8dè¦\81ã\81«ã\81ªã\81£ã\81\9fã\82\89 B<free>(3)  ã\81«"
+"渡し、割り当てられた記憶領域を解放すべきである。"
 
 #. type: SH
 
 #. type: SH
-#: build/C/man3/asprintf.3:51 build/C/man3/ctermid.3:57
-#: build/C/man3/fclose.3:57 build/C/man3/fcloseall.3:49
-#: build/C/man3/fflush.3:72 build/C/man3/fgetwc.3:53
-#: build/C/man3/flockfile.3:112 build/C/man3/fmemopen.3:172
-#: build/C/man3/fmtmsg.3:148 build/C/man3/fopen.3:187
-#: build/C/man3/fopencookie.3:235 build/C/man3/fpurge.3:56
-#: build/C/man3/fputwc.3:52 build/C/man3/fread.3:81 build/C/man3/fseek.3:117
-#: build/C/man3/fseeko.3:63 build/C/man3/getline.3:108 build/C/man3/gets.3:109
-#: build/C/man3/getw.3:71 build/C/man2/link.2:52 build/C/man2/llseek.2:57
-#: build/C/man2/lseek.2:151 build/C/man2/open.2:464 build/C/man2/pipe.2:92
-#: build/C/man3/popen.3:121 build/C/man3/puts.3:82 build/C/man2/read.2:63
-#: build/C/man2/readlink.2:75 build/C/man2/readv.2:175
-#: build/C/man3/remove.3:60 build/C/man2/rename.2:91 build/C/man2/rmdir.2:40
-#: build/C/man3/scanf.3:528 build/C/man3/setbuf.3:150
-#: build/C/man2/symlink.2:84 build/C/man3/tempnam.3:85
-#: build/C/man3/tmpfile.3:45 build/C/man3/tmpnam.3:68 build/C/man2/unlink.2:55
-#: build/C/man3/wprintf.3:185 build/C/man2/write.2:89
-#: build/C/man2/process_vm_readv.2:207
+#: build/C/man3/asprintf.3:53 build/C/man3/ctermid.3:59
+#: build/C/man3/fclose.3:59 build/C/man3/fcloseall.3:50
+#: build/C/man3/fflush.3:74 build/C/man3/fgetc.3:99 build/C/man3/fgetwc.3:55
+#: build/C/man3/flockfile.3:120 build/C/man3/fmemopen.3:176
+#: build/C/man3/fmtmsg.3:152 build/C/man3/fopen.3:189
+#: build/C/man3/fopencookie.3:238 build/C/man3/fpurge.3:58
+#: build/C/man3/fputwc.3:54 build/C/man3/fread.3:83 build/C/man3/fseek.3:121
+#: build/C/man3/fseeko.3:92 build/C/man3/getline.3:112 build/C/man3/gets.3:50
+#: build/C/man3/getw.3:73 build/C/man2/link.2:187 build/C/man2/llseek.2:62
+#: build/C/man2/lseek.2:179 build/C/man2/open.2:781
+#: build/C/man2/open_by_handle_at.2:245 build/C/man2/pipe.2:129
+#: build/C/man3/popen.3:123 build/C/man3/puts.3:84 build/C/man2/read.2:81
+#: build/C/man2/readlink.2:153 build/C/man2/readv.2:177
+#: build/C/man3/remove.3:60 build/C/man2/rename.2:203 build/C/man2/rmdir.2:40
+#: build/C/man3/scanf.3:530 build/C/man3/setbuf.3:152
+#: build/C/man2/symlink.2:140 build/C/man3/tempnam.3:94
+#: build/C/man3/tmpfile.3:47 build/C/man3/tmpnam.3:79
+#: build/C/man2/unlink.2:153 build/C/man3/wprintf.3:203
+#: build/C/man2/write.2:89
 #, no-wrap
 msgid "RETURN VALUE"
 msgstr "返り値"
 
 #. type: Plain text
 #, no-wrap
 msgid "RETURN VALUE"
 msgstr "返り値"
 
 #. type: Plain text
-#: build/C/man3/asprintf.3:59
+#: build/C/man3/asprintf.3:61
 msgid ""
 "When successful, these functions return the number of bytes printed, just "
 "like B<sprintf>(3).  If memory allocation wasn't possible, or some other "
 msgid ""
 "When successful, these functions return the number of bytes printed, just "
 "like B<sprintf>(3).  If memory allocation wasn't possible, or some other "
@@ -226,33 +233,33 @@ msgstr ""
 "は -1 を返し、 I<strp> の内容は未定義となる。"
 
 #. type: SH
 "は -1 を返し、 I<strp> の内容は未定義となる。"
 
 #. type: SH
-#: build/C/man3/asprintf.3:59 build/C/man3/ctermid.3:59
-#: build/C/man3/dprintf.3:68 build/C/man3/fclose.3:88
-#: build/C/man3/fcloseall.3:54 build/C/man3/ferror.3:105
-#: build/C/man3/fflush.3:91 build/C/man3/fgetwc.3:65
-#: build/C/man3/flockfile.3:119 build/C/man3/fmemopen.3:191
-#: build/C/man3/fmtmsg.3:221 build/C/man3/fopen.3:244
-#: build/C/man3/fopencookie.3:242 build/C/man3/fpurge.3:68
-#: build/C/man3/fputwc.3:63 build/C/man3/fread.3:101 build/C/man3/fseek.3:164
-#: build/C/man3/fseeko.3:75 build/C/man3/getline.3:132 build/C/man3/gets.3:136
-#: build/C/man3/getw.3:78 build/C/man2/link.2:128 build/C/man2/llseek.2:76
-#: build/C/man2/lseek.2:189 build/C/man2/open.2:610 build/C/man3/perror.3:111
-#: build/C/man2/pipe.2:118 build/C/man3/popen.3:167 build/C/man3/printf.3:807
-#: build/C/man3/puts.3:101 build/C/man2/read.2:155 build/C/man2/readlink.2:123
-#: build/C/man2/readv.2:212 build/C/man3/remove.3:70 build/C/man2/rename.2:229
-#: build/C/man2/rmdir.2:127 build/C/man3/scanf.3:575 build/C/man3/setbuf.3:162
-#: build/C/man3/stdin.3:109 build/C/man3/stdio.3:244
-#: build/C/man2/symlink.2:144 build/C/man3/tempnam.3:94
-#: build/C/man3/tmpfile.3:74 build/C/man3/tmpnam.3:75
-#: build/C/man2/unlink.2:141 build/C/man3/unlocked_stdio.3:111
-#: build/C/man3/wprintf.3:193 build/C/man2/write.2:179
-#: build/C/man2/process_vm_readv.2:277
+#: build/C/man3/asprintf.3:61 build/C/man3/ctermid.3:67
+#: build/C/man3/dprintf.3:69 build/C/man3/fclose.3:90
+#: build/C/man3/fcloseall.3:60 build/C/man3/ferror.3:115
+#: build/C/man3/fflush.3:98 build/C/man3/fgetc.3:124 build/C/man3/fgetwc.3:70
+#: build/C/man3/flockfile.3:135 build/C/man3/fmemopen.3:195
+#: build/C/man3/fmtmsg.3:237 build/C/man3/fopen.3:246
+#: build/C/man3/fopencookie.3:245 build/C/man3/fpurge.3:70
+#: build/C/man3/fputwc.3:68 build/C/man3/fread.3:103 build/C/man3/fseek.3:169
+#: build/C/man3/fseeko.3:104 build/C/man3/getline.3:139 build/C/man3/gets.3:58
+#: build/C/man3/getw.3:80 build/C/man2/link.2:338 build/C/man2/llseek.2:81
+#: build/C/man2/lseek.2:217 build/C/man2/open.2:1019
+#: build/C/man2/open_by_handle_at.2:352 build/C/man3/perror.3:111
+#: build/C/man2/pipe.2:155 build/C/man3/popen.3:172 build/C/man3/printf.3:807
+#: build/C/man3/puts.3:103 build/C/man2/read.2:173 build/C/man2/readlink.2:216
+#: build/C/man2/readv.2:214 build/C/man3/remove.3:75 build/C/man2/rename.2:405
+#: build/C/man2/rmdir.2:127 build/C/man3/scanf.3:577 build/C/man3/setbuf.3:173
+#: build/C/man3/stdin.3:113 build/C/man3/stdio.3:246
+#: build/C/man2/symlink.2:228 build/C/man3/tempnam.3:105
+#: build/C/man3/tmpfile.3:78 build/C/man3/tmpnam.3:96
+#: build/C/man2/unlink.2:273 build/C/man3/unlocked_stdio.3:113
+#: build/C/man3/wprintf.3:211 build/C/man2/write.2:185
 #, no-wrap
 msgid "CONFORMING TO"
 msgstr "準拠"
 
 #. type: Plain text
 #, no-wrap
 msgid "CONFORMING TO"
 msgstr "準拠"
 
 #. type: Plain text
-#: build/C/man3/asprintf.3:65
+#: build/C/man3/asprintf.3:67
 msgid ""
 "These functions are GNU extensions, not in C or POSIX.  They are also "
 "available under *BSD.  The FreeBSD implementation sets I<strp> to NULL on "
 msgid ""
 "These functions are GNU extensions, not in C or POSIX.  They are also "
 "available under *BSD.  The FreeBSD implementation sets I<strp> to NULL on "
@@ -263,155 +270,161 @@ msgstr ""
 "る。"
 
 #. type: SH
 "る。"
 
 #. type: SH
-#: build/C/man3/asprintf.3:65 build/C/man3/ctermid.3:69
-#: build/C/man3/dprintf.3:94 build/C/man3/fclose.3:100
-#: build/C/man3/fcloseall.3:56 build/C/man3/ferror.3:112
-#: build/C/man3/fflush.3:106 build/C/man3/fgetwc.3:82
-#: build/C/man3/flockfile.3:127 build/C/man3/fmemopen.3:273
-#: build/C/man3/fmtmsg.3:293 build/C/man3/fopen.3:348
-#: build/C/man3/fopencookie.3:434 build/C/man3/fpurge.3:78
-#: build/C/man3/fputwc.3:80 build/C/man3/fread.3:103 build/C/man3/fseek.3:166
-#: build/C/man3/fseeko.3:81 build/C/man3/getline.3:166 build/C/man3/gets.3:171
-#: build/C/man3/getw.3:84 build/C/man2/link.2:177 build/C/man2/llseek.2:82
-#: build/C/man2/lseek.2:234 build/C/man3/lseek64.3:157 build/C/man2/open.2:849
-#: build/C/man3/perror.3:139 build/C/man2/pipe.2:190 build/C/man3/popen.3:196
-#: build/C/man3/printf.3:1074 build/C/man3/puts.3:110 build/C/man2/read.2:178
-#: build/C/man2/readlink.2:212 build/C/man2/readv.2:282
-#: build/C/man3/remove.3:81 build/C/man2/rename.2:242 build/C/man2/rmdir.2:132
-#: build/C/man3/scanf.3:717 build/C/man3/setbuf.3:198 build/C/man3/stdin.3:150
-#: build/C/man3/stdio.3:248 build/C/man3/stdio_ext.3:130
-#: build/C/man2/symlink.2:159 build/C/man7/symlink.7:470
-#: build/C/man3/tempnam.3:164 build/C/man3/tmpfile.3:86
-#: build/C/man3/tmpnam.3:151 build/C/man2/unlink.2:148
-#: build/C/man3/unlocked_stdio.3:134 build/C/man3/wprintf.3:229
-#: build/C/man2/write.2:205 build/C/man2/process_vm_readv.2:329
+#: build/C/man3/asprintf.3:67 build/C/man3/ctermid.3:77
+#: build/C/man3/dprintf.3:95 build/C/man3/fclose.3:102
+#: build/C/man3/fcloseall.3:62 build/C/man3/ferror.3:126
+#: build/C/man3/fflush.3:113 build/C/man3/fgetc.3:133 build/C/man3/fgetwc.3:87
+#: build/C/man3/flockfile.3:143 build/C/man3/fmemopen.3:341
+#: build/C/man3/fmtmsg.3:309 build/C/man3/fopen.3:348
+#: build/C/man3/fopencookie.3:437 build/C/man3/fpurge.3:80
+#: build/C/man3/fputwc.3:85 build/C/man3/fread.3:105 build/C/man3/fseek.3:171
+#: build/C/man3/fseeko.3:110 build/C/man3/getline.3:173 build/C/man3/gets.3:90
+#: build/C/man3/getw.3:87 build/C/man2/link.2:391 build/C/man2/llseek.2:87
+#: build/C/man2/lseek.2:262 build/C/man3/lseek64.3:164
+#: build/C/man2/open.2:1459 build/C/man2/open_by_handle_at.2:720
+#: build/C/man3/perror.3:139 build/C/man2/pipe.2:228 build/C/man3/popen.3:201
+#: build/C/man3/printf.3:1085 build/C/man3/puts.3:112 build/C/man2/read.2:226
+#: build/C/man2/readlink.2:313 build/C/man2/readv.2:284
+#: build/C/man3/remove.3:86 build/C/man2/rename.2:425 build/C/man2/rmdir.2:132
+#: build/C/man3/scanf.3:738 build/C/man3/setbuf.3:209 build/C/man3/stdin.3:154
+#: build/C/man3/stdio.3:250 build/C/man3/stdio_ext.3:151
+#: build/C/man2/symlink.2:247 build/C/man7/symlink.7:512
+#: build/C/man3/tempnam.3:168 build/C/man3/tmpfile.3:97
+#: build/C/man3/tmpnam.3:172 build/C/man2/unlink.2:284
+#: build/C/man3/unlocked_stdio.3:136 build/C/man3/wprintf.3:251
+#: build/C/man2/write.2:250
 #, no-wrap
 msgid "SEE ALSO"
 msgstr "関連項目"
 
 #. type: Plain text
 #, no-wrap
 msgid "SEE ALSO"
 msgstr "関連項目"
 
 #. type: Plain text
-#: build/C/man3/asprintf.3:69
+#: build/C/man3/asprintf.3:71
 msgid "B<free>(3), B<malloc>(3), B<printf>(3)"
 msgstr "B<free>(3), B<malloc>(3), B<printf>(3)"
 
 #. type: SH
 msgid "B<free>(3), B<malloc>(3), B<printf>(3)"
 msgstr "B<free>(3), B<malloc>(3), B<printf>(3)"
 
 #. type: SH
-#: build/C/man3/asprintf.3:69 build/C/man3/ctermid.3:71
-#: build/C/man3/dprintf.3:96 build/C/man3/fclose.3:106
-#: build/C/man3/fcloseall.3:62 build/C/man3/ferror.3:117
-#: build/C/man3/fflush.3:114 build/C/man3/fgetwc.3:87
-#: build/C/man3/flockfile.3:129 build/C/man3/fmemopen.3:276
-#: build/C/man3/fmtmsg.3:296 build/C/man3/fopen.3:354
-#: build/C/man3/fopencookie.3:439 build/C/man3/fpurge.3:83
-#: build/C/man3/fputwc.3:84 build/C/man3/fread.3:109 build/C/man3/fseek.3:169
-#: build/C/man3/fseeko.3:83 build/C/man3/getline.3:173 build/C/man3/gets.3:187
-#: build/C/man3/getw.3:90 build/C/man2/link.2:187 build/C/man2/llseek.2:85
-#: build/C/man2/lseek.2:241 build/C/man3/lseek64.3:160 build/C/man2/open.2:871
-#: build/C/man3/perror.3:144 build/C/man2/pipe.2:197 build/C/man3/popen.3:206
-#: build/C/man3/printf.3:1083 build/C/man3/puts.3:122 build/C/man2/read.2:191
-#: build/C/man2/readlink.2:220 build/C/man2/readv.2:286
-#: build/C/man3/remove.3:92 build/C/man2/rename.2:251 build/C/man2/rmdir.2:141
-#: build/C/man3/scanf.3:724 build/C/man3/setbuf.3:206 build/C/man3/stdin.3:156
-#: build/C/man3/stdio.3:255 build/C/man3/stdio_ext.3:133
-#: build/C/man2/symlink.2:171 build/C/man7/symlink.7:488
-#: build/C/man3/tempnam.3:169 build/C/man3/tmpfile.3:92
-#: build/C/man3/tmpnam.3:156 build/C/man2/unlink.2:161
-#: build/C/man3/unlocked_stdio.3:137 build/C/man3/wprintf.3:236
-#: build/C/man2/write.2:217 build/C/man2/process_vm_readv.2:332
+#: build/C/man3/asprintf.3:71 build/C/man3/ctermid.3:79
+#: build/C/man3/dprintf.3:97 build/C/man3/fclose.3:108
+#: build/C/man3/fcloseall.3:68 build/C/man3/ferror.3:131
+#: build/C/man3/fflush.3:121 build/C/man3/fgetc.3:150 build/C/man3/fgetwc.3:92
+#: build/C/man3/flockfile.3:145 build/C/man3/fmemopen.3:344
+#: build/C/man3/fmtmsg.3:312 build/C/man3/fopen.3:354
+#: build/C/man3/fopencookie.3:442 build/C/man3/fpurge.3:85
+#: build/C/man3/fputwc.3:89 build/C/man3/fread.3:111 build/C/man3/fseek.3:174
+#: build/C/man3/fseeko.3:112 build/C/man3/getline.3:179
+#: build/C/man3/gets.3:108 build/C/man3/getw.3:93 build/C/man2/link.2:400
+#: build/C/man2/llseek.2:90 build/C/man2/lseek.2:269
+#: build/C/man3/lseek64.3:167 build/C/man2/open.2:1481
+#: build/C/man2/open_by_handle_at.2:736 build/C/man3/perror.3:144
+#: build/C/man2/pipe.2:235 build/C/man3/popen.3:211 build/C/man3/printf.3:1094
+#: build/C/man3/puts.3:124 build/C/man2/read.2:239 build/C/man2/readlink.2:320
+#: build/C/man2/readv.2:288 build/C/man3/remove.3:97 build/C/man2/rename.2:433
+#: build/C/man2/rmdir.2:141 build/C/man3/scanf.3:745 build/C/man3/setbuf.3:217
+#: build/C/man3/stdin.3:160 build/C/man3/stdio.3:257
+#: build/C/man3/stdio_ext.3:154 build/C/man2/symlink.2:258
+#: build/C/man7/symlink.7:530 build/C/man3/tempnam.3:173
+#: build/C/man3/tmpfile.3:103 build/C/man3/tmpnam.3:177
+#: build/C/man2/unlink.2:296 build/C/man3/unlocked_stdio.3:139
+#: build/C/man3/wprintf.3:258 build/C/man2/write.2:262
 #, no-wrap
 msgid "COLOPHON"
 msgstr "この文書について"
 
 #. type: Plain text
 #, no-wrap
 msgid "COLOPHON"
 msgstr "この文書について"
 
 #. type: Plain text
-#: build/C/man3/asprintf.3:76 build/C/man3/ctermid.3:78
-#: build/C/man3/dprintf.3:103 build/C/man3/fclose.3:113
-#: build/C/man3/fcloseall.3:69 build/C/man3/ferror.3:124
-#: build/C/man3/fflush.3:121 build/C/man3/fgetwc.3:94
-#: build/C/man3/flockfile.3:136 build/C/man3/fmemopen.3:283
-#: build/C/man3/fmtmsg.3:303 build/C/man3/fopen.3:361
-#: build/C/man3/fopencookie.3:446 build/C/man3/fpurge.3:90
-#: build/C/man3/fputwc.3:91 build/C/man3/fread.3:116 build/C/man3/fseek.3:176
-#: build/C/man3/fseeko.3:90 build/C/man3/getline.3:180 build/C/man3/gets.3:194
-#: build/C/man3/getw.3:97 build/C/man2/link.2:194 build/C/man2/llseek.2:92
-#: build/C/man2/lseek.2:248 build/C/man3/lseek64.3:167 build/C/man2/open.2:878
-#: build/C/man3/perror.3:151 build/C/man2/pipe.2:204 build/C/man3/popen.3:213
-#: build/C/man3/printf.3:1090 build/C/man3/puts.3:129 build/C/man2/read.2:198
-#: build/C/man2/readlink.2:227 build/C/man2/readv.2:293
-#: build/C/man3/remove.3:99 build/C/man2/rename.2:258 build/C/man2/rmdir.2:148
-#: build/C/man3/scanf.3:731 build/C/man3/setbuf.3:213 build/C/man3/stdin.3:163
-#: build/C/man3/stdio.3:262 build/C/man3/stdio_ext.3:140
-#: build/C/man2/symlink.2:178 build/C/man7/symlink.7:495
-#: build/C/man3/tempnam.3:176 build/C/man3/tmpfile.3:99
-#: build/C/man3/tmpnam.3:163 build/C/man2/unlink.2:168
-#: build/C/man3/unlocked_stdio.3:144 build/C/man3/wprintf.3:243
-#: build/C/man2/write.2:224 build/C/man2/process_vm_readv.2:339
-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/."
-msgstr ""
-"この man ページは Linux I<man-pages> プロジェクトのリリース 3.40 の一部\n"
+#: build/C/man3/asprintf.3:79 build/C/man3/ctermid.3:87
+#: build/C/man3/dprintf.3:105 build/C/man3/fclose.3:116
+#: build/C/man3/fcloseall.3:76 build/C/man3/ferror.3:139
+#: build/C/man3/fflush.3:129 build/C/man3/fgetc.3:158
+#: build/C/man3/fgetwc.3:100 build/C/man3/flockfile.3:153
+#: build/C/man3/fmemopen.3:352 build/C/man3/fmtmsg.3:320
+#: build/C/man3/fopen.3:362 build/C/man3/fopencookie.3:450
+#: build/C/man3/fpurge.3:93 build/C/man3/fputwc.3:97 build/C/man3/fread.3:119
+#: build/C/man3/fseek.3:182 build/C/man3/fseeko.3:120
+#: build/C/man3/getline.3:187 build/C/man3/gets.3:116 build/C/man3/getw.3:101
+#: build/C/man2/link.2:408 build/C/man2/llseek.2:98 build/C/man2/lseek.2:277
+#: build/C/man3/lseek64.3:175 build/C/man2/open.2:1489
+#: build/C/man2/open_by_handle_at.2:744 build/C/man3/perror.3:152
+#: build/C/man2/pipe.2:243 build/C/man3/popen.3:219 build/C/man3/printf.3:1102
+#: build/C/man3/puts.3:132 build/C/man2/read.2:247 build/C/man2/readlink.2:328
+#: build/C/man2/readv.2:296 build/C/man3/remove.3:105
+#: build/C/man2/rename.2:441 build/C/man2/rmdir.2:149 build/C/man3/scanf.3:753
+#: build/C/man3/setbuf.3:225 build/C/man3/stdin.3:168 build/C/man3/stdio.3:265
+#: build/C/man3/stdio_ext.3:162 build/C/man2/symlink.2:266
+#: build/C/man7/symlink.7:538 build/C/man3/tempnam.3:181
+#: build/C/man3/tmpfile.3:111 build/C/man3/tmpnam.3:185
+#: build/C/man2/unlink.2:304 build/C/man3/unlocked_stdio.3:147
+#: build/C/man3/wprintf.3:266 build/C/man2/write.2:270
+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
 "である。プロジェクトの説明とバグ報告に関する情報は\n"
 "http://www.kernel.org/doc/man-pages/ に書かれている。"
 
 #. type: TH
-#: build/C/man3/ctermid.3:24
+#: build/C/man3/ctermid.3:26
 #, no-wrap
 msgid "CTERMID"
 msgstr "CTERMID"
 
 #. type: TH
 #, no-wrap
 msgid "CTERMID"
 msgstr "CTERMID"
 
 #. type: TH
-#: build/C/man3/ctermid.3:24
+#: build/C/man3/ctermid.3:26
 #, no-wrap
 #, no-wrap
-msgid "2007-07-26"
-msgstr "2007-07-26"
+msgid "2013-07-04"
+msgstr "2013-07-04"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/ctermid.3:27
+#: build/C/man3/ctermid.3:29
 msgid "ctermid - get controlling terminal name"
 msgstr "ctermid - 制御端末名の取得"
 
 #. type: Plain text
 msgid "ctermid - get controlling terminal name"
 msgstr "ctermid - 制御端末名の取得"
 
 #. type: Plain text
-#: build/C/man3/ctermid.3:32 build/C/man3/fgetwc.3:22
-#: build/C/man3/flockfile.3:29 build/C/man3/fmemopen.3:12
-#: build/C/man3/fopen.3:48 build/C/man3/fputwc.3:20 build/C/man3/fread.3:49
-#: build/C/man3/fseeko.3:29 build/C/man3/getline.3:30 build/C/man3/gets.3:31
-#: build/C/man3/getw.3:29 build/C/man3/popen.3:44 build/C/man3/puts.3:30
-#: build/C/man3/scanf.3:56 build/C/man3/setbuf.3:52 build/C/man3/stdin.3:15
-#: build/C/man3/tempnam.3:29 build/C/man3/tmpfile.3:35
-#: build/C/man3/tmpnam.3:31 build/C/man3/unlocked_stdio.3:30
+#: build/C/man3/ctermid.3:34 build/C/man3/fgetc.3:33 build/C/man3/fgetwc.3:24
+#: build/C/man3/flockfile.3:31 build/C/man3/fmemopen.3:16
+#: build/C/man3/fopen.3:50 build/C/man3/fputwc.3:22 build/C/man3/fread.3:51
+#: build/C/man3/fseeko.3:31 build/C/man3/getline.3:32 build/C/man3/gets.3:35
+#: build/C/man3/getw.3:31 build/C/man3/popen.3:46 build/C/man3/puts.3:32
+#: build/C/man2/rename.2:39 build/C/man3/scanf.3:58 build/C/man3/setbuf.3:54
+#: build/C/man3/stdin.3:19 build/C/man3/tempnam.3:31 build/C/man3/tmpfile.3:37
+#: build/C/man3/tmpnam.3:33 build/C/man3/unlocked_stdio.3:32
 #, no-wrap
 msgid "B<#include E<lt>stdio.hE<gt>>\n"
 msgstr "B<#include E<lt>stdio.hE<gt>>\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<#include E<lt>stdio.hE<gt>>\n"
 msgstr "B<#include E<lt>stdio.hE<gt>>\n"
 
 #. type: Plain text
-#: build/C/man3/ctermid.3:34
+#: build/C/man3/ctermid.3:36
 #, no-wrap
 msgid "B<char *ctermid(char *>I<s>B<);>\n"
 msgstr "B<char *ctermid(char *>I<s>B<);>\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<char *ctermid(char *>I<s>B<);>\n"
 msgstr "B<char *ctermid(char *>I<s>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/ctermid.3:39 build/C/man3/dprintf.3:38
-#: build/C/man3/ferror.3:59 build/C/man3/flockfile.3:40
-#: build/C/man3/fmemopen.3:25 build/C/man3/fopen.3:59
-#: build/C/man3/getline.3:40 build/C/man3/getw.3:38 build/C/man3/perror.3:49
-#: build/C/man3/popen.3:53 build/C/man3/printf.3:63 build/C/man2/readlink.2:52
-#: build/C/man2/readv.2:51 build/C/man3/scanf.3:71 build/C/man3/setbuf.3:66
-#: build/C/man2/symlink.2:43 build/C/man3/tempnam.3:36
-#: build/C/man3/unlocked_stdio.3:66 build/C/man3/wprintf.3:37
+#: build/C/man3/ctermid.3:41 build/C/man3/dprintf.3:39
+#: build/C/man3/ferror.3:61 build/C/man3/flockfile.3:42
+#: build/C/man3/fmemopen.3:29 build/C/man3/fopen.3:61 build/C/man3/fseeko.3:41
+#: build/C/man3/getline.3:42 build/C/man3/getw.3:40 build/C/man2/link.2:51
+#: build/C/man2/open.2:73 build/C/man3/perror.3:50 build/C/man3/popen.3:55
+#: build/C/man3/printf.3:63 build/C/man2/readlink.2:64 build/C/man2/readv.2:53
+#: build/C/man2/rename.2:56 build/C/man3/scanf.3:73 build/C/man3/setbuf.3:68
+#: build/C/man2/symlink.2:52 build/C/man3/tempnam.3:38
+#: build/C/man2/unlink.2:51 build/C/man3/unlocked_stdio.3:68
+#: build/C/man3/wprintf.3:39
 msgid ""
 "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
 msgstr "glibc 向けの機能検査マクロの要件 (B<feature_test_macros>(7)  参照):"
 
 #.  From <unistd.h>: _XOPEN_SOURCE
 #. type: Plain text
 msgid ""
 "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
 msgstr "glibc 向けの機能検査マクロの要件 (B<feature_test_macros>(7)  参照):"
 
 #.  From <unistd.h>: _XOPEN_SOURCE
 #. type: Plain text
-#: build/C/man3/ctermid.3:44
+#: build/C/man3/ctermid.3:46
 msgid ""
 "B<ctermid>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
 msgstr ""
 "B<ctermid>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
 
 #. type: Plain text
 msgid ""
 "B<ctermid>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
 msgstr ""
 "B<ctermid>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
 
 #. type: Plain text
-#: build/C/man3/ctermid.3:57
+#: build/C/man3/ctermid.3:59
 msgid ""
 "B<ctermid>()  returns a string which is the pathname for the current "
 "controlling terminal for this process.  If I<s> is NULL, a static buffer is "
 msgid ""
 "B<ctermid>()  returns a string which is the pathname for the current "
 "controlling terminal for this process.  If I<s> is NULL, a static buffer is "
@@ -425,30 +438,61 @@ msgstr ""
 "ス名の最大文字数である。"
 
 #. type: Plain text
 "ス名の最大文字数である。"
 
 #. type: Plain text
-#: build/C/man3/ctermid.3:59
+#: build/C/man3/ctermid.3:61
 msgid "The pointer to the pathname."
 msgstr "パス名へのポインタ。"
 
 msgid "The pointer to the pathname."
 msgstr "パス名へのポインタ。"
 
+#. type: SH
+#: build/C/man3/ctermid.3:61 build/C/man3/fcloseall.3:55
+#: build/C/man3/ferror.3:106 build/C/man3/fflush.3:93
+#: build/C/man3/flockfile.3:127 build/C/man3/fmtmsg.3:225
+#: build/C/man3/lseek64.3:159 build/C/man3/remove.3:70
+#: build/C/man3/setbuf.3:164 build/C/man3/stdio_ext.3:132
+#: build/C/man3/tmpnam.3:86
+#, no-wrap
+msgid "ATTRIBUTES"
+msgstr "属性"
+
+#. type: SS
+#: build/C/man3/ctermid.3:62 build/C/man3/fcloseall.3:56
+#: build/C/man3/ferror.3:107 build/C/man3/fflush.3:94
+#: build/C/man3/flockfile.3:128 build/C/man3/fmtmsg.3:226
+#: build/C/man3/lseek64.3:160 build/C/man3/remove.3:71
+#: build/C/man3/setbuf.3:165 build/C/man3/stdio_ext.3:133
+#: build/C/man3/tmpnam.3:87
+#, no-wrap
+msgid "Multithreading (see pthreads(7))"
+msgstr "マルチスレッディング (pthreads(7) 参照)"
+
 #. type: Plain text
 #. type: Plain text
-#: build/C/man3/ctermid.3:61
+#: build/C/man3/ctermid.3:67
+msgid ""
+"The B<ctermid>()  function is thread-safe with exceptions.  It is not thread-"
+"safe if called with a NULL parameter."
+msgstr ""
+"B<ctermid>() 関数は例外付きでスレッドセーフである。 NULL パラメータで呼び出さ"
+"れた場合はスレッドセーフではない。"
+
+#. type: Plain text
+#: build/C/man3/ctermid.3:69
 msgid "Svr4, POSIX.1-2001."
 msgstr "SVr4, POSIX.1-2001."
 
 #. type: SH
 msgid "Svr4, POSIX.1-2001."
 msgstr "SVr4, POSIX.1-2001."
 
 #. type: SH
-#: build/C/man3/ctermid.3:61 build/C/man3/fmemopen.3:201
-#: build/C/man3/fopen.3:329 build/C/man3/fopen.3:331 build/C/man3/gets.3:150
-#: build/C/man3/getw.3:80 build/C/man2/link.2:171 build/C/man2/open.2:838
-#: build/C/man3/popen.3:173 build/C/man3/printf.3:930 build/C/man3/puts.3:103
-#: build/C/man2/readv.2:256 build/C/man3/remove.3:78 build/C/man2/rename.2:231
-#: build/C/man2/rmdir.2:129 build/C/man3/scanf.3:682 build/C/man3/setbuf.3:168
-#: build/C/man3/tempnam.3:154 build/C/man3/tmpnam.3:144
-#: build/C/man2/unlink.2:145
+#: build/C/man3/ctermid.3:69 build/C/man3/fmemopen.3:213
+#: build/C/man3/fopen.3:331 build/C/man3/gets.3:72 build/C/man3/getw.3:83
+#: build/C/man2/link.2:385 build/C/man2/open.2:1440 build/C/man3/popen.3:178
+#: build/C/man3/printf.3:930 build/C/man3/puts.3:105 build/C/man2/read.2:187
+#: build/C/man2/readv.2:258 build/C/man3/remove.3:83 build/C/man2/rename.2:414
+#: build/C/man2/rmdir.2:129 build/C/man3/scanf.3:669 build/C/man3/setbuf.3:179
+#: build/C/man3/tempnam.3:165 build/C/man3/tmpnam.3:165
+#: build/C/man2/unlink.2:281 build/C/man2/write.2:211
 #, no-wrap
 msgid "BUGS"
 msgstr "バグ"
 
 #. type: Plain text
 #, no-wrap
 msgid "BUGS"
 msgstr "バグ"
 
 #. type: Plain text
-#: build/C/man3/ctermid.3:65
+#: build/C/man3/ctermid.3:73
 msgid ""
 "The path returned may not uniquely identify the controlling terminal; it "
 "may, for example, be I</dev/tty>."
 msgid ""
 "The path returned may not uniquely identify the controlling terminal; it "
 "may, for example, be I</dev/tty>."
@@ -459,76 +503,82 @@ msgstr ""
 #.  in glibc 2.3.x, x >= 4, the glibc headers threw an error
 #.  if ctermid() was given an argument; fixed in 2.4.
 #. type: Plain text
 #.  in glibc 2.3.x, x >= 4, the glibc headers threw an error
 #.  if ctermid() was given an argument; fixed in 2.4.
 #. type: Plain text
-#: build/C/man3/ctermid.3:69
+#: build/C/man3/ctermid.3:77
 msgid "It is not assured that the program can open the terminal."
 msgstr "プログラムが端末をオープンできることは保証されていない。"
 
 #. type: Plain text
 msgid "It is not assured that the program can open the terminal."
 msgstr "プログラムが端末をオープンできることは保証されていない。"
 
 #. type: Plain text
-#: build/C/man3/ctermid.3:71
+#: build/C/man3/ctermid.3:79
 msgid "B<ttyname>(3)"
 msgstr "B<ttyname>(3)"
 
 #. type: TH
 msgid "B<ttyname>(3)"
 msgstr "B<ttyname>(3)"
 
 #. type: TH
-#: build/C/man3/dprintf.3:25
+#: build/C/man3/dprintf.3:26
 #, no-wrap
 msgid "DPRINTF"
 msgstr "DPRINTF"
 
 #. type: TH
 #, no-wrap
 msgid "DPRINTF"
 msgstr "DPRINTF"
 
 #. type: TH
-#: build/C/man3/dprintf.3:25 build/C/man3/fmemopen.3:6
+#: build/C/man3/dprintf.3:26
 #, no-wrap
 msgid "2010-09-15"
 msgstr "2010-09-15"
 
 #. type: Plain text
 #, no-wrap
 msgid "2010-09-15"
 msgstr "2010-09-15"
 
 #. type: Plain text
-#: build/C/man3/dprintf.3:28
+#: build/C/man3/dprintf.3:29
 msgid "dprintf, vdprintf - print to a file descriptor"
 msgstr "dprintf, vdprintf - ファイルディスクリプタに文字出力する"
 
 #. type: Plain text
 msgid "dprintf, vdprintf - print to a file descriptor"
 msgstr "dprintf, vdprintf - ファイルディスクリプタに文字出力する"
 
 #. type: Plain text
-#: build/C/man3/dprintf.3:32
+#: build/C/man3/dprintf.3:33
 msgid "B<int dprintf(int >I<fd>B<, const char *>I<format>B<, ...);>"
 msgstr "B<int dprintf(int >I<fd>B<, const char *>I<format>B<, ...);>"
 
 #. type: Plain text
 msgid "B<int dprintf(int >I<fd>B<, const char *>I<format>B<, ...);>"
 msgstr "B<int dprintf(int >I<fd>B<, const char *>I<format>B<, ...);>"
 
 #. type: Plain text
-#: build/C/man3/dprintf.3:34
+#: build/C/man3/dprintf.3:35
 msgid ""
 "B<int vdprintf(int >I<fd>B<, const char *>I<format>B<, va_list >I<ap>B<);>"
 msgstr ""
 "B<int vdprintf(int >I<fd>B<, const char *>I<format>B<, va_list >I<ap>B<);>"
 
 #. type: Plain text
 msgid ""
 "B<int vdprintf(int >I<fd>B<, const char *>I<format>B<, va_list >I<ap>B<);>"
 msgstr ""
 "B<int vdprintf(int >I<fd>B<, const char *>I<format>B<, va_list >I<ap>B<);>"
 
 #. type: Plain text
-#: build/C/man3/dprintf.3:42
+#: build/C/man3/dprintf.3:43
 msgid "B<dprintf>(), B<vdprintf>():"
 msgstr "B<dprintf>(), B<vdprintf>():"
 
 #. type: TP
 msgid "B<dprintf>(), B<vdprintf>():"
 msgstr "B<dprintf>(), B<vdprintf>():"
 
 #. type: TP
-#: build/C/man3/dprintf.3:45 build/C/man3/fmemopen.3:33
-#: build/C/man3/getline.3:47
+#: build/C/man3/dprintf.3:46 build/C/man3/fmemopen.3:37
+#: build/C/man3/getline.3:49 build/C/man2/link.2:57 build/C/man2/open.2:79
+#: build/C/man2/readlink.2:77 build/C/man2/rename.2:62
+#: build/C/man2/symlink.2:65 build/C/man2/unlink.2:57
 #, no-wrap
 msgid "Since glibc 2.10:"
 msgstr "glibc 2.10 以降:"
 
 #. type: Plain text
 #, no-wrap
 msgid "Since glibc 2.10:"
 msgstr "glibc 2.10 以降:"
 
 #. type: Plain text
-#: build/C/man3/dprintf.3:48 build/C/man3/fmemopen.3:36
+#: build/C/man3/dprintf.3:49 build/C/man3/fmemopen.3:40 build/C/man2/link.2:60
+#: build/C/man2/open.2:82 build/C/man2/readlink.2:80 build/C/man2/rename.2:65
+#: build/C/man2/symlink.2:68 build/C/man2/unlink.2:60
 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
 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/dprintf.3:48 build/C/man3/fmemopen.3:36
-#: build/C/man3/getline.3:50
+#: build/C/man3/dprintf.3:49 build/C/man3/fmemopen.3:40
+#: build/C/man3/getline.3:52 build/C/man2/link.2:60 build/C/man2/open.2:82
+#: build/C/man2/readlink.2:80 build/C/man2/rename.2:65
+#: build/C/man2/symlink.2:68 build/C/man2/unlink.2:60
 #, no-wrap
 msgid "Before glibc 2.10:"
 msgstr "glibc 2.10 より前:"
 
 #. type: Plain text
 #, no-wrap
 msgid "Before glibc 2.10:"
 msgstr "glibc 2.10 より前:"
 
 #. type: Plain text
-#: build/C/man3/dprintf.3:51 build/C/man3/fmemopen.3:39
-#: build/C/man3/getline.3:53 build/C/man3/unlocked_stdio.3:102
+#: build/C/man3/dprintf.3:52 build/C/man3/fmemopen.3:43
+#: build/C/man3/getline.3:55 build/C/man3/unlocked_stdio.3:104
 msgid "_GNU_SOURCE"
 msgstr "_GNU_SOURCE"
 
 #. type: Plain text
 msgid "_GNU_SOURCE"
 msgstr "_GNU_SOURCE"
 
 #. type: Plain text
-#: build/C/man3/dprintf.3:68
+#: build/C/man3/dprintf.3:69
 msgid ""
 "The functions B<dprintf>()  and B<vdprintf>()  (as found in the glibc2 "
 "library) are exact analogs of B<fprintf>(3)  and B<vfprintf>(3), except that "
 msgid ""
 "The functions B<dprintf>()  and B<vdprintf>()  (as found in the glibc2 "
 "library) are exact analogs of B<fprintf>(3)  and B<vfprintf>(3), except that "
@@ -560,7 +610,7 @@ msgstr ""
 #.  A better name would have been
 #.  .BR fdprintf ().
 #. type: Plain text
 #.  A better name would have been
 #.  .BR fdprintf ().
 #. type: Plain text
-#: build/C/man3/dprintf.3:94
+#: build/C/man3/dprintf.3:95
 msgid ""
 "These functions are GNU extensions that are nowadays specified in "
 "POSIX.1-2008."
 msgid ""
 "These functions are GNU extensions that are nowadays specified in "
 "POSIX.1-2008."
@@ -569,45 +619,45 @@ msgstr ""
 "る。"
 
 #. type: Plain text
 "る。"
 
 #. type: Plain text
-#: build/C/man3/dprintf.3:96
+#: build/C/man3/dprintf.3:97
 msgid "B<printf>(3)"
 msgstr "B<printf>(3)"
 
 #. type: TH
 msgid "B<printf>(3)"
 msgstr "B<printf>(3)"
 
 #. type: TH
-#: build/C/man3/fclose.3:42
+#: build/C/man3/fclose.3:44
 #, no-wrap
 msgid "FCLOSE"
 msgstr "FCLOSE"
 
 #. type: TH
 #, no-wrap
 msgid "FCLOSE"
 msgstr "FCLOSE"
 
 #. type: TH
-#: build/C/man3/fclose.3:42 build/C/man2/read.2:35
+#: build/C/man3/fclose.3:44
 #, no-wrap
 msgid "2009-02-23"
 msgstr "2009-02-23"
 
 #. type: Plain text
 #, no-wrap
 msgid "2009-02-23"
 msgstr "2009-02-23"
 
 #. type: Plain text
-#: build/C/man3/fclose.3:45
+#: build/C/man3/fclose.3:47
 msgid "fclose - close a stream"
 msgstr "fclose - ストリームを閉じる"
 
 #. type: Plain text
 msgid "fclose - close a stream"
 msgstr "fclose - ストリームを閉じる"
 
 #. type: Plain text
-#: build/C/man3/fclose.3:49
+#: build/C/man3/fclose.3:51
 msgid "B<int fclose(FILE *>I<fp>B<);>"
 msgstr "B<int fclose(FILE *>I<fp>B<);>"
 
 #. type: Plain text
 msgid "B<int fclose(FILE *>I<fp>B<);>"
 msgstr "B<int fclose(FILE *>I<fp>B<);>"
 
 #. type: Plain text
-#: build/C/man3/fclose.3:57
+#: build/C/man3/fclose.3:59
 msgid ""
 msgid ""
-"The B<fclose>()  function will flushes the stream pointed to by I<fp> "
-"(writing any buffered output data using B<fflush>(3))  and closes the "
-"underlying file descriptor."
+"The B<fclose>()  function flushes the stream pointed to by I<fp> (writing "
+"any buffered output data using B<fflush>(3))  and closes the underlying file "
+"descriptor."
 msgstr ""
 msgstr ""
-"B<fclose>()  関数は I<fp> で指されるストリームを (バッファリングされていた全"
-"ã\81¦ã\81®å\87ºå\8a\9bã\83\87ã\83¼ã\82¿ã\82\92 B<fflush>(3)  ã\82\92ç\94¨ã\81\84ã\81¦æ\9b¸ã\81\8dè¾¼ã\82\93ã\81§) ã\83\95ã\83©ã\83\83ã\82·ã\83¥ã\81\97ã\80\81 ã\81\9dã\81®å\9fºã\81¨ã\81ª"
-"るファイルディスクリプタをクローズする。"
+"B<fclose>() 関数は、 I<fp> が指すストリームを (バッファリングされて\n"
+"ã\81\84ã\81\9få\85¨ã\81¦ã\81®å\87ºå\8a\9bã\83\87ã\83¼ã\82¿ã\82\92 B<fflush>(3) ã\82\92ç\94¨ã\81\84ã\81¦æ\9b¸ã\81\8dè¾¼ã\82\93ã\81§) ã\83\95ã\83©ã\83\83ã\82·ã\83¥ã\81\97ã\80\81\n"
+"対応するファイルディスクリプタをクローズする。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/fclose.3:68
+#: build/C/man3/fclose.3:70
 msgid ""
 "Upon successful completion 0 is returned.  Otherwise, B<EOF> is returned and "
 "I<errno> is set to indicate the error.  In either case any further access "
 msgid ""
 "Upon successful completion 0 is returned.  Otherwise, B<EOF> is returned and "
 "I<errno> is set to indicate the error.  In either case any further access "
@@ -620,26 +670,30 @@ msgstr ""
 "は 未定義の動作を生じさせる。"
 
 #. type: SH
 "は 未定義の動作を生じさせる。"
 
 #. type: SH
-#: build/C/man3/fclose.3:68 build/C/man3/ferror.3:95 build/C/man3/fflush.3:79
-#: build/C/man3/fgetwc.3:59 build/C/man3/flockfile.3:117
-#: build/C/man3/fopen.3:199 build/C/man3/fpurge.3:63 build/C/man3/fputwc.3:58
-#: build/C/man3/fseek.3:132 build/C/man3/fseeko.3:72
-#: build/C/man3/getline.3:120 build/C/man2/link.2:57 build/C/man2/llseek.2:64
-#: build/C/man2/lseek.2:159 build/C/man2/open.2:472 build/C/man2/pipe.2:97
-#: build/C/man3/popen.3:141 build/C/man2/read.2:77 build/C/man2/readlink.2:83
-#: build/C/man2/readv.2:186 build/C/man3/remove.3:65 build/C/man2/rename.2:96
-#: build/C/man2/rmdir.2:45 build/C/man3/scanf.3:545 build/C/man2/symlink.2:89
-#: build/C/man3/tempnam.3:90 build/C/man3/tmpfile.3:52
-#: build/C/man3/tmpnam.3:73 build/C/man2/unlink.2:60 build/C/man2/write.2:107
-#: build/C/man2/process_vm_readv.2:227
+#: build/C/man3/fclose.3:70 build/C/man3/ferror.3:96 build/C/man3/fflush.3:81
+#: build/C/man3/fgetwc.3:64 build/C/man3/flockfile.3:125
+#: build/C/man3/fopen.3:201 build/C/man3/fpurge.3:65 build/C/man3/fputwc.3:63
+#: build/C/man3/fseek.3:136 build/C/man3/fseeko.3:101
+#: build/C/man3/getline.3:127 build/C/man2/link.2:192 build/C/man2/llseek.2:69
+#: build/C/man2/lseek.2:187 build/C/man2/open.2:790
+#: build/C/man2/open_by_handle_at.2:256 build/C/man2/pipe.2:134
+#: build/C/man3/popen.3:146 build/C/man2/read.2:95 build/C/man2/readlink.2:159
+#: build/C/man2/readv.2:188 build/C/man3/remove.3:65 build/C/man2/rename.2:208
+#: build/C/man2/rmdir.2:45 build/C/man3/scanf.3:547 build/C/man2/symlink.2:145
+#: build/C/man3/tempnam.3:101 build/C/man3/tmpfile.3:56
+#: build/C/man3/tmpnam.3:84 build/C/man2/unlink.2:158 build/C/man2/write.2:107
 #, no-wrap
 msgid "ERRORS"
 msgstr "エラー"
 
 #. type: TP
 #, no-wrap
 msgid "ERRORS"
 msgstr "エラー"
 
 #. type: TP
-#: build/C/man3/fclose.3:69 build/C/man3/fflush.3:80 build/C/man3/fpurge.3:64
-#: build/C/man3/fseek.3:133 build/C/man2/llseek.2:65 build/C/man2/lseek.2:160
-#: build/C/man2/read.2:96 build/C/man3/scanf.3:551 build/C/man2/write.2:126
+#: build/C/man3/fclose.3:71 build/C/man3/fflush.3:82 build/C/man3/fpurge.3:66
+#: build/C/man3/fseek.3:137 build/C/man2/link.2:276 build/C/man2/llseek.2:70
+#: build/C/man2/lseek.2:188 build/C/man2/open.2:1005
+#: build/C/man2/open_by_handle_at.2:317 build/C/man2/read.2:114
+#: build/C/man2/readlink.2:202 build/C/man2/rename.2:349
+#: build/C/man3/scanf.3:553 build/C/man2/symlink.2:208
+#: build/C/man2/unlink.2:248 build/C/man2/write.2:126
 #, no-wrap
 msgid "B<EBADF>"
 msgstr "B<EBADF>"
 #, no-wrap
 msgid "B<EBADF>"
 msgstr "B<EBADF>"
@@ -649,12 +703,12 @@ msgstr "B<EBADF>"
 #.   you must have closed the stream's low-level file descriptor using
 #.   something like close(fileno(fp)).
 #. type: Plain text
 #.   you must have closed the stream's low-level file descriptor using
 #.   something like close(fileno(fp)).
 #. type: Plain text
-#: build/C/man3/fclose.3:78
+#: build/C/man3/fclose.3:80
 msgid "The file descriptor underlying I<fp> is not valid."
 msgstr "I<fp> の基となるファイルディスクリプタが不正である。"
 
 #. type: Plain text
 msgid "The file descriptor underlying I<fp> is not valid."
 msgstr "I<fp> の基となるファイルディスクリプタが不正である。"
 
 #. type: Plain text
-#: build/C/man3/fclose.3:88
+#: build/C/man3/fclose.3:90
 msgid ""
 "The B<fclose>()  function may also fail and set I<errno> for any of the "
 "errors specified for the routines B<close>(2), B<write>(2)  or B<fflush>(3)."
 msgid ""
 "The B<fclose>()  function may also fail and set I<errno> for any of the "
 "errors specified for the routines B<close>(2), B<write>(2)  or B<fflush>(3)."
@@ -664,31 +718,31 @@ msgstr ""
 "された値に設定される。"
 
 #. type: Plain text
 "された値に設定される。"
 
 #. type: Plain text
-#: build/C/man3/fclose.3:90 build/C/man3/fseek.3:166 build/C/man3/puts.3:103
+#: build/C/man3/fclose.3:92 build/C/man3/fseek.3:171 build/C/man3/puts.3:105
 msgid "C89, C99."
 msgstr "C89, C99."
 
 #. type: SH
 msgid "C89, C99."
 msgstr "C89, C99."
 
 #. type: SH
-#: build/C/man3/fclose.3:90 build/C/man3/fflush.3:97 build/C/man3/fgetwc.3:67
-#: build/C/man3/fmemopen.3:195 build/C/man3/fmtmsg.3:236
-#: build/C/man3/fopen.3:253 build/C/man3/fpurge.3:76 build/C/man3/fputwc.3:65
-#: build/C/man3/fseeko.3:77 build/C/man2/link.2:133 build/C/man2/llseek.2:79
-#: build/C/man2/lseek.2:199 build/C/man2/open.2:636 build/C/man3/perror.3:124
-#: build/C/man3/printf.3:868 build/C/man2/read.2:157
-#: build/C/man2/readlink.2:128 build/C/man2/readv.2:224
-#: build/C/man3/remove.3:72 build/C/man3/scanf.3:606 build/C/man3/stdin.3:118
-#: build/C/man2/symlink.2:150 build/C/man3/tempnam.3:99
-#: build/C/man3/tmpfile.3:76 build/C/man3/tmpnam.3:80
-#: build/C/man3/wprintf.3:195 build/C/man2/write.2:188
-#: build/C/man2/process_vm_readv.2:279
+#: build/C/man3/fclose.3:92 build/C/man3/fflush.3:104 build/C/man3/fgetwc.3:72
+#: build/C/man3/fmemopen.3:207 build/C/man3/fmtmsg.3:252
+#: build/C/man3/fopen.3:255 build/C/man3/fpurge.3:78 build/C/man3/fputwc.3:70
+#: build/C/man3/fseeko.3:106 build/C/man2/link.2:347 build/C/man2/llseek.2:84
+#: build/C/man2/lseek.2:227 build/C/man2/open.2:1063
+#: build/C/man2/open_by_handle_at.2:359 build/C/man3/perror.3:124
+#: build/C/man3/printf.3:868 build/C/man2/read.2:175
+#: build/C/man2/readlink.2:225 build/C/man2/readv.2:226
+#: build/C/man3/remove.3:77 build/C/man3/scanf.3:608 build/C/man3/stdin.3:122
+#: build/C/man2/symlink.2:238 build/C/man3/tempnam.3:110
+#: build/C/man3/tmpfile.3:80 build/C/man3/tmpnam.3:101
+#: build/C/man3/wprintf.3:213 build/C/man2/write.2:194
 #, no-wrap
 msgid "NOTES"
 msgstr "注意"
 
 #. type: Plain text
 #, no-wrap
 msgid "NOTES"
 msgstr "注意"
 
 #. type: Plain text
-#: build/C/man3/fclose.3:100
+#: build/C/man3/fclose.3:102
 msgid ""
 msgid ""
-"Note that B<fclose>()  only flushes the user space buffers provided by the C "
+"Note that B<fclose>()  only flushes the user-space buffers provided by the C "
 "library.  To ensure that the data is physically stored on disk the kernel "
 "buffers must be flushed too, for example, with B<sync>(2)  or B<fsync>(2)."
 msgstr ""
 "library.  To ensure that the data is physically stored on disk the kernel "
 "buffers must be flushed too, for example, with B<sync>(2)  or B<fsync>(2)."
 msgstr ""
@@ -698,29 +752,23 @@ msgstr ""
 "ればならない。"
 
 #. type: Plain text
 "ればならない。"
 
 #. type: Plain text
-#: build/C/man3/fclose.3:106
+#: build/C/man3/fclose.3:108
 msgid "B<close>(2), B<fcloseall>(3), B<fflush>(3), B<fopen>(3), B<setbuf>(3)"
 msgstr "B<close>(2), B<fcloseall>(3), B<fflush>(3), B<fopen>(3), B<setbuf>(3)"
 
 #. type: TH
 msgid "B<close>(2), B<fcloseall>(3), B<fflush>(3), B<fopen>(3), B<setbuf>(3)"
 msgstr "B<close>(2), B<fcloseall>(3), B<fflush>(3), B<fopen>(3), B<setbuf>(3)"
 
 #. type: TH
-#: build/C/man3/fcloseall.3:24
+#: build/C/man3/fcloseall.3:25
 #, no-wrap
 msgid "FCLOSEALL"
 msgstr "FCLOSEALL"
 
 #, no-wrap
 msgid "FCLOSEALL"
 msgstr "FCLOSEALL"
 
-#. type: TH
-#: build/C/man3/fcloseall.3:24
-#, no-wrap
-msgid "2006-12-27"
-msgstr "2006-12-27"
-
 #. type: Plain text
 #. type: Plain text
-#: build/C/man3/fcloseall.3:27
+#: build/C/man3/fcloseall.3:28
 msgid "fcloseall - close all open streams"
 msgstr "fcloseall - 開いているすべてのストリームを閉じる"
 
 #. type: Plain text
 msgid "fcloseall - close all open streams"
 msgstr "fcloseall - 開いているすべてのストリームを閉じる"
 
 #. type: Plain text
-#: build/C/man3/fcloseall.3:31 build/C/man3/fopencookie.3:31
+#: build/C/man3/fcloseall.3:32 build/C/man3/fopencookie.3:33
 #, no-wrap
 msgid ""
 "B<#define _GNU_SOURCE>         /* See feature_test_macros(7) */\n"
 #, no-wrap
 msgid ""
 "B<#define _GNU_SOURCE>         /* See feature_test_macros(7) */\n"
@@ -730,13 +778,13 @@ msgstr ""
 "B<#include E<lt>stdio.hE<gt>>\n"
 
 #. type: Plain text
 "B<#include E<lt>stdio.hE<gt>>\n"
 
 #. type: Plain text
-#: build/C/man3/fcloseall.3:33
+#: build/C/man3/fcloseall.3:34
 #, no-wrap
 msgid "B<int fcloseall(void);>\n"
 msgstr "B<int fcloseall(void);>\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<int fcloseall(void);>\n"
 msgstr "B<int fcloseall(void);>\n"
 
 #. type: Plain text
-#: build/C/man3/fcloseall.3:42
+#: build/C/man3/fcloseall.3:43
 msgid ""
 "The B<fcloseall>()  function closes all of the calling process's open "
 "streams.  Buffered output for each stream is written before it is closed (as "
 msgid ""
 "The B<fcloseall>()  function closes all of the calling process's open "
 "streams.  Buffered output for each stream is written before it is closed (as "
@@ -748,13 +796,13 @@ msgstr ""
 "れる。"
 
 #. type: Plain text
 "れる。"
 
 #. type: Plain text
-#: build/C/man3/fcloseall.3:49
+#: build/C/man3/fcloseall.3:50
 msgid ""
 "The standard streams, I<stdin>, I<stdout>, and I<stderr> are also closed."
 msgstr "標準入出力 I<stdin>, I<stdout>, I<stderr> も閉じられる。"
 
 #. type: Plain text
 msgid ""
 "The standard streams, I<stdin>, I<stdout>, and I<stderr> are also closed."
 msgstr "標準入出力 I<stdin>, I<stdout>, I<stderr> も閉じられる。"
 
 #. type: Plain text
-#: build/C/man3/fcloseall.3:54
+#: build/C/man3/fcloseall.3:55
 msgid ""
 "This function returns 0 if all files were successfully closed; on error, "
 "B<EOF> is returned."
 msgid ""
 "This function returns 0 if all files were successfully closed; on error, "
 "B<EOF> is returned."
@@ -763,63 +811,71 @@ msgstr ""
 "B<EOF> を返す。"
 
 #. type: Plain text
 "B<EOF> を返す。"
 
 #. type: Plain text
-#: build/C/man3/fcloseall.3:56
+#: build/C/man3/fcloseall.3:60
+msgid ""
+"The B<fcloseall>()  function does not lock the streams, so it is not thread-"
+"safe."
+msgstr ""
+"B<fcloseall>() 関数はストリームのロックを行わない。そのため、スレッドセーフで"
+"はない。"
+
+#. type: Plain text
+#: build/C/man3/fcloseall.3:62
 msgid "This function is a GNU extension."
 msgstr "この関数は GNU 拡張である。"
 
 #. type: Plain text
 msgid "This function is a GNU extension."
 msgstr "この関数は GNU 拡張である。"
 
 #. type: Plain text
-#: build/C/man3/fcloseall.3:62
+#: build/C/man3/fcloseall.3:68
 msgid "B<close>(2), B<fclose>(3), B<fflush>(3), B<fopen>(3), B<setbuf>(3)"
 msgstr "B<close>(2), B<fclose>(3), B<fflush>(3), B<fopen>(3), B<setbuf>(3)"
 
 #. type: TH
 msgid "B<close>(2), B<fclose>(3), B<fflush>(3), B<fopen>(3), B<setbuf>(3)"
 msgstr "B<close>(2), B<fclose>(3), B<fflush>(3), B<fopen>(3), B<setbuf>(3)"
 
 #. type: TH
-#: build/C/man3/ferror.3:42
+#: build/C/man3/ferror.3:44
 #, no-wrap
 msgid "FERROR"
 msgstr "FERROR"
 
 #. type: TH
 #, no-wrap
 msgid "FERROR"
 msgstr "FERROR"
 
 #. type: TH
-#: build/C/man3/ferror.3:42 build/C/man3/flockfile.3:23
-#: build/C/man3/unlocked_stdio.3:23
+#: build/C/man3/ferror.3:44
 #, no-wrap
 #, no-wrap
-msgid "2008-08-29"
-msgstr "2008-08-29"
+msgid "2014-01-15"
+msgstr "2014-01-15"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/ferror.3:45
+#: build/C/man3/ferror.3:47
 msgid "clearerr, feof, ferror, fileno - check and reset stream status"
 msgstr ""
 "clearerr, feof, ferror, fileno - ストリームステータスのチェックとリセット"
 
 #. type: Plain text
 msgid "clearerr, feof, ferror, fileno - check and reset stream status"
 msgstr ""
 "clearerr, feof, ferror, fileno - ストリームステータスのチェックとリセット"
 
 #. type: Plain text
-#: build/C/man3/ferror.3:49
+#: build/C/man3/ferror.3:51
 msgid "B<void clearerr(FILE *>I<stream>B<);>"
 msgstr "B<void clearerr(FILE *>I<stream>B<);>"
 
 #. type: Plain text
 msgid "B<void clearerr(FILE *>I<stream>B<);>"
 msgstr "B<void clearerr(FILE *>I<stream>B<);>"
 
 #. type: Plain text
-#: build/C/man3/ferror.3:51
+#: build/C/man3/ferror.3:53
 msgid "B<int feof(FILE *>I<stream>B<);>"
 msgstr "B<int feof(FILE *>I<stream>B<);>"
 
 #. type: Plain text
 msgid "B<int feof(FILE *>I<stream>B<);>"
 msgstr "B<int feof(FILE *>I<stream>B<);>"
 
 #. type: Plain text
-#: build/C/man3/ferror.3:53
+#: build/C/man3/ferror.3:55
 msgid "B<int ferror(FILE *>I<stream>B<);>"
 msgstr "B<int ferror(FILE *>I<stream>B<);>"
 
 #. type: Plain text
 msgid "B<int ferror(FILE *>I<stream>B<);>"
 msgstr "B<int ferror(FILE *>I<stream>B<);>"
 
 #. type: Plain text
-#: build/C/man3/ferror.3:55
+#: build/C/man3/ferror.3:57
 msgid "B<int fileno(FILE *>I<stream>B<);>"
 msgstr "B<int fileno(FILE *>I<stream>B<);>"
 
 #. type: Plain text
 msgid "B<int fileno(FILE *>I<stream>B<);>"
 msgstr "B<int fileno(FILE *>I<stream>B<);>"
 
 #. type: Plain text
-#: build/C/man3/ferror.3:63
+#: build/C/man3/ferror.3:65
 msgid ""
 "B<fileno>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
 msgstr ""
 "B<fileno>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
 
 #. type: Plain text
 msgid ""
 "B<fileno>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
 msgstr ""
 "B<fileno>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
 
 #. type: Plain text
-#: build/C/man3/ferror.3:68
+#: build/C/man3/ferror.3:70
 msgid ""
 "The function B<clearerr>()  clears the end-of-file and error indicators for "
 "the stream pointed to by I<stream>."
 msgid ""
 "The function B<clearerr>()  clears the end-of-file and error indicators for "
 "the stream pointed to by I<stream>."
@@ -828,29 +884,29 @@ msgstr ""
 "子とエラー指示子をクリアする。"
 
 #. type: Plain text
 "子とエラー指示子をクリアする。"
 
 #. type: Plain text
-#: build/C/man3/ferror.3:77
+#: build/C/man3/ferror.3:78
 msgid ""
 "The function B<feof>()  tests the end-of-file indicator for the stream "
 "pointed to by I<stream>, returning nonzero if it is set.  The end-of-file "
 msgid ""
 "The function B<feof>()  tests the end-of-file indicator for the stream "
 "pointed to by I<stream>, returning nonzero if it is set.  The end-of-file "
-"indicator can only be cleared by the function B<clearerr>()."
+"indicator can be cleared only by the function B<clearerr>()."
 msgstr ""
 "関数 B<feof>()  は I<stream> で示されるストリームの EOF 指示子をテストし、 "
 "セットされていれば 0 以外の数を返す。 EOF 指示子は、関数 B<clearerr>()  に"
 "よってのみクリアすることができる。"
 
 #. type: Plain text
 msgstr ""
 "関数 B<feof>()  は I<stream> で示されるストリームの EOF 指示子をテストし、 "
 "セットされていれば 0 以外の数を返す。 EOF 指示子は、関数 B<clearerr>()  に"
 "よってのみクリアすることができる。"
 
 #. type: Plain text
-#: build/C/man3/ferror.3:86
+#: build/C/man3/ferror.3:87
 msgid ""
 "The function B<ferror>()  tests the error indicator for the stream pointed "
 msgid ""
 "The function B<ferror>()  tests the error indicator for the stream pointed "
-"to by I<stream>, returning nonzero if it is set.  The error indicator can "
-"only be reset by the B<clearerr>()  function."
+"to by I<stream>, returning nonzero if it is set.  The error indicator can be "
+"reset only by the B<clearerr>()  function."
 msgstr ""
 "関数 B<ferror>()  は I<stream> で示されるストリームのエラー指示子をテスト"
 msgstr ""
 "関数 B<ferror>()  は I<stream> で示されるストリームのエラー指示子をテスト"
-"し、 セットされていれば 0 以外の数を返す。 エラー指示子は、関数 B<clearerr>"
-"()  によってのみリセットすることができる。"
+"し、 セットされていれば 0 以外の数を返す。 エラー指示子は、関数 "
+"B<clearerr>()  によってのみリセットすることができる。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/ferror.3:92
+#: build/C/man3/ferror.3:93
 msgid ""
 "The function B<fileno>()  examines the argument I<stream> and returns its "
 "integer descriptor."
 msgid ""
 "The function B<fileno>()  examines the argument I<stream> and returns its "
 "integer descriptor."
@@ -858,14 +914,14 @@ msgstr ""
 "関数 B<fileno>()  は、引数 I<stream> を調べ、その整数のディスクリプタを返す。"
 
 #. type: Plain text
 "関数 B<fileno>()  は、引数 I<stream> を調べ、その整数のディスクリプタを返す。"
 
 #. type: Plain text
-#: build/C/man3/ferror.3:95 build/C/man3/fgetwc.3:53 build/C/man3/fputwc.3:52
-#: build/C/man3/fread.3:81 build/C/man3/gets.3:109 build/C/man3/puts.3:82
+#: build/C/man3/ferror.3:96 build/C/man3/fgetc.3:99 build/C/man3/fgetwc.3:55
+#: build/C/man3/fputwc.3:54 build/C/man3/fread.3:83 build/C/man3/puts.3:84
 msgid "For nonlocking counterparts, see B<unlocked_stdio>(3)."
 msgstr ""
 "これらの処理を停止せずに行いたいときは、 B<unlocked_stdio>(3)  を参照のこと。"
 
 #. type: Plain text
 msgid "For nonlocking counterparts, see B<unlocked_stdio>(3)."
 msgstr ""
 "これらの処理を停止せずに行いたいときは、 B<unlocked_stdio>(3)  を参照のこと。"
 
 #. type: Plain text
-#: build/C/man3/ferror.3:105
+#: build/C/man3/ferror.3:106
 msgid ""
 "These functions should not fail and do not set the external variable "
 "I<errno>.  (However, in case B<fileno>()  detects that its argument is not a "
 msgid ""
 "These functions should not fail and do not set the external variable "
 "I<errno>.  (However, in case B<fileno>()  detects that its argument is not a "
@@ -876,42 +932,57 @@ msgstr ""
 "合、 関数は -1 を返し、 I<errno> に B<EBADF> を設定しなければならない。)"
 
 #. type: Plain text
 "合、 関数は -1 を返し、 I<errno> に B<EBADF> を設定しなければならない。)"
 
 #. type: Plain text
-#: build/C/man3/ferror.3:112
+#: build/C/man3/ferror.3:115
+msgid ""
+"The B<clearerr>(), B<feof>(), B<ferror>(), and B<fileno>()  functions are "
+"thread-safe."
+msgstr ""
+"関数 B<clearerr>(), B<feof>(), B<ferror>(), B<fileno>() はスレッドセーフであ"
+"る。"
+
+#. type: Plain text
+#: build/C/man3/ferror.3:122
 msgid ""
 msgid ""
-"The functions B<clearerr>(), B<feof>(), and B<ferror>()  conform to C89 and "
-"C99."
+"The functions B<clearerr>(), B<feof>(), and B<ferror>()  conform to C89, "
+"C99, POSIX.1-2001, and POSIX.1-2008."
 msgstr ""
 msgstr ""
-"関数 B<clearerr>(), B<feof>(), B<ferror>()  は C89 と C99 に準拠している。"
+"関数 B<clearerr>(), B<feof>(), B<ferror>()  は C89, C99, POSIX.1-2001, "
+"POSIX.1-2008 に準拠している。"
+
+#. type: Plain text
+#: build/C/man3/ferror.3:126
+msgid "The function B<fileno>()  conforms to POSIX.1-2001 and POSIX.1-2008."
+msgstr "関数 B<fileno>() は POSIX.1-2001 と POSIX.1-2008 に準拠している。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/ferror.3:117
+#: build/C/man3/ferror.3:131
 msgid "B<open>(2), B<fdopen>(3), B<stdio>(3), B<unlocked_stdio>(3)"
 msgstr "B<open>(2), B<fdopen>(3), B<stdio>(3), B<unlocked_stdio>(3)"
 
 #. type: TH
 msgid "B<open>(2), B<fdopen>(3), B<stdio>(3), B<unlocked_stdio>(3)"
 msgstr "B<open>(2), B<fdopen>(3), B<stdio>(3), B<unlocked_stdio>(3)"
 
 #. type: TH
-#: build/C/man3/fflush.3:43
+#: build/C/man3/fflush.3:45
 #, no-wrap
 msgid "FFLUSH"
 msgstr "FFLUSH"
 
 #. type: TH
 #, no-wrap
 msgid "FFLUSH"
 msgstr "FFLUSH"
 
 #. type: TH
-#: build/C/man3/fflush.3:43
+#: build/C/man3/fflush.3:45
 #, no-wrap
 #, no-wrap
-msgid "2009-09-06"
-msgstr "2009-09-06"
+msgid "2013-07-15"
+msgstr "2013-07-15"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/fflush.3:46
+#: build/C/man3/fflush.3:48
 msgid "fflush - flush a stream"
 msgstr "fflush - ストリームの内容を強制的に出力(フラッシュ)する"
 
 #. type: Plain text
 msgid "fflush - flush a stream"
 msgstr "fflush - ストリームの内容を強制的に出力(フラッシュ)する"
 
 #. type: Plain text
-#: build/C/man3/fflush.3:50
+#: build/C/man3/fflush.3:52
 msgid "B<int fflush(FILE *>I<stream>B<);>"
 msgstr "B<int fflush(FILE *>I<stream>B<);>"
 
 #. type: Plain text
 msgid "B<int fflush(FILE *>I<stream>B<);>"
 msgstr "B<int fflush(FILE *>I<stream>B<);>"
 
 #. type: Plain text
-#: build/C/man3/fflush.3:61
+#: build/C/man3/fflush.3:63
 msgid ""
 "For output streams, B<fflush>()  forces a write of all user-space buffered "
 "data for the given output or update I<stream> via the stream's underlying "
 msgid ""
 "For output streams, B<fflush>()  forces a write of all user-space buffered "
 "data for the given output or update I<stream> via the stream's underlying "
@@ -928,23 +999,23 @@ msgstr ""
 "い。"
 
 #. type: Plain text
 "い。"
 
 #. type: Plain text
-#: build/C/man3/fflush.3:69
+#: build/C/man3/fflush.3:71
 msgid ""
 "If the I<stream> argument is NULL, B<fflush>()  flushes I<all> open output "
 "streams."
 msgstr ""
 msgid ""
 "If the I<stream> argument is NULL, B<fflush>()  flushes I<all> open output "
 "streams."
 msgstr ""
-"I<stream> 引数が .BR NULL ならば、 B<fflush>()  は開いているI<すべての>出力ス"
-"ã\83\88ã\83ªã\83¼ã\83 ã\82\92ã\83\95ã\83©ã\83\83ã\82·ã\83¥ã\81\99ã\82\8bã\80\82"
+"I<stream> 引数が NULL ならば、 B<fflush>()  は開いているI<すべての>出力スト"
+"リームをフラッシュする。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/fflush.3:72
+#: build/C/man3/fflush.3:74
 msgid "For a nonlocking counterpart, see B<unlocked_stdio>(3)."
 msgstr ""
 "これらの処理をロックせずに行いたいときは、 B<unlocked_stdio>(3)  を参照のこ"
 "と。"
 
 #. type: Plain text
 msgid "For a nonlocking counterpart, see B<unlocked_stdio>(3)."
 msgstr ""
 "これらの処理をロックせずに行いたいときは、 B<unlocked_stdio>(3)  を参照のこ"
 "と。"
 
 #. type: Plain text
-#: build/C/man3/fflush.3:79
+#: build/C/man3/fflush.3:81
 msgid ""
 "Upon successful completion 0 is returned.  Otherwise, B<EOF> is returned and "
 "I<errno> is set to indicate the error."
 msgid ""
 "Upon successful completion 0 is returned.  Otherwise, B<EOF> is returned and "
 "I<errno> is set to indicate the error."
@@ -953,14 +1024,14 @@ msgstr ""
 "ラーに対応した値に設定される。"
 
 #. type: Plain text
 "ラーに対応した値に設定される。"
 
 #. type: Plain text
-#: build/C/man3/fflush.3:84
+#: build/C/man3/fflush.3:86
 msgid "I<Stream> is not an open stream, or is not open for writing."
 msgstr ""
 "I<Stream> は開いているストリームではない。 あるいはストリームは書き込み用では"
 "ない。"
 
 #. type: Plain text
 msgid "I<Stream> is not an open stream, or is not open for writing."
 msgstr ""
 "I<Stream> は開いているストリームではない。 あるいはストリームは書き込み用では"
 "ない。"
 
 #. type: Plain text
-#: build/C/man3/fflush.3:91
+#: build/C/man3/fflush.3:93
 msgid ""
 "The function B<fflush>()  may also fail and set I<errno> for any of the "
 "errors specified for B<write>(2)."
 msgid ""
 "The function B<fflush>()  may also fail and set I<errno> for any of the "
 "errors specified for B<write>(2)."
@@ -969,13 +1040,18 @@ msgstr ""
 "ある。 この場合 I<errno> もその値に設定される。"
 
 #. type: Plain text
 "ある。 この場合 I<errno> もその値に設定される。"
 
 #. type: Plain text
-#: build/C/man3/fflush.3:93
+#: build/C/man3/fflush.3:98
+msgid "The B<fflush>()  function is thread-safe."
+msgstr "関数 B<fflush>() はスレッドセーフである。"
+
+#. type: Plain text
+#: build/C/man3/fflush.3:100
 msgid "C89, C99, POSIX.1-2001, POSIX.1-2008."
 msgstr "C89, C99, POSIX.1-2001, POSIX.1-2008."
 
 #.  Verified on: Solaris 8.
 #. type: Plain text
 msgid "C89, C99, POSIX.1-2001, POSIX.1-2008."
 msgstr "C89, C99, POSIX.1-2001, POSIX.1-2008."
 
 #.  Verified on: Solaris 8.
 #. type: Plain text
-#: build/C/man3/fflush.3:97
+#: build/C/man3/fflush.3:104
 msgid ""
 "The standards do not specify the behavior for input streams.  Most other "
 "implementations behave the same as Linux."
 msgid ""
 "The standards do not specify the behavior for input streams.  Most other "
 "implementations behave the same as Linux."
@@ -984,9 +1060,9 @@ msgstr ""
 "は Linux と同じ動作をする。"
 
 #. type: Plain text
 "は Linux と同じ動作をする。"
 
 #. type: Plain text
-#: build/C/man3/fflush.3:106
+#: build/C/man3/fflush.3:113
 msgid ""
 msgid ""
-"Note that B<fflush>()  only flushes the user space buffers provided by the C "
+"Note that B<fflush>()  only flushes the user-space buffers provided by the C "
 "library.  To ensure that the data is physically stored on disk the kernel "
 "buffers must be flushed too, for example, with B<sync>(2)  or B<fsync>(2)."
 msgstr ""
 "library.  To ensure that the data is physically stored on disk the kernel "
 "buffers must be flushed too, for example, with B<sync>(2)  or B<fsync>(2)."
 msgstr ""
@@ -996,40 +1072,200 @@ msgstr ""
 "B<fsync>(2)  を用いる。"
 
 #. type: Plain text
 "B<fsync>(2)  を用いる。"
 
 #. type: Plain text
-#: build/C/man3/fflush.3:114
+#: build/C/man3/fflush.3:121
+msgid ""
+"B<fsync>(2), B<sync>(2), B<write>(2), B<fclose>(3), B<fopen>(3), "
+"B<setbuf>(3), B<unlocked_stdio>(3)"
+msgstr ""
+"B<fsync>(2), B<sync>(2), B<write>(2), B<fclose>(3), B<fopen>(3), "
+"B<setbuf>(3), B<unlocked_stdio>(3)"
+
+#. type: TH
+#: build/C/man3/fgetc.3:27
+#, no-wrap
+msgid "FGETC"
+msgstr "FGETC"
+
+#. type: TH
+#: build/C/man3/fgetc.3:27
+#, no-wrap
+msgid "2013-12-31"
+msgstr "2013-12-31"
+
+#. type: Plain text
+#: build/C/man3/fgetc.3:30
+msgid "fgetc, fgets, getc, getchar, ungetc - input of characters and strings"
+msgstr "fgetc, fgets, getc, getchar, ungetc - 文字と文字列の入力"
+
+#. type: Plain text
+#: build/C/man3/fgetc.3:35
+#, no-wrap
+msgid "B<int fgetc(FILE *>I<stream>B<);>\n"
+msgstr "B<int fgetc(FILE *>I<stream>B<);>\n"
+
+#. type: Plain text
+#: build/C/man3/fgetc.3:37
+#, no-wrap
+msgid "B<char *fgets(char *>I<s>B<, int >I<size>B<, FILE *>I<stream>B<);>\n"
+msgstr "B<char *fgets(char *>I<s>B<, int >I<size>B<, FILE *>I<stream>B<);>\n"
+
+#. type: Plain text
+#: build/C/man3/fgetc.3:39
+#, no-wrap
+msgid "B<int getc(FILE *>I<stream>B<);>\n"
+msgstr "B<int getc(FILE *>I<stream>B<);>\n"
+
+#. type: Plain text
+#: build/C/man3/fgetc.3:41
+#, no-wrap
+msgid "B<int getchar(void);>\n"
+msgstr "B<int getchar(void);>\n"
+
+#. type: Plain text
+#: build/C/man3/fgetc.3:43
+#, no-wrap
+msgid "B<int ungetc(int >I<c>B<, FILE *>I<stream>B<);>\n"
+msgstr "B<int ungetc(int >I<c>B<, FILE *>I<stream>B<);>\n"
+
+#. type: Plain text
+#: build/C/man3/fgetc.3:55
+msgid ""
+"B<fgetc>()  reads the next character from I<stream> and returns it as an "
+"I<unsigned char> cast to an I<int>, or B<EOF> on end of file or error."
+msgstr ""
+"B<fgetc>()  は、 I<stream> から次の文字を I<unsigned char> として読み、 "
+"I<int> にキャストして返す。ファイルの終わりやエラーとなった場合は B<EOF> を返"
+"す。"
+
+#. type: Plain text
+#: build/C/man3/fgetc.3:62
+msgid ""
+"B<getc>()  is equivalent to B<fgetc>()  except that it may be implemented as "
+"a macro which evaluates I<stream> more than once."
+msgstr ""
+"B<getc>()  は B<fgetc>()  と同様だが、 I<stream> を複数回評価するマクロとして"
+"実装されているかもしれない。"
+
+#. type: Plain text
+#: build/C/man3/fgetc.3:66
+msgid "B<getchar>()  is equivalent to B<getc(>I<stdin>B<)>."
+msgstr "B<getchar>()  は B<getc(>I<stdin>B<)> と同じである。"
+
+#. type: Plain text
+#: build/C/man3/fgetc.3:80
+msgid ""
+"B<fgets>()  reads in at most one less than I<size> characters from I<stream> "
+"and stores them into the buffer pointed to by I<s>.  Reading stops after an "
+"B<EOF> or a newline.  If a newline is read, it is stored into the buffer.  A "
+"terminating null byte (\\(aq\\e0\\(aq)  is stored after the last character "
+"in the buffer."
+msgstr ""
+"B<fgets>()  は I<stream> から最大で I<size> - 1 個の文字を読み込み、 I<s> が"
+"指すバッファに格納する。読み込みは B<EOF> または改行文字を読み込んだ後で停止"
+"する。 読み込まれた改行文字はバッファに格納される。 終端のヌルバイト (\\(aq"
+"\\e0\\(aq)  が一つバッファの中の最後の文字の後に書き込まれる。"
+
+#. type: Plain text
+#: build/C/man3/fgetc.3:91
+msgid ""
+"B<ungetc>()  pushes I<c> back to I<stream>, cast to I<unsigned char>, where "
+"it is available for subsequent read operations.  Pushed-back characters will "
+"be returned in reverse order; only one pushback is guaranteed."
+msgstr ""
+"B<ungetc>()  は、後の read 操作で読めるように、 I<c> を I<unsigned char> に"
+"キャストして I<stream> に書き戻す。 書き戻された文字は逆順に戻される; 書き戻"
+"しとして保証されているのは、一文字だけである。"
+
+#. type: Plain text
+#: build/C/man3/fgetc.3:96
+msgid ""
+"Calls to the functions described here can be mixed with each other and with "
+"calls to other input functions from the I<stdio> library for the same input "
+"stream."
+msgstr ""
+"ここで述べた関数や I<stdio> ライブラリの入力関数を同じ入力ストリームに対して"
+"互いに混ぜて使うことができる。"
+
+#. type: Plain text
+#: build/C/man3/fgetc.3:111
+msgid ""
+"B<fgetc>(), B<getc>()  and B<getchar>()  return the character read as an "
+"I<unsigned char> cast to an I<int> or B<EOF> on end of file or error."
+msgstr ""
+"B<fgetc>(), B<getc>(), B<getchar>()  は、文字を I<unsigned char> として読ん"
+"で I<int> にキャストして返す。ファイルの終わりやエラーの場合は B<EOF> を返"
+"す。"
+
+#. type: Plain text
+#: build/C/man3/fgetc.3:117
+msgid ""
+"B<fgets>()  returns I<s> on success, and NULL on error or when end of file "
+"occurs while no characters have been read."
+msgstr ""
+"B<fgets>() は、成功すると I<s> を返し、エラーや 1 文字も読み込んでいないのに"
+"ファイルの終わりになった 場合に NULL を返す。"
+
+#. type: Plain text
+#: build/C/man3/fgetc.3:124
+msgid "B<ungetc>()  returns I<c> on success, or B<EOF> on error."
+msgstr "B<ungetc>()  は成功すると I<c> を返し、エラーの場合は B<EOF> を返す。"
+
+#. type: Plain text
+#: build/C/man3/fgetc.3:126 build/C/man3/gets.3:60
+msgid "C89, C99, POSIX.1-2001."
+msgstr "C89, C99, POSIX.1-2001."
+
+#. type: Plain text
+#: build/C/man3/fgetc.3:133
+msgid ""
+"It is not advisable to mix calls to input functions from the I<stdio> "
+"library with low-level calls to B<read>(2)  for the file descriptor "
+"associated with the input stream; the results will be undefined and very "
+"probably not what you want."
+msgstr ""
+"入力ストリームのファイルディスクリプタに対して、 I<stdio> ライブラリの入力関"
+"数と、低レベル呼び出しの B<read>(2)  を混ぜて呼び出す事は勧められない。 結果"
+"がどうなるかは分からず、おそらくあなたの 望んでいる結果にはならないだろう。"
+
+#. type: Plain text
+#: build/C/man3/fgetc.3:150
 msgid ""
 msgid ""
-"B<fsync>(2), B<sync>(2), B<write>(2), B<fclose>(3), B<fopen>(3), B<setbuf>"
-"(3), B<unlocked_stdio>(3)"
+"B<read>(2), B<write>(2), B<ferror>(3), B<fgetwc>(3), B<fgetws>(3), "
+"B<fopen>(3), B<fread>(3), B<fseek>(3), B<getline>(3), B<gets>(3), "
+"B<getwchar>(3), B<puts>(3), B<scanf>(3), B<ungetwc>(3), "
+"B<unlocked_stdio>(3), B<feature_test_macros>(7)"
 msgstr ""
 msgstr ""
-"B<fsync>(2), B<sync>(2), B<write>(2), B<fclose>(3), B<fopen>(3), B<setbuf>"
-"(3), B<unlocked_stdio>(3)"
+"B<read>(2), B<write>(2), B<ferror>(3), B<fgetwc>(3), B<fgetws>(3), "
+"B<fopen>(3), B<fread>(3), B<fseek>(3), B<getline>(3), B<gets>(3), "
+"B<getwchar>(3), B<puts>(3), B<scanf>(3), B<ungetwc>(3), "
+"B<unlocked_stdio>(3), B<feature_test_macros>(7)"
 
 #. type: TH
 
 #. type: TH
-#: build/C/man3/fgetwc.3:16
+#: build/C/man3/fgetwc.3:18
 #, no-wrap
 msgid "FGETWC"
 msgstr "FGETWC"
 
 #. type: TH
 #, no-wrap
 msgid "FGETWC"
 msgstr "FGETWC"
 
 #. type: TH
-#: build/C/man3/fgetwc.3:16 build/C/man3/fputwc.3:14
+#: build/C/man3/fgetwc.3:18 build/C/man3/fputwc.3:16 build/C/man3/popen.3:40
 #, no-wrap
 #, no-wrap
-msgid "1999-07-25"
-msgstr "1999-07-25"
+msgid "2013-04-19"
+msgstr "2013-04-19"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/fgetwc.3:19
+#: build/C/man3/fgetwc.3:21
 msgid "fgetwc, getwc - read a wide character from a FILE stream"
 msgstr "fgetwc, getwc - ワイド文字を FILE ストリームから読み込む"
 
 #. type: Plain text
 msgid "fgetwc, getwc - read a wide character from a FILE stream"
 msgstr "fgetwc, getwc - ワイド文字を FILE ストリームから読み込む"
 
 #. type: Plain text
-#: build/C/man3/fgetwc.3:24 build/C/man3/fmemopen.3:18
-#: build/C/man3/fputwc.3:22 build/C/man3/unlocked_stdio.3:52
+#: build/C/man3/fgetwc.3:26 build/C/man3/fmemopen.3:22
+#: build/C/man3/fputwc.3:24 build/C/man3/unlocked_stdio.3:54
 #, no-wrap
 msgid "B<#include E<lt>wchar.hE<gt>>\n"
 msgstr "B<#include E<lt>wchar.hE<gt>>\n"
 
 #. type: Plain text
 #, 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/fgetwc.3:27
+#: build/C/man3/fgetwc.3:29
 #, no-wrap
 msgid ""
 "B<wint_t fgetwc(FILE *>I<stream>B<);>\n"
 #, no-wrap
 msgid ""
 "B<wint_t fgetwc(FILE *>I<stream>B<);>\n"
@@ -1039,12 +1275,12 @@ msgstr ""
 "B<wint_t getwc(FILE *>I<stream>B<);>\n"
 
 #. type: Plain text
 "B<wint_t getwc(FILE *>I<stream>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/fgetwc.3:42
+#: build/C/man3/fgetwc.3:44
 msgid ""
 msgid ""
-"The B<fgetwc>()  function is the wide-character equivalent of the B<fgetc>"
-"(3)  function.  It reads a wide character from I<stream> and returns it.  If "
-"the end of stream is reached, or if I<ferror(stream)> becomes true, it "
-"returns B<WEOF>.  If a wide-character conversion error occurs, it sets "
+"The B<fgetwc>()  function is the wide-character equivalent of the "
+"B<fgetc>(3)  function.  It reads a wide character from I<stream> and returns "
+"it.  If the end of stream is reached, or if I<ferror(stream)> becomes true, "
+"it returns B<WEOF>.  If a wide-character conversion error occurs, it sets "
 "I<errno> to B<EILSEQ> and returns B<WEOF>."
 msgstr ""
 "B<fgetwc>()  関数は、 B<fgetc>(3)  に対応するワイド文字関数である。 この関数"
 "I<errno> to B<EILSEQ> and returns B<WEOF>."
 msgstr ""
 "B<fgetwc>()  関数は、 B<fgetc>(3)  に対応するワイド文字関数である。 この関数"
@@ -1054,7 +1290,7 @@ msgstr ""
 "し、 B<WEOF> を返す。"
 
 #. type: Plain text
 "し、 B<WEOF> を返す。"
 
 #. type: Plain text
-#: build/C/man3/fgetwc.3:50
+#: build/C/man3/fgetwc.3:52
 msgid ""
 "The B<getwc>()  function or macro functions identically to B<fgetwc>().  It "
 "may be implemented as a macro, and may evaluate its argument more than "
 msgid ""
 "The B<getwc>()  function or macro functions identically to B<fgetwc>().  It "
 "may be implemented as a macro, and may evaluate its argument more than "
@@ -1065,37 +1301,38 @@ msgstr ""
 "ない。この関数を使う理由はもはや存在しない。"
 
 #. type: Plain text
 "ない。この関数を使う理由はもはや存在しない。"
 
 #. type: Plain text
-#: build/C/man3/fgetwc.3:59
+#: build/C/man3/fgetwc.3:64
 msgid ""
 "The B<fgetwc>()  function returns the next wide-character from the stream, "
 msgid ""
 "The B<fgetwc>()  function returns the next wide-character from the stream, "
-"or B<WEOF>."
+"or B<WEOF>.  In the event of an error, I<errno> is set to indicate the cause."
 msgstr ""
 msgstr ""
-"B<fgetwc>()  関数はストリームの次のワイド文字か、あるいは B<WEOF> を返す。"
+"B<fgetwc>()  関数はストリームの次のワイド文字か、あるいは B<WEOF> を返す。 エ"
+"ラーが起こった場合、 I<errno> にエラーの原因を示す値が設定される。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/fgetwc.3:61 build/C/man3/fputwc.3:60
+#: build/C/man3/fgetwc.3:66 build/C/man3/fputwc.3:65
 msgid "Apart from the usual ones, there is"
 msgstr "通常のエラーに加えて、以下のエラーがある:"
 
 #. type: TP
 msgid "Apart from the usual ones, there is"
 msgstr "通常のエラーに加えて、以下のエラーがある:"
 
 #. type: TP
-#: build/C/man3/fgetwc.3:61 build/C/man3/fputwc.3:60 build/C/man3/scanf.3:556
+#: build/C/man3/fgetwc.3:66 build/C/man3/fputwc.3:65 build/C/man3/scanf.3:558
 #, no-wrap
 msgid "B<EILSEQ>"
 msgstr "B<EILSEQ>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<EILSEQ>"
 msgstr "B<EILSEQ>"
 
 #. type: Plain text
-#: build/C/man3/fgetwc.3:65
+#: build/C/man3/fgetwc.3:70
 msgid ""
 "The data obtained from the input stream does not form a valid character."
 msgstr "入力ストリームから取得したデータが、正しい文字でない。"
 
 #. type: Plain text
 msgid ""
 "The data obtained from the input stream does not form a valid character."
 msgstr "入力ストリームから取得したデータが、正しい文字でない。"
 
 #. type: Plain text
-#: build/C/man3/fgetwc.3:67 build/C/man3/fputwc.3:65
+#: build/C/man3/fgetwc.3:72 build/C/man3/fputwc.3:70
 msgid "C99, POSIX.1-2001."
 msgstr "C99, POSIX.1-2001."
 
 #. type: Plain text
 msgid "C99, POSIX.1-2001."
 msgstr "C99, POSIX.1-2001."
 
 #. type: Plain text
-#: build/C/man3/fgetwc.3:74
+#: build/C/man3/fgetwc.3:79
 msgid ""
 "The behavior of B<fgetwc>()  depends on the B<LC_CTYPE> category of the "
 "current locale."
 msgid ""
 "The behavior of B<fgetwc>()  depends on the B<LC_CTYPE> category of the "
 "current locale."
@@ -1103,7 +1340,7 @@ msgstr ""
 "B<fgetwc>()  の動作は、現在のロケールの B<LC_CTYPE> カテゴリに依存する。"
 
 #. type: Plain text
 "B<fgetwc>()  の動作は、現在のロケールの B<LC_CTYPE> カテゴリに依存する。"
 
 #. type: Plain text
-#: build/C/man3/fgetwc.3:82
+#: build/C/man3/fgetwc.3:87
 msgid ""
 "In the absence of additional information passed to the B<fopen>(3)  call, it "
 "is reasonable to expect that B<fgetwc>()  will actually read a multibyte "
 msgid ""
 "In the absence of additional information passed to the B<fopen>(3)  call, it "
 "is reasonable to expect that B<fgetwc>()  will actually read a multibyte "
@@ -1114,46 +1351,52 @@ msgstr ""
 "換すると期待することは適切である。"
 
 #. type: Plain text
 "換すると期待することは適切である。"
 
 #. type: Plain text
-#: build/C/man3/fgetwc.3:87
+#: build/C/man3/fgetwc.3:92
 msgid "B<fgetws>(3), B<fputwc>(3), B<ungetwc>(3), B<unlocked_stdio>(3)"
 msgstr "B<fgetws>(3), B<fputwc>(3), B<ungetwc>(3), B<unlocked_stdio>(3)"
 
 #. type: TH
 msgid "B<fgetws>(3), B<fputwc>(3), B<ungetwc>(3), B<unlocked_stdio>(3)"
 msgstr "B<fgetws>(3), B<fputwc>(3), B<ungetwc>(3), B<unlocked_stdio>(3)"
 
 #. type: TH
-#: build/C/man3/flockfile.3:23
+#: build/C/man3/flockfile.3:25
 #, no-wrap
 msgid "FLOCKFILE"
 msgstr "FLOCKFILE"
 
 #, no-wrap
 msgid "FLOCKFILE"
 msgstr "FLOCKFILE"
 
+#. type: TH
+#: build/C/man3/flockfile.3:25
+#, no-wrap
+msgid "2013-07-23"
+msgstr "2013-07-23"
+
 #. type: Plain text
 #. type: Plain text
-#: build/C/man3/flockfile.3:26
+#: build/C/man3/flockfile.3:28
 msgid "flockfile, ftrylockfile, funlockfile - lock FILE for stdio"
 msgstr "flockfile, ftrylockfile, funlockfile - 標準入出力 FILE のロックを行う"
 
 #. type: Plain text
 msgid "flockfile, ftrylockfile, funlockfile - lock FILE for stdio"
 msgstr "flockfile, ftrylockfile, funlockfile - 標準入出力 FILE のロックを行う"
 
 #. type: Plain text
-#: build/C/man3/flockfile.3:31
+#: build/C/man3/flockfile.3:33
 #, no-wrap
 msgid "B<void flockfile(FILE *>I<filehandle>B<);>\n"
 msgstr "B<void flockfile(FILE *>I<filehandle>B<);>\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<void flockfile(FILE *>I<filehandle>B<);>\n"
 msgstr "B<void flockfile(FILE *>I<filehandle>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/flockfile.3:33
+#: build/C/man3/flockfile.3:35
 #, no-wrap
 msgid "B<int ftrylockfile(FILE *>I<filehandle>B<);>\n"
 msgstr "B<int ftrylockfile(FILE *>I<filehandle>B<);>\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<int ftrylockfile(FILE *>I<filehandle>B<);>\n"
 msgstr "B<int ftrylockfile(FILE *>I<filehandle>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/flockfile.3:35
+#: build/C/man3/flockfile.3:37
 #, no-wrap
 msgid "B<void funlockfile(FILE *>I<filehandle>B<);>\n"
 msgstr "B<void funlockfile(FILE *>I<filehandle>B<);>\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<void funlockfile(FILE *>I<filehandle>B<);>\n"
 msgstr "B<void funlockfile(FILE *>I<filehandle>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/flockfile.3:44 build/C/man3/wprintf.3:41
+#: build/C/man3/flockfile.3:46 build/C/man3/wprintf.3:43
 msgid "All functions shown above:"
 msgstr "上記の全ての関数:"
 
 #. type: Plain text
 msgid "All functions shown above:"
 msgstr "上記の全ての関数:"
 
 #. type: Plain text
-#: build/C/man3/flockfile.3:47
+#: build/C/man3/flockfile.3:49
 msgid ""
 "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE "
 "|| _POSIX_SOURCE"
 msgid ""
 "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE "
 "|| _POSIX_SOURCE"
@@ -1162,7 +1405,7 @@ msgstr ""
 "|| _POSIX_SOURCE"
 
 #. type: Plain text
 "|| _POSIX_SOURCE"
 
 #. type: Plain text
-#: build/C/man3/flockfile.3:61
+#: build/C/man3/flockfile.3:63
 msgid ""
 "The stdio functions are thread-safe.  This is achieved by assigning to each "
 "I<FILE> object a lockcount and (if the lockcount is nonzero)  an owning "
 msgid ""
 "The stdio functions are thread-safe.  This is achieved by assigning to each "
 "I<FILE> object a lockcount and (if the lockcount is nonzero)  an owning "
@@ -1178,7 +1421,7 @@ msgstr ""
 "オブジェクトのロックを解除する。"
 
 #. type: Plain text
 "オブジェクトのロックを解除する。"
 
 #. type: Plain text
-#: build/C/man3/flockfile.3:67
+#: build/C/man3/flockfile.3:69
 msgid ""
 "(Note: this locking has nothing to do with the file locking done by "
 "functions like B<flock>(2)  and B<lockf>(3).)"
 msgid ""
 "(Note: this locking has nothing to do with the file locking done by "
 "functions like B<flock>(2)  and B<lockf>(3).)"
@@ -1187,7 +1430,7 @@ msgstr ""
 "全く無関係である。)"
 
 #. type: Plain text
 "全く無関係である。)"
 
 #. type: Plain text
-#: build/C/man3/flockfile.3:75
+#: build/C/man3/flockfile.3:77
 msgid ""
 "All this is invisible to the C-programmer, but there may be two reasons to "
 "wish for more detailed control.  On the one hand, maybe a series of I/O "
 msgid ""
 "All this is invisible to the C-programmer, but there may be two reasons to "
 "wish for more detailed control.  On the one hand, maybe a series of I/O "
@@ -1202,7 +1445,7 @@ msgstr ""
 "避ける必要があるということであろう。"
 
 #. type: Plain text
 "避ける必要があるということであろう。"
 
 #. type: Plain text
-#: build/C/man3/flockfile.3:92
+#: build/C/man3/flockfile.3:94
 msgid ""
 "To this end, a thread can explicitly lock the I<FILE> object, then do its "
 "series of I/O actions, then unlock.  This prevents other threads from coming "
 msgid ""
 "To this end, a thread can explicitly lock the I<FILE> object, then do its "
 "series of I/O actions, then unlock.  This prevents other threads from coming "
@@ -1219,7 +1462,7 @@ msgstr ""
 "B<putc_unlocked>(3)  を使用する。"
 
 #. type: Plain text
 "B<putc_unlocked>(3)  を使用する。"
 
 #. type: Plain text
-#: build/C/man3/flockfile.3:99
+#: build/C/man3/flockfile.3:105
 msgid ""
 "The B<flockfile>()  function waits for I<*filehandle> to be no longer locked "
 "by a different thread, then makes the current thread owner of "
 msgid ""
 "The B<flockfile>()  function waits for I<*filehandle> to be no longer locked "
 "by a different thread, then makes the current thread owner of "
@@ -1230,12 +1473,12 @@ msgstr ""
 "ロック数を加算する。"
 
 #. type: Plain text
 "ロック数を加算する。"
 
 #. type: Plain text
-#: build/C/man3/flockfile.3:103
+#: build/C/man3/flockfile.3:109
 msgid "The B<funlockfile>()  function decrements the lock count."
 msgstr "B<funlockfile>()  関数は、ロック数を減算する。"
 
 #. type: Plain text
 msgid "The B<funlockfile>()  function decrements the lock count."
 msgstr "B<funlockfile>()  関数は、ロック数を減算する。"
 
 #. type: Plain text
-#: build/C/man3/flockfile.3:112
+#: build/C/man3/flockfile.3:120
 msgid ""
 "The B<ftrylockfile>()  function is a nonblocking version of B<flockfile>().  "
 "It does nothing in case some other thread owns I<*filehandle>, and it "
 msgid ""
 "The B<ftrylockfile>()  function is a nonblocking version of B<flockfile>().  "
 "It does nothing in case some other thread owns I<*filehandle>, and it "
@@ -1246,7 +1489,7 @@ msgstr ""
 "ない場合は I<*filehandle> の所有権を獲得し、 ロック数を加算する。"
 
 #. type: Plain text
 "ない場合は I<*filehandle> の所有権を獲得し、 ロック数を加算する。"
 
 #. type: Plain text
-#: build/C/man3/flockfile.3:117
+#: build/C/man3/flockfile.3:125
 msgid ""
 "The B<ftrylockfile>()  function returns zero for success (the lock was "
 "obtained), and nonzero for failure."
 msgid ""
 "The B<ftrylockfile>()  function returns zero for success (the lock was "
 "obtained), and nonzero for failure."
@@ -1255,23 +1498,32 @@ msgstr ""
 "の値を返す。"
 
 #. type: Plain text
 "の値を返す。"
 
 #. type: Plain text
-#: build/C/man3/flockfile.3:119
+#: build/C/man3/flockfile.3:127
 msgid "None."
 msgstr "なし。"
 
 #. type: Plain text
 msgid "None."
 msgstr "なし。"
 
 #. type: Plain text
-#: build/C/man3/flockfile.3:121 build/C/man3/popen.3:169
+#: build/C/man3/flockfile.3:135
+msgid ""
+"The B<flockfile>(), B<ftrylockfile>(), and B<funlockfile>()  functions are "
+"thread-safe."
+msgstr ""
+"関数 B<flockfile>(), B<ftrylockfile>(), B<funlockfile>() はスレッドセーフであ"
+"る。"
+
+#. type: Plain text
+#: build/C/man3/flockfile.3:137 build/C/man3/popen.3:174
 msgid "POSIX.1-2001."
 msgstr "POSIX.1-2001."
 
 #. type: SH
 msgid "POSIX.1-2001."
 msgstr "POSIX.1-2001."
 
 #. type: SH
-#: build/C/man3/flockfile.3:121
+#: build/C/man3/flockfile.3:137
 #, no-wrap
 msgid "AVAILABILITY"
 msgstr "可用性"
 
 #. type: Plain text
 #, no-wrap
 msgid "AVAILABILITY"
 msgstr "可用性"
 
 #. type: Plain text
-#: build/C/man3/flockfile.3:127
+#: build/C/man3/flockfile.3:143
 msgid ""
 "These functions are available when B<_POSIX_THREAD_SAFE_FUNCTIONS> is "
 "defined.  They are in libc since libc 5.1.1 and in glibc since glibc 2.0."
 msgid ""
 "These functions are available when B<_POSIX_THREAD_SAFE_FUNCTIONS> is "
 "defined.  They are in libc since libc 5.1.1 and in glibc since glibc 2.0."
@@ -1280,48 +1532,55 @@ msgstr ""
 "ことができる。 5.1.1 以降の libc と 2.0 以降の glibc に存在する。"
 
 #. type: Plain text
 "ことができる。 5.1.1 以降の libc と 2.0 以降の glibc に存在する。"
 
 #. type: Plain text
-#: build/C/man3/flockfile.3:129
+#: build/C/man3/flockfile.3:145
 msgid "B<unlocked_stdio>(3)"
 msgstr "B<unlocked_stdio>(3)"
 
 #. type: TH
 msgid "B<unlocked_stdio>(3)"
 msgstr "B<unlocked_stdio>(3)"
 
 #. type: TH
-#: build/C/man3/fmemopen.3:6
+#: build/C/man3/fmemopen.3:10
 #, no-wrap
 msgid "FMEMOPEN"
 msgstr "FMEMOPEN"
 
 #, no-wrap
 msgid "FMEMOPEN"
 msgstr "FMEMOPEN"
 
+#. type: TH
+#: build/C/man3/fmemopen.3:10 build/C/man3/getline.3:26
+#: build/C/man7/symlink.7:37
+#, no-wrap
+msgid "2014-04-06"
+msgstr "2014-04-06"
+
 #. type: Plain text
 #. type: Plain text
-#: build/C/man3/fmemopen.3:9
+#: build/C/man3/fmemopen.3:13
 msgid "fmemopen, open_memstream, open_wmemstream - open memory as stream"
 msgstr ""
 "fmemopen, open_memstream, open_wmemstream - メモリをストリームとしてオープン"
 "する"
 
 #. type: Plain text
 msgid "fmemopen, open_memstream, open_wmemstream - open memory as stream"
 msgstr ""
 "fmemopen, open_memstream, open_wmemstream - メモリをストリームとしてオープン"
 "する"
 
 #. type: Plain text
-#: build/C/man3/fmemopen.3:14
+#: build/C/man3/fmemopen.3:18
 #, no-wrap
 msgid "B<FILE *fmemopen(void *>I<buf>B<, size_t >I<size>B<, const char *>I<mode>B<);>\n"
 msgstr "B<FILE *fmemopen(void *>I<buf>B<, size_t >I<size>B<, const char *>I<mode>B<);>\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<FILE *fmemopen(void *>I<buf>B<, size_t >I<size>B<, const char *>I<mode>B<);>\n"
 msgstr "B<FILE *fmemopen(void *>I<buf>B<, size_t >I<size>B<, const char *>I<mode>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/fmemopen.3:16
+#: build/C/man3/fmemopen.3:20
 #, no-wrap
 msgid "B<FILE *open_memstream(char **>I<ptr>B<, size_t *>I<sizeloc>B<);>\n"
 msgstr "B<FILE *open_memstream(char **>I<ptr>B<, size_t *>I<sizeloc>B<);>\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<FILE *open_memstream(char **>I<ptr>B<, size_t *>I<sizeloc>B<);>\n"
 msgstr "B<FILE *open_memstream(char **>I<ptr>B<, size_t *>I<sizeloc>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/fmemopen.3:20
+#: build/C/man3/fmemopen.3:24
 #, no-wrap
 msgid "B<FILE *open_wmemstream(wchar_t **>I<ptr>B<, size_t *>I<sizeloc>B<);>\n"
 msgstr "B<FILE *open_wmemstream(wchar_t **>I<ptr>B<, size_t *>I<sizeloc>B<);>\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<FILE *open_wmemstream(wchar_t **>I<ptr>B<, size_t *>I<sizeloc>B<);>\n"
 msgstr "B<FILE *open_wmemstream(wchar_t **>I<ptr>B<, size_t *>I<sizeloc>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/fmemopen.3:30
+#: build/C/man3/fmemopen.3:34
 msgid "B<fmemopen>(), B<open_memstream>(), B<open_wmemstream>():"
 msgstr "B<fmemopen>(), B<open_memstream>(), B<open_wmemstream>():"
 
 #. type: Plain text
 msgid "B<fmemopen>(), B<open_memstream>(), B<open_wmemstream>():"
 msgstr "B<fmemopen>(), B<open_memstream>(), B<open_wmemstream>():"
 
 #. type: Plain text
-#: build/C/man3/fmemopen.3:53
+#: build/C/man3/fmemopen.3:57
 msgid ""
 "The B<fmemopen>()  function opens a stream that permits the access specified "
 "by I<mode>.  The stream allows I/O to be performed on the string or memory "
 msgid ""
 "The B<fmemopen>()  function opens a stream that permits the access specified "
 "by I<mode>.  The stream allows I/O to be performed on the string or memory "
@@ -1334,28 +1593,30 @@ msgstr ""
 "I<size> バイトの長さでなければならない。"
 
 #. type: Plain text
 "I<size> バイトの長さでなければならない。"
 
 #. type: Plain text
-#: build/C/man3/fmemopen.3:73
+#: build/C/man3/fmemopen.3:77
 msgid ""
 "The argument I<mode> is the same as for B<fopen>(3).  If I<mode> specifies "
 "an append mode, then the initial file position is set to the location of the "
 "first null byte (\\(aq\\e0\\(aq) in the buffer; otherwise the initial file "
 msgid ""
 "The argument I<mode> is the same as for B<fopen>(3).  If I<mode> specifies "
 "an append mode, then the initial file position is set to the location of the "
 "first null byte (\\(aq\\e0\\(aq) in the buffer; otherwise the initial file "
-"position is set to the start of the buffer.  Since glibc 2.9, the letter 'b' "
-"may be specified as the second character in I<mode>.  This provides \"binary"
-"\" mode: writes don't implicitly add a terminating null byte, and B<fseek>"
-"(3)  B<SEEK_END> is relative to the end of the buffer (i.e., the value "
-"specified by the I<size> argument), rather than the current string length."
-msgstr ""
-"引き数 I<mode> は B<fopen>(3)  の場合と同じである。 I<mode> で追記モード "
-"(append mode) が指定された場合、ファイル位置の初期値は バッファ中の最初の "
-"NULL バイト (\\(aq\\e0\\(aq) の位置に設定される。 それ以外の場合は、ファイル"
-"位置の初期値はバッファの先頭になる。 glibc 2.9 以降では、文字 'b' を I<mode> "
-"の二番目の文字として指定することができる。 この文字は「バイナリ」モードを指定"
-"するものである。 このモードでは、書き込み時に文字列終端のヌルバイトが黙って追"
-"加 されることはない。また、 B<fseek>(3)  B<SEEK_END> は、文字列の長さからの相"
-"対値ではなく、バッファの末尾 (I<size> で指定した値) からの相対値となる。"
-
-#. type: Plain text
-#: build/C/man3/fmemopen.3:85
+"position is set to the start of the buffer.  Since glibc 2.9, the letter "
+"\\(aqb\\(aq may be specified as the second character in I<mode>.  This "
+"provides \"binary\" mode: writes don't implicitly add a terminating null "
+"byte, and B<fseek>(3)  B<SEEK_END> is relative to the end of the buffer (i."
+"e., the value specified by the I<size> argument), rather than the current "
+"string length."
+msgstr ""
+"引き数 I<mode> は B<fopen>(3) の場合と同じである。 I<mode> で追記モード\n"
+"(append mode) が指定された場合、ファイル位置の初期値は バッファ中の\n"
+"最初のヌルバイト (\\(aq\\e0\\(aq) の位置に設定される。\n"
+"それ以外の場合は、ファイル位置の初期値はバッファの先頭になる。 \n"
+"glibc 2.9 以降では、文字 \\(aqb\\(aq を I<mode> の二番目の文字として指定\n"
+"することができる。 この文字は「バイナリ」モードを指定するものである。\n"
+"このモードでは、書き込み時に文字列終端のヌルバイトが黙って追加 される\n"
+"ことはない。また、 B<fseek>(3) B<SEEK_END> は、文字列の長さからの相対値\n"
+"ではなく、バッファの末尾 (I<size> で指定した値) からの相対値となる。"
+
+#. type: Plain text
+#: build/C/man3/fmemopen.3:89
 msgid ""
 "When a stream that has been opened for writing is flushed (B<fflush>(3))  or "
 "closed (B<fclose>(3)), a null byte is written at the end of the buffer if "
 msgid ""
 "When a stream that has been opened for writing is flushed (B<fflush>(3))  or "
 "closed (B<fclose>(3)), a null byte is written at the end of the buffer if "
@@ -1363,7 +1624,7 @@ msgid ""
 "the buffer (and that I<size> counts that byte)  to allow for this."
 msgstr ""
 "書き込み用にオープンされたストリームをフラッシュ (B<fflush>(3))  やクローズ "
 "the buffer (and that I<size> counts that byte)  to allow for this."
 msgstr ""
 "書き込み用にオープンされたストリームをフラッシュ (B<fflush>(3))  やクローズ "
-"(B<fclose>(3))  した時に、 (バッファに空きがあれば) NULL バイトがバッファの末"
+"(B<fclose>(3))  した時に、 (バッファに空きがあれば) ヌルバイトがバッファの末"
 "尾に書き込まれる。 このようにするためには、呼び出し元は バッファに 1バイト余"
 "裕を作る (I<size> にこの 1バイトを含めた値を指定する) 必要がある。"
 
 "尾に書き込まれる。 このようにするためには、呼び出し元は バッファに 1バイト余"
 "裕を作る (I<size> にこの 1バイトを含めた値を指定する) 必要がある。"
 
@@ -1371,10 +1632,10 @@ msgstr ""
 #.  and
 #.  http://sources.redhat.com/ml/libc-alpha/2006-04/msg00064.html
 #. type: Plain text
 #.  and
 #.  http://sources.redhat.com/ml/libc-alpha/2006-04/msg00064.html
 #. type: Plain text
-#: build/C/man3/fmemopen.3:103
+#: build/C/man3/fmemopen.3:107
 msgid ""
 "Attempts to write more than I<size> bytes to the buffer result in an error.  "
 msgid ""
 "Attempts to write more than I<size> bytes to the buffer result in an error.  "
-"(By default, such errors will only be visible when the I<stdio> buffer is "
+"(By default, such errors will be visible only when the I<stdio> buffer is "
 "flushed.  Disabling buffering with I<setbuf(fp,\\ NULL)> may be useful to "
 "detect errors at the time of an output operation.  Alternatively, the caller "
 "can explicitly set I<buf> as the stdio stream buffer, at the same time "
 "flushed.  Disabling buffering with I<setbuf(fp,\\ NULL)> may be useful to "
 "detect errors at the time of an output operation.  Alternatively, the caller "
 "can explicitly set I<buf> as the stdio stream buffer, at the same time "
@@ -1389,20 +1650,20 @@ msgstr ""
 "stdio に教える方法がある。)"
 
 #. type: Plain text
 "stdio に教える方法がある。)"
 
 #. type: Plain text
-#: build/C/man3/fmemopen.3:111
+#: build/C/man3/fmemopen.3:115
 msgid ""
 "In a stream opened for reading, null bytes (\\(aq\\e0\\(aq) in the buffer do "
 "not cause read operations to return an end-of-file indication.  A read from "
 "the buffer will only indicate end-of-file when the file pointer advances "
 "I<size> bytes past the start of the buffer."
 msgstr ""
 msgid ""
 "In a stream opened for reading, null bytes (\\(aq\\e0\\(aq) in the buffer do "
 "not cause read operations to return an end-of-file indication.  A read from "
 "the buffer will only indicate end-of-file when the file pointer advances "
 "I<size> bytes past the start of the buffer."
 msgstr ""
-"読み出し用にオープンされたストリームでは、 バッファ内に NULL バイト (\\(aq"
+"読み出し用にオープンされたストリームでは、 バッファ内にヌルバイト (\\(aq"
 "\\e0\\(aq) があっても 読み出し操作がファイル末尾 (end-of-file) を返すことはな"
 "い。 バッファからの読み出しでファイル末尾が返るのは、 ファイルポインタがバッ"
 "ファの先頭から I<size> バイトを越えて先に進もうとした場合だけである。"
 
 #. type: Plain text
 "\\e0\\(aq) があっても 読み出し操作がファイル末尾 (end-of-file) を返すことはな"
 "い。 バッファからの読み出しでファイル末尾が返るのは、 ファイルポインタがバッ"
 "ファの先頭から I<size> バイトを越えて先に進もうとした場合だけである。"
 
 #. type: Plain text
-#: build/C/man3/fmemopen.3:126
+#: build/C/man3/fmemopen.3:130
 msgid ""
 "If I<buf> is specified as NULL, then B<fmemopen>()  dynamically allocates a "
 "buffer I<size> bytes long.  This is useful for an application that wants to "
 msgid ""
 "If I<buf> is specified as NULL, then B<fmemopen>()  dynamically allocates a "
 "buffer I<size> bytes long.  This is useful for an application that wants to "
@@ -1419,7 +1680,7 @@ msgstr ""
 "の B<open_memstream>()  も参照)。"
 
 #. type: Plain text
 "の B<open_memstream>()  も参照)。"
 
 #. type: Plain text
-#: build/C/man3/fmemopen.3:137
+#: build/C/man3/fmemopen.3:141
 msgid ""
 "The B<open_memstream>()  function opens a stream for writing to a buffer.  "
 "The buffer is dynamically allocated (as with B<malloc>(3)), and "
 msgid ""
 "The B<open_memstream>()  function opens a stream for writing to a buffer.  "
 "The buffer is dynamically allocated (as with B<malloc>(3)), and "
@@ -1432,7 +1693,7 @@ msgstr ""
 "B<free>(3)  すべきである。"
 
 #. type: Plain text
 "B<free>(3)  すべきである。"
 
 #. type: Plain text
-#: build/C/man3/fmemopen.3:152
+#: build/C/man3/fmemopen.3:156
 msgid ""
 "When the stream is closed (B<fclose>(3))  or flushed (B<fflush>(3)), the "
 "locations pointed to by I<ptr> and I<sizeloc> are updated to contain, "
 msgid ""
 "When the stream is closed (B<fclose>(3))  or flushed (B<fflush>(3)), the "
 "locations pointed to by I<ptr> and I<sizeloc> are updated to contain, "
@@ -1448,27 +1709,27 @@ msgstr ""
 "の変数を参照する前に ストリームを再度フラッシュしなければならない。"
 
 #. type: Plain text
 "の変数を参照する前に ストリームを再度フラッシュしなければならない。"
 
 #. type: Plain text
-#: build/C/man3/fmemopen.3:158
+#: build/C/man3/fmemopen.3:162
 msgid ""
 "A null byte is maintained at the end of the buffer.  This byte is I<not> "
 "included in the size value stored at I<sizeloc>."
 msgstr ""
 msgid ""
 "A null byte is maintained at the end of the buffer.  This byte is I<not> "
 "included in the size value stored at I<sizeloc>."
 msgstr ""
-"バッファ末尾の NULL バイトは保持される。 この NULL バイトは I<sizeloc> に格納"
-"ã\81\95ã\82\8cã\82\8bã\82µã\82¤ã\82ºã\81«ã\81¯ã\80\8cå\90«ã\81¾ã\82\8cã\81ªã\81\84ã\80\8dã\80\82"
+"バッファ末尾のヌルバイトは保持される。 このヌルバイトは I<sizeloc> に格納され"
+"るサイズには「含まれない」。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/fmemopen.3:166
+#: build/C/man3/fmemopen.3:170
 msgid ""
 msgid ""
-"The stream's file position can be changed with B<fseek>(3)  or B<fseeko>"
-"(3).  Moving the file position past the end of the data already written "
-"fills the intervening space with zeros."
+"The stream's file position can be changed with B<fseek>(3)  or "
+"B<fseeko>(3).  Moving the file position past the end of the data already "
+"written fills the intervening space with zeros."
 msgstr ""
 "ストリームのファイル位置は B<fseek>(3)  や B<fseeko>(3)  で変更できる。 すで"
 "にデータが書き込まれた領域の末尾より先にファイル位置を動かすと、 その間の領域"
 "は 0 で埋められる。"
 
 #. type: Plain text
 msgstr ""
 "ストリームのファイル位置は B<fseek>(3)  や B<fseeko>(3)  で変更できる。 すで"
 "にデータが書き込まれた領域の末尾より先にファイル位置を動かすと、 その間の領域"
 "は 0 で埋められる。"
 
 #. type: Plain text
-#: build/C/man3/fmemopen.3:172
+#: build/C/man3/fmemopen.3:176
 msgid ""
 "The B<open_wmemstream>()  is similar to B<open_memstream>(), but operates on "
 "wide characters instead of bytes."
 msgid ""
 "The B<open_wmemstream>()  is similar to B<open_memstream>(), but operates on "
 "wide characters instead of bytes."
@@ -1477,7 +1738,7 @@ msgstr ""
 "ド文字に対して操作を行う点が異なる。"
 
 #. type: Plain text
 "ド文字に対して操作を行う点が異なる。"
 
 #. type: Plain text
-#: build/C/man3/fmemopen.3:184
+#: build/C/man3/fmemopen.3:188
 msgid ""
 "Upon successful completion B<fmemopen>(), B<open_memstream>()  and "
 "B<open_wmemstream>()  return a I<FILE> pointer.  Otherwise, NULL is returned "
 msgid ""
 "Upon successful completion B<fmemopen>(), B<open_memstream>()  and "
 "B<open_wmemstream>()  return a I<FILE> pointer.  Otherwise, NULL is returned "
@@ -1488,15 +1749,18 @@ msgstr ""
 "し、 I<errno> にエラーを示す値をセットする。"
 
 #. type: SH
 "し、 I<errno> にエラーを示す値をセットする。"
 
 #. type: SH
-#: build/C/man3/fmemopen.3:184 build/C/man3/fmtmsg.3:218
-#: build/C/man3/getline.3:130 build/C/man2/pipe.2:113 build/C/man2/readv.2:207
-#: build/C/man2/process_vm_readv.2:274
+#: build/C/man3/fmemopen.3:188 build/C/man3/fmtmsg.3:222
+#: build/C/man3/getline.3:137 build/C/man2/link.2:334 build/C/man2/open.2:1015
+#: build/C/man2/open_by_handle_at.2:349 build/C/man2/pipe.2:150
+#: build/C/man2/readlink.2:212 build/C/man2/readv.2:209
+#: build/C/man2/rename.2:397 build/C/man2/symlink.2:224
+#: build/C/man2/unlink.2:269
 #, no-wrap
 msgid "VERSIONS"
 msgstr "バージョン"
 
 #. type: Plain text
 #, no-wrap
 msgid "VERSIONS"
 msgstr "バージョン"
 
 #. type: Plain text
-#: build/C/man3/fmemopen.3:191
+#: build/C/man3/fmemopen.3:195
 msgid ""
 "B<fmemopen>()  and B<open_memstream>()  were already available in glibc 1.0."
 "x.  B<open_wmemstream>()  is available since glibc 2.4."
 msgid ""
 "B<fmemopen>()  and B<open_memstream>()  were already available in glibc 1.0."
 "x.  B<open_wmemstream>()  is available since glibc 2.4."
@@ -1505,7 +1769,7 @@ msgstr ""
 "た。 B<open_wmemstream>()  は glibc 2.4 以降で利用可能である。"
 
 #. type: Plain text
 "た。 B<open_wmemstream>()  は glibc 2.4 以降で利用可能である。"
 
 #. type: Plain text
-#: build/C/man3/fmemopen.3:195
+#: build/C/man3/fmemopen.3:199
 msgid ""
 "POSIX.1-2008.  These functions are not specified in POSIX.1-2001, and are "
 "not widely available on other systems."
 msgid ""
 "POSIX.1-2008.  These functions are not specified in POSIX.1-2001, and are "
 "not widely available on other systems."
@@ -1513,8 +1777,22 @@ msgstr ""
 "POSIX.1-2008.  これらの関数は POSIX.1-2001 では規定れていないが、 Linux 以外"
 "のシステムで広く利用可能である。"
 
 "POSIX.1-2008.  これらの関数は POSIX.1-2001 では規定れていないが、 Linux 以外"
 "のシステムで広く利用可能である。"
 
+#.  http://austingroupbugs.net/view.php?id=396
+#. type: Plain text
+#: build/C/man3/fmemopen.3:207
+msgid ""
+"POSIX.1-2008 specifies that \\(aqb\\(aq in I<mode> shall be ignored.  "
+"However, Technical Corrigendum 1 adjusts the standard to allow "
+"implementation-specific treatment for this case, thus permitting the glibc "
+"treatment of \\(aqb\\(aq."
+msgstr ""
+"POSIX.1-2008 では I<mode> の \\(aqb\\(aq は無視されるべきだと規定されて\n"
+"いる。一方、Technical Corrigendum (正誤表) 1 では、I<mode> の\n"
+"\\(aqb\\(aq が指定された場合の扱いは実装依存であることを許容するように\n"
+"標準規格が修正されており、glibc の \\(aqb\\(aq の扱いは許されている。"
+
 #. type: Plain text
 #. type: Plain text
-#: build/C/man3/fmemopen.3:201
+#: build/C/man3/fmemopen.3:213
 msgid ""
 "There is no file descriptor associated with the file stream returned by "
 "these functions (i.e., B<fileno>(3)  will return an error if called on the "
 msgid ""
 "There is no file descriptor associated with the file stream returned by "
 "these functions (i.e., B<fileno>(3)  will return an error if called on the "
@@ -1526,7 +1804,7 @@ msgstr ""
 
 #.  http://sourceware.org/bugzilla/show_bug.cgi?id=1996
 #. type: Plain text
 
 #.  http://sourceware.org/bugzilla/show_bug.cgi?id=1996
 #. type: Plain text
-#: build/C/man3/fmemopen.3:208
+#: build/C/man3/fmemopen.3:220
 msgid ""
 "In glibc before version 2.7, seeking past the end of a stream created by "
 "B<open_memstream>()  does not enlarge the buffer; instead the B<fseek>(3)  "
 msgid ""
 "In glibc before version 2.7, seeking past the end of a stream created by "
 "B<open_memstream>()  does not enlarge the buffer; instead the B<fseek>(3)  "
@@ -1536,18 +1814,87 @@ msgstr ""
 "リームの末尾より先にファイル位置を動かしても、 バッファが伸長されず、 "
 "B<fseek>(3)  が失敗し -1 が返る。"
 
 "リームの末尾より先にファイル位置を動かしても、 バッファが伸長されず、 "
 "B<fseek>(3)  が失敗し -1 が返る。"
 
+#.  FIXME http://sourceware.org/bugzilla/show_bug.cgi?id=11216
+#. type: Plain text
+#: build/C/man3/fmemopen.3:231
+msgid ""
+"If I<size> is specified as zero, B<fmemopen>()  fails with the error "
+"B<EINVAL>.  It would be more consistent if this case successfully created a "
+"stream that then returned end of file on the first attempt at reading.  "
+"Furthermore, POSIX.1-2008 does not specify a failure for this case."
+msgstr ""
+"I<size> に 0 が指定された場合、 B<fmemopen>() はエラー B<EINVAL> で失敗\n"
+"する。この場合にはストリームの作成に成功して、最初の読み出しを行った際に\n"
+"EOF (end of file) が返される方が、ストリームの扱いの一貫性が増すだろう。\n"
+"また、 POSIX.1-2008 ではこの場合のエラーは規定されていない。"
+
+#.  FIXME http://sourceware.org/bugzilla/show_bug.cgi?id=13152
+#. type: Plain text
+#: build/C/man3/fmemopen.3:239
+msgid ""
+"Specifying append mode (\"a\" or \"a+\") for B<fmemopen>()  sets the initial "
+"file position to the first null byte, but (if the file offset is reset to a "
+"location other than the end of the stream)  does not force subsequent writes "
+"to append at the end of the stream."
+msgstr ""
+"B<fmemopen>() に追記モード (\"a\" や \"a+\") を指定すると、\n"
+"ファイル位置の初期値は最初のヌルバイトに設定されるが、(ファイル\n"
+"オフセットをストリームの末尾以外の位置に再設定した場合)それ以降の\n"
+"書き込みではストリームの末尾への追記が行われる訳ではない。"
+
+#.  FIXME http://sourceware.org/bugzilla/show_bug.cgi?id=13151
+#. type: Plain text
+#: build/C/man3/fmemopen.3:255
+msgid ""
+"If the I<mode> argument to B<fmemopen>()  specifies append (\"a\" or \"a+"
+"\"), and the I<size> argument does not cover a null byte in I<buf>, then, "
+"according to POSIX.1-2008, the initial file position should be set to the "
+"next byte after the end of the buffer.  However, in this case the glibc "
+"B<fmemopen>()  sets the file position to -1."
+msgstr ""
+"B<fmemopen>() の I<mode> 引き数に追記モード (\"a\" や \"a+\") を指定し、\n"
+"I<size> 引き数で指定した範囲の I<buf> 内にヌルバイトがない場合、\n"
+"POSIX.1-2008 では、ファイル位置の初期値はバッファの末尾の直後の\n"
+"バイトに設定すべきとされている。しかし、glibc の B<fmemopen>() では\n"
+"この場合ファイル位置は -1 に設定される。"
+
+#.  FIXME http://sourceware.org/bugzilla/show_bug.cgi?id=12836
+#. type: Plain text
+#: build/C/man3/fmemopen.3:268
+msgid ""
+"To specify binary mode for B<fmemopen>()  the \\(aqb\\(aq must be the "
+"I<second> character in I<mode>.  Thus, for example, \"wb+\" has the desired "
+"effect, but \"w+b\" does not.  This is inconsistent with the treatment of "
+"I<mode> by B<fopen>(3)."
+msgstr ""
+"B<fmemopen>() でバイナリモードを指定するには、\n"
+"\\(aqb\\(aq は I<mode> の I<2 文字目> でなければならない。\n"
+"例えば、 \"wb+\" は意図通りの効果になるが、 \"w+b\" はそうではない。\n"
+"これは B<fopen>(3) の I<mode> の扱いとは異なる。"
+
+#.  http://sourceware.org/bugzilla/show_bug.cgi?id=6544
+#. type: Plain text
+#: build/C/man3/fmemopen.3:276
+msgid ""
+"The glibc 2.9 addition of \"binary\" mode for B<fmemopen>()  silently "
+"changed the ABI: previously, B<fmemopen>()  ignored \\(aqb\\(aq in I<mode>."
+msgstr ""
+"glibc 2.9 での B<fmemopen>() の「バイナリ」モードの追加は、\n"
+"ABI (Application Binary Interface) が黙って変更された。\n"
+"それ以前の B<fmemopen>() では I<mode> 内の \\(aqb\\(aq は無視されていた。"
+
 #. type: SH
 #. type: SH
-#: build/C/man3/fmemopen.3:208 build/C/man3/fmtmsg.3:240
-#: build/C/man3/fopencookie.3:244 build/C/man3/getline.3:139
-#: build/C/man2/pipe.2:124 build/C/man3/printf.3:974
-#: build/C/man2/readlink.2:155 build/C/man2/readv.2:263
-#: build/C/man2/process_vm_readv.2:293
+#: build/C/man3/fmemopen.3:276 build/C/man3/fmtmsg.3:256
+#: build/C/man3/fopencookie.3:247 build/C/man3/getline.3:146
+#: build/C/man2/open_by_handle_at.2:439 build/C/man2/pipe.2:161
+#: build/C/man3/printf.3:974 build/C/man2/readlink.2:256
+#: build/C/man2/readv.2:265 build/C/man3/scanf.3:704
 #, no-wrap
 msgid "EXAMPLE"
 msgstr "例"
 
 #. type: Plain text
 #, no-wrap
 msgid "EXAMPLE"
 msgstr "例"
 
 #. type: Plain text
-#: build/C/man3/fmemopen.3:218
+#: build/C/man3/fmemopen.3:286
 msgid ""
 "The program below uses B<fmemopen>()  to open an input buffer, and "
 "B<open_memstream>()  to open a dynamically sized output buffer.  The program "
 msgid ""
 "The program below uses B<fmemopen>()  to open an input buffer, and "
 "B<open_memstream>()  to open a dynamically sized output buffer.  The program "
@@ -1563,7 +1910,7 @@ msgstr ""
 "ムの実行例は以下のようになる。"
 
 #. type: Plain text
 "ムの実行例は以下のようになる。"
 
 #. type: Plain text
-#: build/C/man3/fmemopen.3:223
+#: build/C/man3/fmemopen.3:291
 #, no-wrap
 msgid ""
 "$B< ./a.out \\(aq1 23 43\\(aq>\n"
 #, no-wrap
 msgid ""
 "$B< ./a.out \\(aq1 23 43\\(aq>\n"
@@ -1573,13 +1920,14 @@ msgstr ""
 "size=11; ptr=1 529 1849\n"
 
 #. type: SS
 "size=11; ptr=1 529 1849\n"
 
 #. type: SS
-#: build/C/man3/fmemopen.3:225 build/C/man3/fopencookie.3:268
+#: build/C/man3/fmemopen.3:293 build/C/man3/fopencookie.3:271
+#: build/C/man2/pipe.2:177
 #, no-wrap
 msgid "Program source"
 msgstr "プログラムのソース"
 
 #. type: Plain text
 #, no-wrap
 msgid "Program source"
 msgstr "プログラムのソース"
 
 #. type: Plain text
-#: build/C/man3/fmemopen.3:232
+#: build/C/man3/fmemopen.3:300
 #, no-wrap
 msgid ""
 "#define _GNU_SOURCE\n"
 #, no-wrap
 msgid ""
 "#define _GNU_SOURCE\n"
@@ -1593,7 +1941,7 @@ msgstr ""
 "#include E<lt>stdlib.hE<gt>\n"
 
 #. type: Plain text
 "#include E<lt>stdlib.hE<gt>\n"
 
 #. type: Plain text
-#: build/C/man3/fmemopen.3:235
+#: build/C/man3/fmemopen.3:303
 #, no-wrap
 msgid ""
 "#define handle_error(msg) \\e\n"
 #, no-wrap
 msgid ""
 "#define handle_error(msg) \\e\n"
@@ -1603,7 +1951,7 @@ msgstr ""
 "    do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
 
 #. type: Plain text
 "    do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
 
 #. type: Plain text
-#: build/C/man3/fmemopen.3:243
+#: build/C/man3/fmemopen.3:311
 #, no-wrap
 msgid ""
 "int\n"
 #, no-wrap
 msgid ""
 "int\n"
@@ -1623,21 +1971,21 @@ msgstr ""
 "    char *ptr;\n"
 
 #. type: Plain text
 "    char *ptr;\n"
 
 #. type: Plain text
-#: build/C/man3/fmemopen.3:248
+#: build/C/man3/fmemopen.3:316
 #, no-wrap
 msgid ""
 "    if (argc != 2) {\n"
 #, no-wrap
 msgid ""
 "    if (argc != 2) {\n"
-"\tfprintf(stderr, \"Usage: %s E<lt>fileE<gt>\\en\", argv[0]);\n"
-"\texit(EXIT_FAILURE);\n"
+"        fprintf(stderr, \"Usage: %s E<lt>fileE<gt>\\en\", argv[0]);\n"
+"        exit(EXIT_FAILURE);\n"
 "    }\n"
 msgstr ""
 "    if (argc != 2) {\n"
 "    }\n"
 msgstr ""
 "    if (argc != 2) {\n"
-"\tfprintf(stderr, \"Usage: %s E<lt>fileE<gt>\\en\", argv[0]);\n"
-"\texit(EXIT_FAILURE);\n"
+"        fprintf(stderr, \"Usage: %s E<lt>fileE<gt>\\en\", argv[0]);\n"
+"        exit(EXIT_FAILURE);\n"
 "    }\n"
 
 #. type: Plain text
 "    }\n"
 
 #. type: Plain text
-#: build/C/man3/fmemopen.3:252
+#: build/C/man3/fmemopen.3:320
 #, no-wrap
 msgid ""
 "    in = fmemopen(argv[1], strlen(argv[1]), \"r\");\n"
 #, no-wrap
 msgid ""
 "    in = fmemopen(argv[1], strlen(argv[1]), \"r\");\n"
@@ -1649,7 +1997,7 @@ msgstr ""
 "        handle_error(\"fmemopen\");\n"
 
 #. type: Plain text
 "        handle_error(\"fmemopen\");\n"
 
 #. type: Plain text
-#: build/C/man3/fmemopen.3:256
+#: build/C/man3/fmemopen.3:324
 #, no-wrap
 msgid ""
 "    out = open_memstream(&ptr, &size);\n"
 #, no-wrap
 msgid ""
 "    out = open_memstream(&ptr, &size);\n"
@@ -1661,7 +2009,7 @@ msgstr ""
 "        handle_error(\"open_memstream\");\n"
 
 #. type: Plain text
 "        handle_error(\"open_memstream\");\n"
 
 #. type: Plain text
-#: build/C/man3/fmemopen.3:261
+#: build/C/man3/fmemopen.3:329
 #, no-wrap
 msgid ""
 "    for (;;) {\n"
 #, no-wrap
 msgid ""
 "    for (;;) {\n"
@@ -1675,7 +2023,7 @@ msgstr ""
 "            break;\n"
 
 #. type: Plain text
 "            break;\n"
 
 #. type: Plain text
-#: build/C/man3/fmemopen.3:272
+#: build/C/man3/fmemopen.3:340
 #, no-wrap
 msgid ""
 "        s = fprintf(out, \"%d \", v * v);\n"
 #, no-wrap
 msgid ""
 "        s = fprintf(out, \"%d \", v * v);\n"
@@ -1684,7 +2032,7 @@ msgid ""
 "    }\n"
 "    fclose(in);\n"
 "    fclose(out);\n"
 "    }\n"
 "    fclose(in);\n"
 "    fclose(out);\n"
-"    printf(\"size=%ld; ptr=%s\\en\", (long) size, ptr);\n"
+"    printf(\"size=%zu; ptr=%s\\en\", size, ptr);\n"
 "    free(ptr);\n"
 "    exit(EXIT_SUCCESS);\n"
 "}\n"
 "    free(ptr);\n"
 "    exit(EXIT_SUCCESS);\n"
 "}\n"
@@ -1695,70 +2043,65 @@ msgstr ""
 "    }\n"
 "    fclose(in);\n"
 "    fclose(out);\n"
 "    }\n"
 "    fclose(in);\n"
 "    fclose(out);\n"
-"    printf(\"size=%ld; ptr=%s\\en\", (long) size, ptr);\n"
+"    printf(\"size=%zu; ptr=%s\\en\", size, ptr);\n"
 "    free(ptr);\n"
 "    exit(EXIT_SUCCESS);\n"
 "}\n"
 
 #. type: Plain text
 "    free(ptr);\n"
 "    exit(EXIT_SUCCESS);\n"
 "}\n"
 
 #. type: Plain text
-#: build/C/man3/fmemopen.3:276
+#: build/C/man3/fmemopen.3:344
 msgid "B<fopen>(3), B<fopencookie>(3)"
 msgstr "B<fopen>(3), B<fopencookie>(3)"
 
 #. type: TH
 msgid "B<fopen>(3), B<fopencookie>(3)"
 msgstr "B<fopen>(3), B<fopencookie>(3)"
 
 #. type: TH
-#: build/C/man3/fmtmsg.3:9
+#: build/C/man3/fmtmsg.3:13
 #, no-wrap
 msgid "FMTMSG"
 msgstr "FMTMSG"
 
 #, no-wrap
 msgid "FMTMSG"
 msgstr "FMTMSG"
 
-#. type: TH
-#: build/C/man3/fmtmsg.3:9
-#, no-wrap
-msgid "2008-06-14"
-msgstr "2008-06-14"
-
 #. type: Plain text
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:12
+#: build/C/man3/fmtmsg.3:16
 msgid "fmtmsg - print formatted error messages"
 msgstr "fmtmsg - 整形されたエラーメッセージを表示する"
 
 #. type: Plain text
 msgid "fmtmsg - print formatted error messages"
 msgstr "fmtmsg - 整形されたエラーメッセージを表示する"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:15
+#: build/C/man3/fmtmsg.3:19
 #, no-wrap
 msgid "B<#include E<lt>fmtmsg.hE<gt>>\n"
 msgstr "B<#include E<lt>fmtmsg.hE<gt>>\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<#include E<lt>fmtmsg.hE<gt>>\n"
 msgstr "B<#include E<lt>fmtmsg.hE<gt>>\n"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:17
+#: build/C/man3/fmtmsg.3:21
 #, no-wrap
 msgid "B<int fmtmsg(long >I<classification>B<, const char *>I<label>B<,>\n"
 msgstr "B<int fmtmsg(long >I<classification>B<, const char *>I<label>B<,>\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<int fmtmsg(long >I<classification>B<, const char *>I<label>B<,>\n"
 msgstr "B<int fmtmsg(long >I<classification>B<, const char *>I<label>B<,>\n"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:19
+#: build/C/man3/fmtmsg.3:23
 #, no-wrap
 msgid "B<           int >I<severity>B<, const char *>I<text>B<,>\n"
 msgstr "B<           int >I<severity>B<, const char *>I<text>B<,>\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<           int >I<severity>B<, const char *>I<text>B<,>\n"
 msgstr "B<           int >I<severity>B<, const char *>I<text>B<,>\n"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:21
+#: build/C/man3/fmtmsg.3:25
 #, no-wrap
 msgid "B<           const char *>I<action>B<, const char *>I<tag>B<);>\n"
 msgstr "B<           const char *>I<action>B<, const char *>I<tag>B<);>\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<           const char *>I<action>B<, const char *>I<tag>B<);>\n"
 msgstr "B<           const char *>I<action>B<, const char *>I<tag>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:32
+#: build/C/man3/fmtmsg.3:36
 msgid ""
 msgid ""
-"This function displays a message described by its arguments on the device"
-"(s)  specified in the I<classification> argument.  For messages written to "
-"I<stderr>, the format depends on the B<MSGVERB> environment variable."
+"This function displays a message described by its arguments on the "
+"device(s)  specified in the I<classification> argument.  For messages "
+"written to I<stderr>, the format depends on the B<MSGVERB> environment "
+"variable."
 msgstr ""
 "この関数は、引き数で記述されたメッセージを、 I<classification> 引き数で指定さ"
 "れたデバイス上に表示する。 I<stderr> に書き出されるメッセージのフォーマット"
 "は、 B<MSGVERB> 環境変数に依存する。"
 
 #. type: Plain text
 msgstr ""
 "この関数は、引き数で記述されたメッセージを、 I<classification> 引き数で指定さ"
 "れたデバイス上に表示する。 I<stderr> に書き出されるメッセージのフォーマット"
 "は、 B<MSGVERB> 環境変数に依存する。"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:39
+#: build/C/man3/fmtmsg.3:43
 msgid ""
 "The I<label> argument identifies the source of the message.  The string must "
 "consist of two colon separated parts where the first part has not more than "
 msgid ""
 "The I<label> argument identifies the source of the message.  The string must "
 "consist of two colon separated parts where the first part has not more than "
@@ -1769,12 +2112,12 @@ msgstr ""
 "なければならず、 2 つ目の部分は 14 文字以内でなければならない。"
 
 #. type: Plain text
 "なければならず、 2 つ目の部分は 14 文字以内でなければならない。"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:43
+#: build/C/man3/fmtmsg.3:47
 msgid "The I<text> argument describes the condition of the error."
 msgstr "I<text> 引き数にはエラー条件を記述する。"
 
 #. type: Plain text
 msgid "The I<text> argument describes the condition of the error."
 msgstr "I<text> 引き数にはエラー条件を記述する。"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:48
+#: build/C/man3/fmtmsg.3:52
 msgid ""
 "The I<action> argument describes possible steps to recover from the error.  "
 "If it is printed, it is prefixed by \"TO FIX: \"."
 msgid ""
 "The I<action> argument describes possible steps to recover from the error.  "
 "If it is printed, it is prefixed by \"TO FIX: \"."
@@ -1783,7 +2126,7 @@ msgstr ""
 "れが表示される場合、\"TO FIX: \" が前に付く。"
 
 #. type: Plain text
 "れが表示される場合、\"TO FIX: \" が前に付く。"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:56
+#: build/C/man3/fmtmsg.3:60
 msgid ""
 "The I<tag> argument is a reference to the online documentation where more "
 "information can be found.  It should contain the I<label> value and a unique "
 msgid ""
 "The I<tag> argument is a reference to the online documentation where more "
 "information can be found.  It should contain the I<label> value and a unique "
@@ -1793,250 +2136,250 @@ msgstr ""
 "ある。 これは I<label> 値とユニークな識別番号を含んでいるべきである。"
 
 #. type: SS
 "ある。 これは I<label> 値とユニークな識別番号を含んでいるべきである。"
 
 #. type: SS
-#: build/C/man3/fmtmsg.3:56
+#: build/C/man3/fmtmsg.3:60
 #, no-wrap
 msgid "Dummy arguments"
 msgstr "ダミー引き数"
 
 #. type: Plain text
 #, no-wrap
 msgid "Dummy arguments"
 msgstr "ダミー引き数"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:75
+#: build/C/man3/fmtmsg.3:79
 msgid ""
 "Each of the arguments can have a dummy value.  The dummy classification "
 "value B<MM_NULLMC> (0L) does not specify any output, so nothing is printed.  "
 "The dummy severity value B<NO_SEV> (0) says that no severity is supplied.  "
 "The values B<MM_NULLLBL>, B<MM_NULLTXT>, B<MM_NULLACT>, B<MM_NULLTAG> are "
 msgid ""
 "Each of the arguments can have a dummy value.  The dummy classification "
 "value B<MM_NULLMC> (0L) does not specify any output, so nothing is printed.  "
 "The dummy severity value B<NO_SEV> (0) says that no severity is supplied.  "
 "The values B<MM_NULLLBL>, B<MM_NULLTXT>, B<MM_NULLACT>, B<MM_NULLTAG> are "
-"synonyms for I<((char *) 0)>, the empty string, and B<MM_NULLSEV> is a "
+"synonyms for I<((char\\ *)\\ 0)>, the empty string, and B<MM_NULLSEV> is a "
 "synonym for B<NO_SEV>."
 msgstr ""
 "各引き数にはダミーの値を入れることができる。 ダミーの I<classification> 値 "
 "B<MM_NULLMC> (0L) は出力を何も指定しない。そのため何も表示されない。 ダミー"
 "の I<severity> 値 B<NO_SEV> (0) は重大度 (severity) が与えられていないことを"
 "synonym for B<NO_SEV>."
 msgstr ""
 "各引き数にはダミーの値を入れることができる。 ダミーの I<classification> 値 "
 "B<MM_NULLMC> (0L) は出力を何も指定しない。そのため何も表示されない。 ダミー"
 "の I<severity> 値 B<NO_SEV> (0) は重大度 (severity) が与えられていないことを"
-"表す。 値 B<MM_NULLLBL>, B<MM_NULLTXT>, B<MM_NULLACT>, B<MM_NULLTAG> は I<"
-"((char *) 0)> と空文字列の別名であり、 B<MM_NULLSEV> は B<NO_SEV> の別名であ"
-"る。"
+"表す。 値 B<MM_NULLLBL>, B<MM_NULLTXT>, B<MM_NULLACT>, B<MM_NULLTAG> は "
+"I<((char\\ *)\\ 0)> と空文字列の別名であり、 B<MM_NULLSEV> は B<NO_SEV> の別"
+"名である。"
 
 #. type: SS
 
 #. type: SS
-#: build/C/man3/fmtmsg.3:75
+#: build/C/man3/fmtmsg.3:79
 #, no-wrap
 msgid "The classification argument"
 msgstr "classification 引き数"
 
 #. type: Plain text
 #, no-wrap
 msgid "The classification argument"
 msgstr "classification 引き数"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:79
+#: build/C/man3/fmtmsg.3:83
 msgid ""
 "The I<classification> argument is the sum of values describing 4 types of "
 "information."
 msgstr "I<classification> 引き数は 4 種類の情報を記述する値の和である。"
 
 #. type: Plain text
 msgid ""
 "The I<classification> argument is the sum of values describing 4 types of "
 "information."
 msgstr "I<classification> 引き数は 4 種類の情報を記述する値の和である。"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:82
+#: build/C/man3/fmtmsg.3:86
 msgid "The first value defines the output channel."
 msgstr "最初の値は出力チャンネルを定義する。"
 
 #. type: TP
 msgid "The first value defines the output channel."
 msgstr "最初の値は出力チャンネルを定義する。"
 
 #. type: TP
-#: build/C/man3/fmtmsg.3:82
+#: build/C/man3/fmtmsg.3:86
 #, no-wrap
 msgid "B<MM_PRINT>"
 msgstr "B<MM_PRINT>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<MM_PRINT>"
 msgstr "B<MM_PRINT>"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:86
+#: build/C/man3/fmtmsg.3:90
 msgid "Output to I<stderr>."
 msgstr "I<stderr> に出力する。"
 
 #. type: TP
 msgid "Output to I<stderr>."
 msgstr "I<stderr> に出力する。"
 
 #. type: TP
-#: build/C/man3/fmtmsg.3:86
+#: build/C/man3/fmtmsg.3:90
 #, no-wrap
 msgid "B<MM_CONSOLE>"
 msgstr "B<MM_CONSOLE>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<MM_CONSOLE>"
 msgstr "B<MM_CONSOLE>"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:89
+#: build/C/man3/fmtmsg.3:93
 msgid "Output to the system console."
 msgstr "システムコンソールに出力する。"
 
 #. type: TP
 msgid "Output to the system console."
 msgstr "システムコンソールに出力する。"
 
 #. type: TP
-#: build/C/man3/fmtmsg.3:89
+#: build/C/man3/fmtmsg.3:93
 #, no-wrap
 msgid "B<MM_PRINT | MM_CONSOLE>"
 msgstr "B<MM_PRINT | MM_CONSOLE>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<MM_PRINT | MM_CONSOLE>"
 msgstr "B<MM_PRINT | MM_CONSOLE>"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:92
+#: build/C/man3/fmtmsg.3:96
 msgid "Output to both."
 msgstr "両方に出力する。"
 
 #. type: Plain text
 msgid "Output to both."
 msgstr "両方に出力する。"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:94
+#: build/C/man3/fmtmsg.3:98
 msgid "The second value is the source of the error:"
 msgstr "2 番目の値はエラーの発生源である:"
 
 #. type: TP
 msgid "The second value is the source of the error:"
 msgstr "2 番目の値はエラーの発生源である:"
 
 #. type: TP
-#: build/C/man3/fmtmsg.3:94
+#: build/C/man3/fmtmsg.3:98
 #, no-wrap
 msgid "B<MM_HARD>"
 msgstr "B<MM_HARD>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<MM_HARD>"
 msgstr "B<MM_HARD>"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:97
+#: build/C/man3/fmtmsg.3:101
 msgid "A hardware error occurred."
 msgstr "ハードウェアエラーが起こった。"
 
 #. type: TP
 msgid "A hardware error occurred."
 msgstr "ハードウェアエラーが起こった。"
 
 #. type: TP
-#: build/C/man3/fmtmsg.3:97
+#: build/C/man3/fmtmsg.3:101
 #, no-wrap
 msgid "B<MM_FIRM>"
 msgstr "B<MM_FIRM>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<MM_FIRM>"
 msgstr "B<MM_FIRM>"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:100
+#: build/C/man3/fmtmsg.3:104
 msgid "A firmware error occurred."
 msgstr "ファームウェアエラーが起こった。"
 
 #. type: TP
 msgid "A firmware error occurred."
 msgstr "ファームウェアエラーが起こった。"
 
 #. type: TP
-#: build/C/man3/fmtmsg.3:100
+#: build/C/man3/fmtmsg.3:104
 #, no-wrap
 msgid "B<MM_SOFT>"
 msgstr "B<MM_SOFT>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<MM_SOFT>"
 msgstr "B<MM_SOFT>"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:103
+#: build/C/man3/fmtmsg.3:107
 msgid "A software error occurred."
 msgstr "ソフトウェアエラーが起こった。"
 
 #. type: Plain text
 msgid "A software error occurred."
 msgstr "ソフトウェアエラーが起こった。"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:105
+#: build/C/man3/fmtmsg.3:109
 msgid "The third value encodes the detector of the problem:"
 msgstr "3 番目の値は問題の検知を行ったものをエンコードする:"
 
 #. type: TP
 msgid "The third value encodes the detector of the problem:"
 msgstr "3 番目の値は問題の検知を行ったものをエンコードする:"
 
 #. type: TP
-#: build/C/man3/fmtmsg.3:105
+#: build/C/man3/fmtmsg.3:109
 #, no-wrap
 msgid "B<MM_APPL>"
 msgstr "B<MM_APPL>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<MM_APPL>"
 msgstr "B<MM_APPL>"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:108
+#: build/C/man3/fmtmsg.3:112
 msgid "It is detected by an application."
 msgstr "アプリケーションによって検知された。"
 
 #. type: TP
 msgid "It is detected by an application."
 msgstr "アプリケーションによって検知された。"
 
 #. type: TP
-#: build/C/man3/fmtmsg.3:108
+#: build/C/man3/fmtmsg.3:112
 #, no-wrap
 msgid "B<MM_UTIL>"
 msgstr "B<MM_UTIL>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<MM_UTIL>"
 msgstr "B<MM_UTIL>"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:111
+#: build/C/man3/fmtmsg.3:115
 msgid "It is detected by a utility."
 msgstr "ユーティリティによって検知された。"
 
 #. type: TP
 msgid "It is detected by a utility."
 msgstr "ユーティリティによって検知された。"
 
 #. type: TP
-#: build/C/man3/fmtmsg.3:111
+#: build/C/man3/fmtmsg.3:115
 #, no-wrap
 msgid "B<MM_OPSYS>"
 msgstr "B<MM_OPSYS>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<MM_OPSYS>"
 msgstr "B<MM_OPSYS>"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:114
+#: build/C/man3/fmtmsg.3:118
 msgid "It is detected by the operating system."
 msgstr "オペレーティングシステムによって検知された。"
 
 #. type: Plain text
 msgid "It is detected by the operating system."
 msgstr "オペレーティングシステムによって検知された。"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:116
+#: build/C/man3/fmtmsg.3:120
 msgid "The fourth value shows the severity of the incident:"
 msgstr "4 番目の値は問題の重大度を表す:"
 
 #. type: TP
 msgid "The fourth value shows the severity of the incident:"
 msgstr "4 番目の値は問題の重大度を表す:"
 
 #. type: TP
-#: build/C/man3/fmtmsg.3:116
+#: build/C/man3/fmtmsg.3:120
 #, no-wrap
 msgid "B<MM_RECOVER>"
 msgstr "B<MM_RECOVER>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<MM_RECOVER>"
 msgstr "B<MM_RECOVER>"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:119
+#: build/C/man3/fmtmsg.3:123
 msgid "It is a recoverable error."
 msgstr "回復可能なエラーである。"
 
 #. type: TP
 msgid "It is a recoverable error."
 msgstr "回復可能なエラーである。"
 
 #. type: TP
-#: build/C/man3/fmtmsg.3:119
+#: build/C/man3/fmtmsg.3:123
 #, no-wrap
 msgid "B<MM_NRECOV>"
 msgstr "B<MM_NRECOV>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<MM_NRECOV>"
 msgstr "B<MM_NRECOV>"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:122
+#: build/C/man3/fmtmsg.3:126
 msgid "It is a nonrecoverable error."
 msgstr "回復不可能なエラーである。"
 
 #. type: SS
 msgid "It is a nonrecoverable error."
 msgstr "回復不可能なエラーである。"
 
 #. type: SS
-#: build/C/man3/fmtmsg.3:122
+#: build/C/man3/fmtmsg.3:126
 #, no-wrap
 msgid "The severity argument"
 msgstr "severity 引き数"
 
 #. type: Plain text
 #, no-wrap
 msgid "The severity argument"
 msgstr "severity 引き数"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:126
+#: build/C/man3/fmtmsg.3:130
 msgid "The I<severity> argument can take one of the following values:"
 msgstr "I<severity> 引き数は以下の 1 つの値をとることができる。"
 
 #. type: TP
 msgid "The I<severity> argument can take one of the following values:"
 msgstr "I<severity> 引き数は以下の 1 つの値をとることができる。"
 
 #. type: TP
-#: build/C/man3/fmtmsg.3:126
+#: build/C/man3/fmtmsg.3:130
 #, no-wrap
 msgid "B<MM_NOSEV>"
 msgstr "B<MM_NOSEV>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<MM_NOSEV>"
 msgstr "B<MM_NOSEV>"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:129
+#: build/C/man3/fmtmsg.3:133
 msgid "No severity is printed."
 msgstr "重大度は表示されない。"
 
 #. type: TP
 msgid "No severity is printed."
 msgstr "重大度は表示されない。"
 
 #. type: TP
-#: build/C/man3/fmtmsg.3:129
+#: build/C/man3/fmtmsg.3:133
 #, no-wrap
 msgid "B<MM_HALT>"
 msgstr "B<MM_HALT>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<MM_HALT>"
 msgstr "B<MM_HALT>"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:132
+#: build/C/man3/fmtmsg.3:136
 msgid "This value is printed as HALT."
 msgstr "この値は HALT として表示される。"
 
 #. type: TP
 msgid "This value is printed as HALT."
 msgstr "この値は HALT として表示される。"
 
 #. type: TP
-#: build/C/man3/fmtmsg.3:132
+#: build/C/man3/fmtmsg.3:136
 #, no-wrap
 msgid "B<MM_ERROR>"
 msgstr "B<MM_ERROR>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<MM_ERROR>"
 msgstr "B<MM_ERROR>"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:135
+#: build/C/man3/fmtmsg.3:139
 msgid "This value is printed as ERROR."
 msgstr "この値は ERROR として表示される。"
 
 #. type: TP
 msgid "This value is printed as ERROR."
 msgstr "この値は ERROR として表示される。"
 
 #. type: TP
-#: build/C/man3/fmtmsg.3:135
+#: build/C/man3/fmtmsg.3:139
 #, no-wrap
 msgid "B<MM_WARNING>"
 msgstr "B<MM_WARNING>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<MM_WARNING>"
 msgstr "B<MM_WARNING>"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:138
+#: build/C/man3/fmtmsg.3:142
 msgid "This value is printed as WARNING."
 msgstr "この値は WARNING として表示される。"
 
 #. type: TP
 msgid "This value is printed as WARNING."
 msgstr "この値は WARNING として表示される。"
 
 #. type: TP
-#: build/C/man3/fmtmsg.3:138
+#: build/C/man3/fmtmsg.3:142
 #, no-wrap
 msgid "B<MM_INFO>"
 msgstr "B<MM_INFO>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<MM_INFO>"
 msgstr "B<MM_INFO>"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:141
+#: build/C/man3/fmtmsg.3:145
 msgid "This value is printed as INFO."
 msgstr "この値は INFO として表示される。"
 
 #. type: Plain text
 msgid "This value is printed as INFO."
 msgstr "この値は INFO として表示される。"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:148
+#: build/C/man3/fmtmsg.3:152
 msgid ""
 "The numeric values are between 0 and 4.  Using B<addseverity>(3)  or the "
 "environment variable B<SEV_LEVEL> you can add more levels and strings to "
 msgid ""
 "The numeric values are between 0 and 4.  Using B<addseverity>(3)  or the "
 "environment variable B<SEV_LEVEL> you can add more levels and strings to "
@@ -2046,62 +2389,62 @@ msgstr ""
 "B<SEV_LEVEL> を使うことにより、表示するレベルと文字列を更に追加できる。"
 
 #. type: Plain text
 "B<SEV_LEVEL> を使うことにより、表示するレベルと文字列を更に追加できる。"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:150
+#: build/C/man3/fmtmsg.3:154
 msgid "The function can return 4 values:"
 msgstr "関数は 4 つの値を返す:"
 
 #. type: TP
 msgid "The function can return 4 values:"
 msgstr "関数は 4 つの値を返す:"
 
 #. type: TP
-#: build/C/man3/fmtmsg.3:150
+#: build/C/man3/fmtmsg.3:154
 #, no-wrap
 msgid "B<MM_OK>"
 msgstr "B<MM_OK>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<MM_OK>"
 msgstr "B<MM_OK>"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:153
+#: build/C/man3/fmtmsg.3:157
 msgid "Everything went smooth."
 msgstr "全てがうまくいった。"
 
 #. type: TP
 msgid "Everything went smooth."
 msgstr "全てがうまくいった。"
 
 #. type: TP
-#: build/C/man3/fmtmsg.3:153
+#: build/C/man3/fmtmsg.3:157
 #, no-wrap
 msgid "B<MM_NOTOK>"
 msgstr "B<MM_NOTOK>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<MM_NOTOK>"
 msgstr "B<MM_NOTOK>"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:156
+#: build/C/man3/fmtmsg.3:160
 msgid "Complete failure."
 msgstr "完全に失敗した。"
 
 #. type: TP
 msgid "Complete failure."
 msgstr "完全に失敗した。"
 
 #. type: TP
-#: build/C/man3/fmtmsg.3:156
+#: build/C/man3/fmtmsg.3:160
 #, no-wrap
 msgid "B<MM_NOMSG>"
 msgstr "B<MM_NOMSG>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<MM_NOMSG>"
 msgstr "B<MM_NOMSG>"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:160
+#: build/C/man3/fmtmsg.3:164
 msgid "Error writing to I<stderr>."
 msgstr "I<stderr> に書き込むときにエラーが起こった。"
 
 #. type: TP
 msgid "Error writing to I<stderr>."
 msgstr "I<stderr> に書き込むときにエラーが起こった。"
 
 #. type: TP
-#: build/C/man3/fmtmsg.3:160
+#: build/C/man3/fmtmsg.3:164
 #, no-wrap
 msgid "B<MM_NOCON>"
 msgstr "B<MM_NOCON>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<MM_NOCON>"
 msgstr "B<MM_NOCON>"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:163
+#: build/C/man3/fmtmsg.3:167
 msgid "Error writing to the console."
 msgstr "コンソールに書き込むときにエラーが起こった。"
 
 #. type: SH
 msgid "Error writing to the console."
 msgstr "コンソールに書き込むときにエラーが起こった。"
 
 #. type: SH
-#: build/C/man3/fmtmsg.3:163
+#: build/C/man3/fmtmsg.3:167
 #, no-wrap
 msgid "ENVIRONMENT"
 msgstr "環境変数"
 
 #. type: Plain text
 #, no-wrap
 msgid "ENVIRONMENT"
 msgstr "環境変数"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:174
+#: build/C/man3/fmtmsg.3:178
 msgid ""
 "The environment variable B<MSGVERB> (\"message verbosity\") can be used to "
 "suppress parts of the output to I<stderr>.  (It does not influence output to "
 msgid ""
 "The environment variable B<MSGVERB> (\"message verbosity\") can be used to "
 "suppress parts of the output to I<stderr>.  (It does not influence output to "
@@ -2117,7 +2460,7 @@ msgstr ""
 "は \"label\", \"severity\", \"text\", \"action\", \"tag\" である。"
 
 #. type: Plain text
 "は \"label\", \"severity\", \"text\", \"action\", \"tag\" である。"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:186
+#: build/C/man3/fmtmsg.3:190
 msgid ""
 "The environment variable B<SEV_LEVEL> can be used to introduce new severity "
 "levels.  By default, only the five severity levels described above are "
 msgid ""
 "The environment variable B<SEV_LEVEL> can be used to introduce new severity "
 "levels.  By default, only the five severity levels described above are "
@@ -2130,12 +2473,12 @@ msgstr ""
 "B<SEV_LEVEL> を"
 
 #. type: Plain text
 "B<SEV_LEVEL> を"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:189
+#: build/C/man3/fmtmsg.3:193
 msgid "SEV_LEVEL=[description[:description[:...]]]"
 msgstr "SEV_LEVEL=[description[:description[:...]]]"
 
 #. type: Plain text
 msgid "SEV_LEVEL=[description[:description[:...]]]"
 msgstr "SEV_LEVEL=[description[:description[:...]]]"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:194
+#: build/C/man3/fmtmsg.3:198
 msgid ""
 "in the environment of the process before the first call to B<fmtmsg>(), "
 "where each description is of the form"
 msgid ""
 "in the environment of the process before the first call to B<fmtmsg>(), "
 "where each description is of the form"
@@ -2145,12 +2488,12 @@ msgstr ""
 "指定された printstring を表示する。 各 description は"
 
 #. type: Plain text
 "指定された printstring を表示する。 各 description は"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:197
+#: build/C/man3/fmtmsg.3:201
 msgid "severity-keyword,level,printstring"
 msgstr "severity-keyword,level,printstring"
 
 #. type: Plain text
 msgid "severity-keyword,level,printstring"
 msgstr "severity-keyword,level,printstring"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:204
+#: build/C/man3/fmtmsg.3:208
 msgid ""
 "then B<fmtmsg>()  will also accept the indicated values for the level (in "
 "addition to the standard levels 0-4), and use the indicated printstring when "
 msgid ""
 "then B<fmtmsg>()  will also accept the indicated values for the level (in "
 "addition to the standard levels 0-4), and use the indicated printstring when "
@@ -2158,7 +2501,7 @@ msgid ""
 msgstr "という形式である。"
 
 #. type: Plain text
 msgstr "という形式である。"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:218
+#: build/C/man3/fmtmsg.3:222
 msgid ""
 "The severity-keyword part is not used by B<fmtmsg>()  but it has to be "
 "present.  The level part is a string representation of a number.  The "
 msgid ""
 "The severity-keyword part is not used by B<fmtmsg>()  but it has to be "
 "present.  The level part is a string representation of a number.  The "
@@ -2175,12 +2518,31 @@ msgstr ""
 "た場合に表示される文字列である。"
 
 #. type: Plain text
 "た場合に表示される文字列である。"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:221
+#: build/C/man3/fmtmsg.3:225
 msgid "B<fmtmsg>()  is provided in glibc since version 2.1."
 msgstr "B<fmtmsg>()  は、バージョン 2.1 以降の glibc で提供されている。"
 
 #. type: Plain text
 msgid "B<fmtmsg>()  is provided in glibc since version 2.1."
 msgstr "B<fmtmsg>()  は、バージョン 2.1 以降の glibc で提供されている。"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:236
+#: build/C/man3/fmtmsg.3:231
+msgid ""
+"Before glibc 2.16, the B<fmtmsg>()  function uses a static variable that is "
+"not protected, so it is not thread-safe."
+msgstr ""
+"glibc 2.16 より前のバージョンでは、 B<fmtmsg>() 関数は、 保護されていない静的"
+"な変数を使うため、 スレッドセーフではない。"
+
+#.  Modified in commit 7724defcf8873116fe4efab256596861eef21a94
+#. type: Plain text
+#: build/C/man3/fmtmsg.3:237
+msgid ""
+"Since glibc 2.16, the B<fmtmsg>()  function uses a lock to protect the "
+"static variable, so it is thread-safe."
+msgstr ""
+"glibc 2.16 以降では、 B<fmtmsg>() 関数はロックを使って静的な変数を保護してお"
+"り、 スレッドセーフである。"
+
+#. type: Plain text
+#: build/C/man3/fmtmsg.3:252
 msgid ""
 "The functions B<fmtmsg>()  and B<addseverity>(3), and environment variables "
 "B<MSGVERB> and B<SEV_LEVEL> come from System V.  The function B<fmtmsg>()  "
 msgid ""
 "The functions B<fmtmsg>()  and B<addseverity>(3), and environment variables "
 "B<MSGVERB> and B<SEV_LEVEL> come from System V.  The function B<fmtmsg>()  "
@@ -2191,18 +2553,18 @@ msgstr ""
 "B<MSGVERB> は POSIX.1-2001 に記述されている。"
 
 #. type: Plain text
 "B<MSGVERB> は POSIX.1-2001 に記述されている。"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:240
+#: build/C/man3/fmtmsg.3:256
 msgid ""
 "System V and UnixWare man pages tell us that these functions have been "
 "replaced by \"pfmt() and addsev()\" or by \"pfmt(), vpfmt(), lfmt(), and "
 "vlfmt()\", and will be removed later."
 msgstr ""
 msgid ""
 "System V and UnixWare man pages tell us that these functions have been "
 "replaced by \"pfmt() and addsev()\" or by \"pfmt(), vpfmt(), lfmt(), and "
 "vlfmt()\", and will be removed later."
 msgstr ""
-"System V と UnixWare の man ページには、 「これらの関数は \"pfmt() と addsev"
-"()\" または \"pfmt(), vpfmt(), lfmt(), vlfmt()\" で置き換えられており、 将来"
-"は削除される予定である」と書かれている。"
+"System V と UnixWare の man ページには、 「これらの関数は \"pfmt() と "
+"addsev()\" または \"pfmt(), vpfmt(), lfmt(), vlfmt()\" で置き換えられてお"
+"ã\82\8aã\80\81 å°\86æ\9d¥ã\81¯å\89\8aé\99¤ã\81\95ã\82\8cã\82\8bäº\88å®\9aã\81§ã\81\82ã\82\8bã\80\8dã\81¨æ\9b¸ã\81\8bã\82\8cã\81¦ã\81\84ã\82\8bã\80\82"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:245
+#: build/C/man3/fmtmsg.3:261
 #, no-wrap
 msgid ""
 "#include E<lt>stdio.hE<gt>\n"
 #, no-wrap
 msgid ""
 "#include E<lt>stdio.hE<gt>\n"
@@ -2214,7 +2576,7 @@ msgstr ""
 "#include E<lt>fmtmsg.hE<gt>\n"
 
 #. type: Plain text
 "#include E<lt>fmtmsg.hE<gt>\n"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:251
+#: build/C/man3/fmtmsg.3:267
 #, no-wrap
 msgid ""
 "int\n"
 #, no-wrap
 msgid ""
 "int\n"
@@ -2230,7 +2592,7 @@ msgstr ""
 "    int err;\n"
 
 #. type: Plain text
 "    int err;\n"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:272
+#: build/C/man3/fmtmsg.3:288
 #, no-wrap
 msgid ""
 "    err = fmtmsg(class, \"util-linux:mount\", MM_ERROR,\n"
 #, no-wrap
 msgid ""
 "    err = fmtmsg(class, \"util-linux:mount\", MM_ERROR,\n"
@@ -2276,12 +2638,12 @@ msgstr ""
 "}\n"
 
 #. type: Plain text
 "}\n"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:275
+#: build/C/man3/fmtmsg.3:291
 msgid "The output should be:"
 msgstr "出力は"
 
 #. type: Plain text
 msgid "The output should be:"
 msgstr "出力は"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:279
+#: build/C/man3/fmtmsg.3:295
 #, no-wrap
 msgid ""
 "    util-linux:mount: ERROR: unknown mount option\n"
 #, no-wrap
 msgid ""
 "    util-linux:mount: ERROR: unknown mount option\n"
@@ -2291,23 +2653,23 @@ msgstr ""
 "    TO FIX: See mount(8).  util-linux:mount:017\n"
 
 #. type: Plain text
 "    TO FIX: See mount(8).  util-linux:mount:017\n"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:282
+#: build/C/man3/fmtmsg.3:298
 msgid "and after"
 msgstr "のようになり、"
 
 #. type: Plain text
 msgid "and after"
 msgstr "のようになり、"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:285
+#: build/C/man3/fmtmsg.3:301
 #, no-wrap
 msgid "    MSGVERB=text:action; export MSGVERB\n"
 msgstr "    MSGVERB=text:action; export MSGVERB\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "    MSGVERB=text:action; export MSGVERB\n"
 msgstr "    MSGVERB=text:action; export MSGVERB\n"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:288
+#: build/C/man3/fmtmsg.3:304
 msgid "the output becomes:"
 msgstr "を実行すると、次のようになる。"
 
 #. type: Plain text
 msgid "the output becomes:"
 msgstr "を実行すると、次のようになる。"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:292
+#: build/C/man3/fmtmsg.3:308
 #, no-wrap
 msgid ""
 "    unknown mount option\n"
 #, no-wrap
 msgid ""
 "    unknown mount option\n"
@@ -2317,54 +2679,54 @@ msgstr ""
 "    TO FIX: See mount(8).\n"
 
 #. type: Plain text
 "    TO FIX: See mount(8).\n"
 
 #. type: Plain text
-#: build/C/man3/fmtmsg.3:296
+#: build/C/man3/fmtmsg.3:312
 msgid "B<addseverity>(3), B<perror>(3)"
 msgstr "B<addseverity>(3), B<perror>(3)"
 
 #. type: TH
 msgid "B<addseverity>(3), B<perror>(3)"
 msgstr "B<addseverity>(3), B<perror>(3)"
 
 #. type: TH
-#: build/C/man3/fopen.3:42
+#: build/C/man3/fopen.3:44
 #, no-wrap
 msgid "FOPEN"
 msgstr "FOPEN"
 
 #. type: TH
 #, no-wrap
 msgid "FOPEN"
 msgstr "FOPEN"
 
 #. type: TH
-#: build/C/man3/fopen.3:42
+#: build/C/man3/fopen.3:44
 #, no-wrap
 msgid "2012-04-22"
 msgstr "2012-04-22"
 
 #. type: Plain text
 #, no-wrap
 msgid "2012-04-22"
 msgstr "2012-04-22"
 
 #. type: Plain text
-#: build/C/man3/fopen.3:45
+#: build/C/man3/fopen.3:47
 msgid "fopen, fdopen, freopen - stream open functions"
 msgstr "fopen, fdopen, freopen - ストリームを開く関数"
 
 #. type: Plain text
 msgid "fopen, fdopen, freopen - stream open functions"
 msgstr "fopen, fdopen, freopen - ストリームを開く関数"
 
 #. type: Plain text
-#: build/C/man3/fopen.3:50
+#: build/C/man3/fopen.3:52
 #, no-wrap
 msgid "B<FILE *fopen(const char *>I<path>B<, const char *>I<mode>B<);>\n"
 msgstr "B<FILE *fopen(const char *>I<path>B<, const char *>I<mode>B<);>\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<FILE *fopen(const char *>I<path>B<, const char *>I<mode>B<);>\n"
 msgstr "B<FILE *fopen(const char *>I<path>B<, const char *>I<mode>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/fopen.3:52
+#: build/C/man3/fopen.3:54
 #, no-wrap
 msgid "B<FILE *fdopen(int >I<fd>B<, const char *>I<mode>B<);>\n"
 msgstr "B<FILE *fdopen(int >I<fd>B<, const char *>I<mode>B<);>\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<FILE *fdopen(int >I<fd>B<, const char *>I<mode>B<);>\n"
 msgstr "B<FILE *fdopen(int >I<fd>B<, const char *>I<mode>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/fopen.3:54
+#: build/C/man3/fopen.3:56
 #, no-wrap
 msgid "B<FILE *freopen(const char *>I<path>B<, const char *>I<mode>B<, FILE *>I<stream>B<);>\n"
 msgstr "B<FILE *freopen(const char *>I<path>B<, const char *>I<mode>B<, FILE *>I<stream>B<);>\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<FILE *freopen(const char *>I<path>B<, const char *>I<mode>B<, FILE *>I<stream>B<);>\n"
 msgstr "B<FILE *freopen(const char *>I<path>B<, const char *>I<mode>B<, FILE *>I<stream>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/fopen.3:63
+#: build/C/man3/fopen.3:65
 msgid ""
 "B<fdopen>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
 msgstr ""
 "B<fdopen>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
 
 #. type: Plain text
 msgid ""
 "B<fdopen>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
 msgstr ""
 "B<fdopen>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
 
 #. type: Plain text
-#: build/C/man3/fopen.3:69
+#: build/C/man3/fopen.3:71
 msgid ""
 "The B<fopen>()  function opens the file whose name is the string pointed to "
 "by I<path> and associates a stream with it."
 msgid ""
 "The B<fopen>()  function opens the file whose name is the string pointed to "
 "by I<path> and associates a stream with it."
@@ -2373,7 +2735,7 @@ msgstr ""
 "びつける。"
 
 #. type: Plain text
 "びつける。"
 
 #. type: Plain text
-#: build/C/man3/fopen.3:74
+#: build/C/man3/fopen.3:76
 msgid ""
 "The argument I<mode> points to a string beginning with one of the following "
 "sequences (possibly followed by additional characters, as described below):"
 msgid ""
 "The argument I<mode> points to a string beginning with one of the following "
 "sequences (possibly followed by additional characters, as described below):"
@@ -2382,13 +2744,13 @@ msgstr ""
 "る (以下の述べる、追加の文字が後に続くこともある):"
 
 #. type: TP
 "る (以下の述べる、追加の文字が後に続くこともある):"
 
 #. type: TP
-#: build/C/man3/fopen.3:74
+#: build/C/man3/fopen.3:76
 #, no-wrap
 msgid "B<r>"
 msgstr "B<r>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<r>"
 msgstr "B<r>"
 
 #. type: Plain text
-#: build/C/man3/fopen.3:78
+#: build/C/man3/fopen.3:80
 msgid ""
 "Open text file for reading.  The stream is positioned at the beginning of "
 "the file."
 msgid ""
 "Open text file for reading.  The stream is positioned at the beginning of "
 "the file."
@@ -2397,13 +2759,13 @@ msgstr ""
 "る。"
 
 #. type: TP
 "る。"
 
 #. type: TP
-#: build/C/man3/fopen.3:78
+#: build/C/man3/fopen.3:80
 #, no-wrap
 msgid "B<r+>"
 msgstr "B<r+>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<r+>"
 msgstr "B<r+>"
 
 #. type: Plain text
-#: build/C/man3/fopen.3:82
+#: build/C/man3/fopen.3:84
 msgid ""
 "Open for reading and writing.  The stream is positioned at the beginning of "
 "the file."
 msgid ""
 "Open for reading and writing.  The stream is positioned at the beginning of "
 "the file."
@@ -2412,13 +2774,13 @@ msgstr ""
 "る。"
 
 #. type: TP
 "る。"
 
 #. type: TP
-#: build/C/man3/fopen.3:82
+#: build/C/man3/fopen.3:84
 #, no-wrap
 msgid "B<w>"
 msgstr "B<w>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<w>"
 msgstr "B<w>"
 
 #. type: Plain text
-#: build/C/man3/fopen.3:86
+#: build/C/man3/fopen.3:88
 msgid ""
 "Truncate file to zero length or create text file for writing.  The stream is "
 "positioned at the beginning of the file."
 msgid ""
 "Truncate file to zero length or create text file for writing.  The stream is "
 "positioned at the beginning of the file."
@@ -2428,13 +2790,13 @@ msgstr ""
 "頭に位置される。"
 
 #. type: TP
 "頭に位置される。"
 
 #. type: TP
-#: build/C/man3/fopen.3:86
+#: build/C/man3/fopen.3:88
 #, no-wrap
 msgid "B<w+>"
 msgstr "B<w+>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<w+>"
 msgstr "B<w+>"
 
 #. type: Plain text
-#: build/C/man3/fopen.3:92
+#: build/C/man3/fopen.3:94
 msgid ""
 "Open for reading and writing.  The file is created if it does not exist, "
 "otherwise it is truncated.  The stream is positioned at the beginning of the "
 msgid ""
 "Open for reading and writing.  The file is created if it does not exist, "
 "otherwise it is truncated.  The stream is positioned at the beginning of the "
@@ -2445,13 +2807,13 @@ msgstr ""
 "の先頭に位置される。"
 
 #. type: TP
 "の先頭に位置される。"
 
 #. type: TP
-#: build/C/man3/fopen.3:92 build/C/man3/scanf.3:444
+#: build/C/man3/fopen.3:94 build/C/man3/scanf.3:447
 #, no-wrap
 msgid "B<a>"
 msgstr "B<a>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<a>"
 msgstr "B<a>"
 
 #. type: Plain text
-#: build/C/man3/fopen.3:97
+#: build/C/man3/fopen.3:99
 msgid ""
 "Open for appending (writing at end of file).  The file is created if it does "
 "not exist.  The stream is positioned at the end of the file."
 msgid ""
 "Open for appending (writing at end of file).  The file is created if it does "
 "not exist.  The stream is positioned at the end of the file."
@@ -2460,13 +2822,13 @@ msgstr ""
 "は新たに作成する。 ストリームはファイルの最後に位置される。"
 
 #. type: TP
 "は新たに作成する。 ストリームはファイルの最後に位置される。"
 
 #. type: TP
-#: build/C/man3/fopen.3:97
+#: build/C/man3/fopen.3:99
 #, no-wrap
 msgid "B<a+>"
 msgstr "B<a+>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<a+>"
 msgstr "B<a+>"
 
 #. type: Plain text
-#: build/C/man3/fopen.3:103
+#: build/C/man3/fopen.3:105
 msgid ""
 "Open for reading and appending (writing at end of file).  The file is "
 "created if it does not exist.  The initial file position for reading is at "
 msgid ""
 "Open for reading and appending (writing at end of file).  The file is "
 "created if it does not exist.  The initial file position for reading is at "
@@ -2478,7 +2840,7 @@ msgstr ""
 "あるが、 書き込みは常にファイルの最後に追加される。"
 
 #. type: Plain text
 "あるが、 書き込みは常にファイルの最後に追加される。"
 
 #. type: Plain text
-#: build/C/man3/fopen.3:116
+#: build/C/man3/fopen.3:118
 msgid ""
 "The I<mode> string can also include the letter \\(aqb\\(aq either as a last "
 "character or as a character between the characters in any of the two-"
 msgid ""
 "The I<mode> string can also include the letter \\(aqb\\(aq either as a last "
 "character or as a character between the characters in any of the two-"
@@ -2499,12 +2861,12 @@ msgstr ""
 "なら、 \\(aqb\\(aqを付けておくのは良い考えである)"
 
 #. type: Plain text
 "なら、 \\(aqb\\(aqを付けておくのは良い考えである)"
 
 #. type: Plain text
-#: build/C/man3/fopen.3:119
+#: build/C/man3/fopen.3:121
 msgid "See NOTES below for details of glibc extensions for I<mode>."
 msgstr "I<mode> の glibc による拡張の詳細については下記の「注意」を参照。"
 
 #. type: Plain text
 msgid "See NOTES below for details of glibc extensions for I<mode>."
 msgstr "I<mode> の glibc による拡張の詳細については下記の「注意」を参照。"
 
 #. type: Plain text
-#: build/C/man3/fopen.3:124
+#: build/C/man3/fopen.3:126
 msgid ""
 "Any created files will have mode B<S_IRUSR> | B<S_IWUSR> | B<S_IRGRP> | "
 "B<S_IWGRP> | B<S_IROTH> | B<S_IWOTH> (0666), as modified by the process's "
 msgid ""
 "Any created files will have mode B<S_IRUSR> | B<S_IWUSR> | B<S_IRGRP> | "
 "B<S_IWGRP> | B<S_IROTH> | B<S_IWOTH> (0666), as modified by the process's "
@@ -2515,17 +2877,17 @@ msgstr ""
 "値によって修正したモードを持つ (B<umask>(2)  を見よ)。"
 
 #. type: Plain text
 "値によって修正したモードを持つ (B<umask>(2)  を見よ)。"
 
 #. type: Plain text
-#: build/C/man3/fopen.3:139
+#: build/C/man3/fopen.3:141
 msgid ""
 "Reads and writes may be intermixed on read/write streams in any order.  Note "
 "that ANSI C requires that a file positioning function intervene between "
 "output and input, unless an input operation encounters end-of-file.  (If "
 "this condition is not met, then a read is allowed to return the result of "
 "writes other than the most recent.)  Therefore it is good practice (and "
 msgid ""
 "Reads and writes may be intermixed on read/write streams in any order.  Note "
 "that ANSI C requires that a file positioning function intervene between "
 "output and input, unless an input operation encounters end-of-file.  (If "
 "this condition is not met, then a read is allowed to return the result of "
 "writes other than the most recent.)  Therefore it is good practice (and "
-"indeed sometimes necessary under Linux) to put an B<fseek>(3)  or B<fgetpos>"
-"(3)  operation between write and read operations on such a stream.  This "
-"operation may be an apparent no-op (as in I<fseek(..., 0L, SEEK_CUR)> called "
-"for its synchronizing side effect."
+"indeed sometimes necessary under Linux) to put an B<fseek>(3)  or "
+"B<fgetpos>(3)  operation between write and read operations on such a "
+"stream.  This operation may be an apparent no-op (as in I<fseek(..., 0L, "
+"SEEK_CUR)> called for its synchronizing side effect)."
 msgstr ""
 "読み出し/書き込みストリームに対しては任意の順序で読み書きを行うことができ"
 "る。 ただし ANSI C では、 (入力操作がファイルの末尾に到達した場合を除いて)  "
 msgstr ""
 "読み出し/書き込みストリームに対しては任意の順序で読み書きを行うことができ"
 "る。 ただし ANSI C では、 (入力操作がファイルの末尾に到達した場合を除いて)  "
@@ -2539,7 +2901,7 @@ msgstr ""
 "い)。"
 
 #. type: Plain text
 "い)。"
 
 #. type: Plain text
-#: build/C/man3/fopen.3:144
+#: build/C/man3/fopen.3:146
 msgid ""
 "Opening a file in append mode (B<a> as the first character of I<mode>)  "
 "causes all subsequent write operations to this stream to occur at end-of-"
 msgid ""
 "Opening a file in append mode (B<a> as the first character of I<mode>)  "
 "causes all subsequent write operations to this stream to occur at end-of-"
@@ -2550,13 +2912,13 @@ msgstr ""
 "かのように) ファイルの末尾で行われる。"
 
 #. type: Plain text
 "かのように) ファイルの末尾で行われる。"
 
 #. type: Plain text
-#: build/C/man3/fopen.3:147
+#: build/C/man3/fopen.3:149
 #, no-wrap
 #, no-wrap
-msgid "    fseek(stream,0,SEEK_END);\n"
-msgstr "    fseek(stream,0,SEEK_END);\n"
+msgid "    fseek(stream, 0, SEEK_END);\n"
+msgstr "    fseek(stream, 0, SEEK_END);\n"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/fopen.3:169
+#: build/C/man3/fopen.3:171
 msgid ""
 "The B<fdopen>()  function associates a stream with the existing file "
 "descriptor, I<fd>.  The I<mode> of the stream (one of the values \"r\", \"r+"
 msgid ""
 "The B<fdopen>()  function associates a stream with the existing file "
 "descriptor, I<fd>.  The I<mode> of the stream (one of the values \"r\", \"r+"
@@ -2578,7 +2940,7 @@ msgstr ""
 "クトへ B<fdopen>()  を行ったときの結果は定義されていない。"
 
 #. type: Plain text
 "クトへ B<fdopen>()  を行ったときの結果は定義されていない。"
 
 #. type: Plain text
-#: build/C/man3/fopen.3:187
+#: build/C/man3/fopen.3:189
 msgid ""
 "The B<freopen>()  function opens the file whose name is the string pointed "
 "to by I<path> and associates the stream pointed to by I<stream> with it.  "
 msgid ""
 "The B<freopen>()  function opens the file whose name is the string pointed "
 "to by I<path> and associates the stream pointed to by I<stream> with it.  "
@@ -2594,7 +2956,7 @@ msgstr ""
 "I<stdin>, I<stdout>)  と対応付けられているファイルを変更することである。"
 
 #. type: Plain text
 "I<stdin>, I<stdout>)  と対応付けられているファイルを変更することである。"
 
 #. type: Plain text
-#: build/C/man3/fopen.3:199
+#: build/C/man3/fopen.3:201
 msgid ""
 "Upon successful completion B<fopen>(), B<fdopen>()  and B<freopen>()  return "
 "a I<FILE> pointer.  Otherwise, NULL is returned and I<errno> is set to "
 msgid ""
 "Upon successful completion B<fopen>(), B<fdopen>()  and B<freopen>()  return "
 "a I<FILE> pointer.  Otherwise, NULL is returned and I<errno> is set to "
@@ -2604,20 +2966,22 @@ msgstr ""
 "す。 失敗すると NULL が返され、 I<errno> がエラーを示す値にセットされる。"
 
 #. type: TP
 "す。 失敗すると NULL が返され、 I<errno> がエラーを示す値にセットされる。"
 
 #. type: TP
-#: build/C/man3/fopen.3:200 build/C/man3/fseek.3:138
-#: build/C/man3/getline.3:121 build/C/man2/llseek.2:72
-#: build/C/man2/lseek.2:164 build/C/man2/pipe.2:102 build/C/man2/read.2:108
-#: build/C/man2/read.2:119 build/C/man2/readlink.2:93
-#: build/C/man2/readlink.2:102 build/C/man2/readv.2:198
-#: build/C/man2/rename.2:136 build/C/man2/rmdir.2:67 build/C/man3/scanf.3:563
-#: build/C/man2/write.2:148 build/C/man2/process_vm_readv.2:228
-#: build/C/man2/process_vm_readv.2:239 build/C/man2/process_vm_readv.2:243
+#: build/C/man3/fopen.3:202 build/C/man3/fseek.3:142
+#: build/C/man3/getline.3:128 build/C/man2/link.2:282 build/C/man2/llseek.2:77
+#: build/C/man2/lseek.2:192 build/C/man2/open.2:832 build/C/man2/open.2:840
+#: build/C/man2/open.2:845 build/C/man2/open_by_handle_at.2:273
+#: build/C/man2/open_by_handle_at.2:277 build/C/man2/open_by_handle_at.2:325
+#: build/C/man2/pipe.2:139 build/C/man2/read.2:126 build/C/man2/read.2:137
+#: build/C/man2/readlink.2:169 build/C/man2/readlink.2:178
+#: build/C/man2/readv.2:200 build/C/man2/rename.2:251
+#: build/C/man2/rename.2:376 build/C/man2/rename.2:385 build/C/man2/rmdir.2:67
+#: build/C/man3/scanf.3:565 build/C/man2/unlink.2:252 build/C/man2/write.2:154
 #, no-wrap
 msgid "B<EINVAL>"
 msgstr "B<EINVAL>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<EINVAL>"
 msgstr "B<EINVAL>"
 
 #. type: Plain text
-#: build/C/man3/fopen.3:210
+#: build/C/man3/fopen.3:212
 msgid ""
 "The I<mode> provided to B<fopen>(), B<fdopen>(), or B<freopen>()  was "
 "invalid."
 msgid ""
 "The I<mode> provided to B<fopen>(), B<fdopen>(), or B<freopen>()  was "
 "invalid."
@@ -2625,7 +2989,7 @@ msgstr ""
 "B<fopen>(), B<fdopen>(), B<freopen>()  で与えられた I<mode> が不適切である。"
 
 #. type: Plain text
 "B<fopen>(), B<fdopen>(), B<freopen>()  で与えられた I<mode> が不適切である。"
 
 #. type: Plain text
-#: build/C/man3/fopen.3:220
+#: build/C/man3/fopen.3:222
 msgid ""
 "The B<fopen>(), B<fdopen>()  and B<freopen>()  functions may also fail and "
 "set I<errno> for any of the errors specified for the routine B<malloc>(3)."
 msgid ""
 "The B<fopen>(), B<fdopen>()  and B<freopen>()  functions may also fail and "
 "set I<errno> for any of the errors specified for the routine B<malloc>(3)."
@@ -2635,7 +2999,7 @@ msgstr ""
 "する。"
 
 #. type: Plain text
 "する。"
 
 #. type: Plain text
-#: build/C/man3/fopen.3:227
+#: build/C/man3/fopen.3:229
 msgid ""
 "The B<fopen>()  function may also fail and set I<errno> for any of the "
 "errors specified for the routine B<open>(2)."
 msgid ""
 "The B<fopen>()  function may also fail and set I<errno> for any of the "
 "errors specified for the routine B<open>(2)."
@@ -2644,7 +3008,7 @@ msgstr ""
 "があり、 その時は対応する値に I<errno> をセットする。"
 
 #. type: Plain text
 "があり、 その時は対応する値に I<errno> をセットする。"
 
 #. type: Plain text
-#: build/C/man3/fopen.3:234
+#: build/C/man3/fopen.3:236
 msgid ""
 "The B<fdopen>()  function may also fail and set I<errno> for any of the "
 "errors specified for the routine B<fcntl>(2)."
 msgid ""
 "The B<fdopen>()  function may also fail and set I<errno> for any of the "
 "errors specified for the routine B<fcntl>(2)."
@@ -2653,7 +3017,7 @@ msgstr ""
 "とがあり、 その時は対応する値に I<errno> をセットする。"
 
 #. type: Plain text
 "とがあり、 その時は対応する値に I<errno> をセットする。"
 
 #. type: Plain text
-#: build/C/man3/fopen.3:244
+#: build/C/man3/fopen.3:246
 msgid ""
 "The B<freopen>()  function may also fail and set I<errno> for any of the "
 "errors specified for the routines B<open>(2), B<fclose>(3)  and B<fflush>(3)."
 msgid ""
 "The B<freopen>()  function may also fail and set I<errno> for any of the "
 "errors specified for the routines B<open>(2), B<fclose>(3)  and B<fflush>(3)."
@@ -2663,22 +3027,22 @@ msgstr ""
 "トする。"
 
 #. type: Plain text
 "トする。"
 
 #. type: Plain text
-#: build/C/man3/fopen.3:253
+#: build/C/man3/fopen.3:255
 msgid ""
 msgid ""
-"The B<fopen>()  and B<freopen>()  functions conform to C89.  The B<fdopen>"
-"()  function conforms to POSIX.1-1990."
+"The B<fopen>()  and B<freopen>()  functions conform to C89.  The "
+"B<fdopen>()  function conforms to POSIX.1-1990."
 msgstr ""
 "B<fopen>()  関数と B<freopen>()  関数は C89に準拠している。 B<fdopen>()  関数"
 "は POSIX.1-1990 に準拠している。"
 
 #. type: SS
 msgstr ""
 "B<fopen>()  関数と B<freopen>()  関数は C89に準拠している。 B<fdopen>()  関数"
 "は POSIX.1-1990 に準拠している。"
 
 #. type: SS
-#: build/C/man3/fopen.3:254
+#: build/C/man3/fopen.3:256
 #, no-wrap
 #, no-wrap
-msgid "Glibc Notes"
+msgid "Glibc notes"
 msgstr "glibc での注意"
 
 #. type: Plain text
 msgstr "glibc での注意"
 
 #. type: Plain text
-#: build/C/man3/fopen.3:257
+#: build/C/man3/fopen.3:259
 msgid ""
 "The GNU C library allows the following extensions for the string specified "
 "in I<mode>:"
 msgid ""
 "The GNU C library allows the following extensions for the string specified "
 "in I<mode>:"
@@ -2687,13 +3051,13 @@ msgstr ""
 "いる:"
 
 #. type: TP
 "いる:"
 
 #. type: TP
-#: build/C/man3/fopen.3:257
+#: build/C/man3/fopen.3:259
 #, no-wrap
 msgid "B<c> (since glibc 2.3.3)"
 msgstr "B<c> (glibc 2.3.3 以降)"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<c> (since glibc 2.3.3)"
 msgstr "B<c> (glibc 2.3.3 以降)"
 
 #. type: Plain text
-#: build/C/man3/fopen.3:264
+#: build/C/man3/fopen.3:266
 msgid ""
 "Do not make the open operation, or subsequent read and write operations, "
 "thread cancellation points.  This flag is ignored for B<fdopen>()."
 msgid ""
 "Do not make the open operation, or subsequent read and write operations, "
 "thread cancellation points.  This flag is ignored for B<fdopen>()."
@@ -2703,13 +3067,13 @@ msgstr ""
 "このフラグは B<fdopen>() では無視される。"
 
 #. type: TP
 "このフラグは B<fdopen>() では無視される。"
 
 #. type: TP
-#: build/C/man3/fopen.3:264
+#: build/C/man3/fopen.3:266
 #, no-wrap
 msgid "B<e> (since glibc 2.7)"
 msgstr "B<e> (glibc 2.7 以降)"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<e> (since glibc 2.7)"
 msgstr "B<e> (glibc 2.7 以降)"
 
 #. type: Plain text
-#: build/C/man3/fopen.3:274
+#: build/C/man3/fopen.3:276
 msgid ""
 "Open the file with the B<O_CLOEXEC> flag.  See B<open>(2)  for more "
 "information.  This flag is ignored for B<fdopen>()."
 msgid ""
 "Open the file with the B<O_CLOEXEC> flag.  See B<open>(2)  for more "
 "information.  This flag is ignored for B<fdopen>()."
@@ -2718,17 +3082,17 @@ msgstr ""
 "B<open>(2) を参照。このフラグは B<fdopen>() では無視される。"
 
 #. type: TP
 "B<open>(2) を参照。このフラグは B<fdopen>() では無視される。"
 
 #. type: TP
-#: build/C/man3/fopen.3:274
+#: build/C/man3/fopen.3:276
 #, no-wrap
 msgid "B<m> (since glibc 2.3)"
 msgstr "B<m> (glibc 2.3 以降)"
 
 #.  As at glibc 2.4:
 #. type: Plain text
 #, no-wrap
 msgid "B<m> (since glibc 2.3)"
 msgstr "B<m> (glibc 2.3 以降)"
 
 #.  As at glibc 2.4:
 #. type: Plain text
-#: build/C/man3/fopen.3:286
+#: build/C/man3/fopen.3:288
 msgid ""
 "Attempt to access the file using B<mmap>(2), rather than I/O system calls "
 msgid ""
 "Attempt to access the file using B<mmap>(2), rather than I/O system calls "
-"(B<read>(2), B<write>(2)).  Currently, use of B<mmap>(2)  is only attempted "
+"(B<read>(2), B<write>(2)).  Currently, use of B<mmap>(2)  is attempted only "
 "for a file opened for reading."
 msgstr ""
 "I/O システムコール (B<read>(2), B<write>(2))  ではなく、 B<mmap>(2)  を使って"
 "for a file opened for reading."
 msgstr ""
 "I/O システムコール (B<read>(2), B<write>(2))  ではなく、 B<mmap>(2)  を使って"
@@ -2736,7 +3100,7 @@ msgstr ""
 "オープンするファイルについてだけである。"
 
 #. type: TP
 "オープンするファイルについてだけである。"
 
 #. type: TP
-#: build/C/man3/fopen.3:286 build/C/man3/scanf.3:418
+#: build/C/man3/fopen.3:288 build/C/man3/scanf.3:421
 #, no-wrap
 msgid "B<x>"
 msgstr "B<x>"
 #, no-wrap
 msgid "B<x>"
 msgstr "B<x>"
@@ -2744,7 +3108,7 @@ msgstr "B<x>"
 #.  Since glibc 2.0?
 #.  FIXME C11 specifies this flag
 #. type: Plain text
 #.  Since glibc 2.0?
 #.  FIXME C11 specifies this flag
 #. type: Plain text
-#: build/C/man3/fopen.3:303
+#: build/C/man3/fopen.3:305
 msgid ""
 "Open the file exclusively (like the B<O_EXCL> flag of B<open>(2)).  If the "
 "file already exists, B<fopen>()  fails, and sets I<errno> to B<EEXIST>.  "
 msgid ""
 "Open the file exclusively (like the B<O_EXCL> flag of B<open>(2)).  If the "
 "file already exists, B<fopen>()  fails, and sets I<errno> to B<EEXIST>.  "
@@ -2755,19 +3119,22 @@ msgstr ""
 "セットされる。 このフラグは B<fdopen>()  では無視される。"
 
 #. type: Plain text
 "セットされる。 このフラグは B<fdopen>()  では無視される。"
 
 #. type: Plain text
-#: build/C/man3/fopen.3:311
+#: build/C/man3/fopen.3:313
 msgid ""
 "In addition to the above characters, B<fopen>()  and B<freopen>()  support "
 "the following syntax in I<mode>:"
 msgstr ""
 msgid ""
 "In addition to the above characters, B<fopen>()  and B<freopen>()  support "
 "the following syntax in I<mode>:"
 msgstr ""
+"上記の文字に加えて、\n"
+"B<fopen>() と B<freopen>() では I<mode> に\n"
+"以下の書式を 指定することができる。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/fopen.3:313
+#: build/C/man3/fopen.3:315
 msgid "B< ,ccs=>I<string>"
 msgid "B< ,ccs=>I<string>"
-msgstr ""
+msgstr "B< ,ccs=>I<string>"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/fopen.3:329
+#: build/C/man3/fopen.3:331
 msgid ""
 "The given I<string> is taken as the name of a coded character set and the "
 "stream is marked as wide-oriented.  Thereafter, internal conversion "
 msgid ""
 "The given I<string> is taken as the name of a coded character set and the "
 "stream is marked as wide-oriented.  Thereafter, internal conversion "
@@ -2777,23 +3144,33 @@ msgid ""
 "wide-character operation, the stream is marked wide-oriented, and functions "
 "to convert to the coded character set are loaded."
 msgstr ""
 "wide-character operation, the stream is marked wide-oriented, and functions "
 "to convert to the coded character set are loaded."
 msgstr ""
-
-#. type: Plain text
-#: build/C/man3/fopen.3:331
-msgid "In versions of glibc before"
-msgstr ""
+"指定された I<string> は、符号化文字集合の名前と解釈され、\n"
+"ストリームではワイド文字のストリームとして扱われる。\n"
+"内部変換関数で入出力時に文字集合 I<string> との変換が行われる。\n"
+"書式 B<,ccs=>I<string> が指定されない場合は、\n"
+"ストリームをワイド文字のストリームとして扱うかは\n"
+"最初のファイル操作時に決定される。\n"
+"最初のファイル操作がワイド文字操作であった場合は、\n"
+"そのストリームはワイド文字のストリームとして扱われ、\n"
+"符号化文字集合との変換を行う関数が読み込まれる。"
 
 #.  FIXME http://sourceware.org/bugzilla/show_bug.cgi?id=12685
 #. type: Plain text
 #: build/C/man3/fopen.3:348
 msgid ""
 "When parsing for individual flag characters in I<mode> (i.e., the characters "
 
 #.  FIXME http://sourceware.org/bugzilla/show_bug.cgi?id=12685
 #. type: Plain text
 #: build/C/man3/fopen.3:348
 msgid ""
 "When parsing for individual flag characters in I<mode> (i.e., the characters "
-"preceding the \"ccs\" specification\"), the glibc implementation of B<fopen>"
-"()  and B<freopen>()  limits the number of characters examined in I<mode> to "
-"7 (or, in glibc versions before 2.14, to 6, which was not enough to include "
-"possible specifications such as \"rb+cmxe\").  The current implementation of "
-"B<fdopen>()  parses at most 5 characters in in I<mode>."
+"preceding the \"ccs\" specification), the glibc implementation of "
+"B<fopen>()  and B<freopen>()  limits the number of characters examined in "
+"I<mode> to 7 (or, in glibc versions before 2.14, to 6, which was not enough "
+"to include possible specifications such as \"rb+cmxe\").  The current "
+"implementation of B<fdopen>()  parses at most 5 characters in I<mode>."
 msgstr ""
 msgstr ""
+"I<mode> の個々のフラグ文字 (\"ccs\" 指定の前の文字) を解釈する際に、\n"
+"glibc の B<fopen>() と B<freopen>() の実装では、\n"
+"I<mode> の確認を最大 7 文字しか行わないという制限がある\n"
+"(バージョン 2.14 より前の glibc では最大 6 文字だが、\n"
+"6 文字では \"rb+cmxe\" などの指定を行うには不十分であった)。\n"
+"B<fdopen>() の現在の実装では最大 5 文字の I<mode> しか解釈されない。"
 
 #. type: Plain text
 #: build/C/man3/fopen.3:354
 
 #. type: Plain text
 #: build/C/man3/fopen.3:354
@@ -2803,37 +3180,36 @@ msgstr ""
 "B<open>(2), B<fclose>(3), B<fileno>(3), B<fmemopen>(3), B<fopencookie>(3)"
 
 #. type: TH
 "B<open>(2), B<fclose>(3), B<fileno>(3), B<fmemopen>(3), B<fopencookie>(3)"
 
 #. type: TH
-#: build/C/man3/fopencookie.3:24
+#: build/C/man3/fopencookie.3:26
 #, no-wrap
 msgid "FOPENCOOKIE"
 msgstr "FOPENCOOKIE"
 
 #. type: TH
 #, no-wrap
 msgid "FOPENCOOKIE"
 msgstr "FOPENCOOKIE"
 
 #. type: TH
-#: build/C/man3/fopencookie.3:24
+#: build/C/man3/fopencookie.3:26
 #, no-wrap
 #, no-wrap
-msgid "2008-12-05"
-msgstr "2008-12-05"
+msgid "2013-03-17"
+msgstr "2013-03-17"
 
 #. type: TH
 
 #. type: TH
-#: build/C/man3/fopencookie.3:24 build/C/man2/link.2:31
-#: build/C/man2/llseek.2:26 build/C/man2/lseek.2:45 build/C/man3/lseek64.3:23
-#: build/C/man2/open.2:52 build/C/man2/pipe.2:36 build/C/man2/read.2:35
-#: build/C/man2/readlink.2:41 build/C/man2/readv.2:30 build/C/man2/rename.2:32
-#: build/C/man2/rmdir.2:30 build/C/man3/setbuf.3:46 build/C/man3/stdin.3:9
-#: build/C/man2/symlink.2:32 build/C/man7/symlink.7:35
-#: build/C/man2/unlink.2:32 build/C/man2/write.2:39
-#: build/C/man2/process_vm_readv.2:27
+#: build/C/man3/fopencookie.3:26 build/C/man2/link.2:32
+#: build/C/man2/llseek.2:28 build/C/man2/lseek.2:47 build/C/man3/lseek64.3:25
+#: build/C/man2/open.2:51 build/C/man2/open_by_handle_at.2:25
+#: build/C/man2/pipe.2:36 build/C/man2/read.2:35 build/C/man2/readlink.2:44
+#: build/C/man2/readv.2:32 build/C/man2/rename.2:33 build/C/man2/rmdir.2:30
+#: build/C/man3/setbuf.3:48 build/C/man3/stdin.3:13 build/C/man2/symlink.2:33
+#: build/C/man7/symlink.7:37 build/C/man2/unlink.2:33 build/C/man2/write.2:39
 #, no-wrap
 msgid "Linux"
 msgstr "Linux"
 
 #. type: Plain text
 #, no-wrap
 msgid "Linux"
 msgstr "Linux"
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:27
+#: build/C/man3/fopencookie.3:29
 msgid "fopencookie - opening a custom stream"
 msgid "fopencookie - opening a custom stream"
-msgstr "fopencookie - opening a custom stream"
+msgstr ""
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:34
+#: build/C/man3/fopencookie.3:36
 #, no-wrap
 msgid ""
 "B<FILE *fopencookie(void *>I<cookie>B<, const char *>I<mode>B<,>\n"
 #, no-wrap
 msgid ""
 "B<FILE *fopencookie(void *>I<cookie>B<, const char *>I<mode>B<,>\n"
@@ -2843,164 +3219,141 @@ msgstr ""
 "B<                  cookie_io_functions_t >I<io_funcs>B<);>\n"
 
 #. type: Plain text
 "B<                  cookie_io_functions_t >I<io_funcs>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:47
+#: build/C/man3/fopencookie.3:49
 msgid ""
 "The B<fopencookie>()  function allows the programmer to create a custom "
 "implementation for a standard I/O stream.  This implementation can store the "
 msgid ""
 "The B<fopencookie>()  function allows the programmer to create a custom "
 "implementation for a standard I/O stream.  This implementation can store the "
-"stream's data at a location of its own choosing; for example, B<fopencookie>"
-"()  is used to implement B<fmemopen>(3), which provides a stream interface "
-"to data that is stored in a buffer in memory."
+"stream's data at a location of its own choosing; for example, "
+"B<fopencookie>()  is used to implement B<fmemopen>(3), which provides a "
+"stream interface to data that is stored in a buffer in memory."
 msgstr ""
 msgstr ""
-"The B<fopencookie>()  function allows the programmer to create a custom "
-"implementation for a standard I/O stream.  This implementation can store the "
-"stream's data at a location of its own choosing; for example, B<fopencookie>"
-"()  is used to implement B<fmemopen>(3), which provides a stream interface "
-"to data that is stored in a buffer in memory."
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:49
+#: build/C/man3/fopencookie.3:51
 msgid "In order to create a custom stream the programmer must:"
 msgid "In order to create a custom stream the programmer must:"
-msgstr "In order to create a custom stream the programmer must:"
+msgstr ""
 
 #. type: IP
 
 #. type: IP
-#: build/C/man3/fopencookie.3:49 build/C/man3/fopencookie.3:52
-#: build/C/man3/fopencookie.3:63 build/C/man3/scanf.3:669
-#: build/C/man3/scanf.3:674 build/C/man3/scanf.3:680
-#: build/C/man7/symlink.7:248 build/C/man7/symlink.7:258
-#: build/C/man7/symlink.7:288 build/C/man7/symlink.7:348
-#: build/C/man7/symlink.7:377 build/C/man7/symlink.7:406
-#: build/C/man7/symlink.7:437 build/C/man7/symlink.7:450
+#: build/C/man3/fopencookie.3:51 build/C/man3/fopencookie.3:54
+#: build/C/man3/fopencookie.3:65 build/C/man2/lseek.2:168
+#: build/C/man2/lseek.2:170 build/C/man2/lseek.2:173 build/C/man2/lseek.2:175
+#: build/C/man2/lseek.2:177 build/C/man2/open.2:535 build/C/man2/open.2:543
+#: build/C/man2/open.2:549 build/C/man2/open.2:555 build/C/man2/open.2:561
+#: build/C/man2/open.2:574 build/C/man2/open.2:695 build/C/man2/open.2:703
+#: build/C/man2/open_by_handle_at.2:138 build/C/man2/open_by_handle_at.2:146
+#: build/C/man2/open_by_handle_at.2:157 build/C/man2/open_by_handle_at.2:170
+#: build/C/man2/pipe.2:95 build/C/man2/pipe.2:101 build/C/man2/pipe.2:111
+#: build/C/man3/scanf.3:658 build/C/man3/scanf.3:663
+#: build/C/man7/symlink.7:290 build/C/man7/symlink.7:300
+#: build/C/man7/symlink.7:330 build/C/man7/symlink.7:390
+#: build/C/man7/symlink.7:419 build/C/man7/symlink.7:448
+#: build/C/man7/symlink.7:479 build/C/man7/symlink.7:492
 #, no-wrap
 msgid "*"
 msgstr "*"
 
 #. type: Plain text
 #, no-wrap
 msgid "*"
 msgstr "*"
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:52
+#: build/C/man3/fopencookie.3:54
 msgid ""
 "Implement four \"hook\" functions that are used internally by the standard I/"
 "O library when performing I/O on the stream."
 msgstr ""
 msgid ""
 "Implement four \"hook\" functions that are used internally by the standard I/"
 "O library when performing I/O on the stream."
 msgstr ""
-"Implement four \"hook\" functions that are used internally by the standard I/"
-"O library when performing I/O on the stream."
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:63
+#: build/C/man3/fopencookie.3:65
 msgid ""
 "Define a \"cookie\" data type, a structure that provides bookkeeping "
 "information (e.g., where to store data) used by the aforementioned hook "
 "functions.  The standard I/O package knows nothing about the contents of "
 msgid ""
 "Define a \"cookie\" data type, a structure that provides bookkeeping "
 "information (e.g., where to store data) used by the aforementioned hook "
 "functions.  The standard I/O package knows nothing about the contents of "
-"this cookie (thus it is typed as I<void\\ *> when passed to B<fopencookie>"
-"()), but automatically supplies the cookie as the first argument when "
-"calling the hook functions."
+"this cookie (thus it is typed as I<void\\ *> when passed to "
+"B<fopencookie>()), but automatically supplies the cookie as the first "
+"argument when calling the hook functions."
 msgstr ""
 msgstr ""
-"Define a \"cookie\" data type, a structure that provides bookkeeping "
-"information (e.g., where to store data) used by the aforementioned hook "
-"functions.  The standard I/O package knows nothing about the contents of "
-"this cookie (thus it is typed as I<void\\ *> when passed to B<fopencookie>"
-"()), but automatically supplies the cookie as the first argument when "
-"calling the hook functions."
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:68
+#: build/C/man3/fopencookie.3:70
 msgid ""
 "Call B<fopencookie>()  to open a new stream and associate the cookie and "
 "hook functions with that stream."
 msgstr ""
 msgid ""
 "Call B<fopencookie>()  to open a new stream and associate the cookie and "
 "hook functions with that stream."
 msgstr ""
-"Call B<fopencookie>()  to open a new stream and associate the cookie and "
-"hook functions with that stream."
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:76
+#: build/C/man3/fopencookie.3:78
 msgid ""
 "The B<fopencookie>()  function serves a purpose similar to B<fopen>(3): it "
 "opens a new stream and returns a pointer to a I<FILE> object that is used to "
 "operate on that stream."
 msgstr ""
 msgid ""
 "The B<fopencookie>()  function serves a purpose similar to B<fopen>(3): it "
 "opens a new stream and returns a pointer to a I<FILE> object that is used to "
 "operate on that stream."
 msgstr ""
-"The B<fopencookie>()  function serves a purpose similar to B<fopen>(3): it "
-"opens a new stream and returns a pointer to a I<FILE> object that is used to "
-"operate on that stream."
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:83
+#: build/C/man3/fopencookie.3:85
 msgid ""
 "The I<cookie> argument is a pointer to the caller's cookie structure that is "
 "to be associated with the new stream.  This pointer is supplied as the first "
 "argument when the standard I/O library invokes any of the hook functions "
 "described below."
 msgstr ""
 msgid ""
 "The I<cookie> argument is a pointer to the caller's cookie structure that is "
 "to be associated with the new stream.  This pointer is supplied as the first "
 "argument when the standard I/O library invokes any of the hook functions "
 "described below."
 msgstr ""
-"The I<cookie> argument is a pointer to the caller's cookie structure that is "
-"to be associated with the new stream.  This pointer is supplied as the first "
-"argument when the standard I/O library invokes any of the hook functions "
-"described below."
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:99
+#: build/C/man3/fopencookie.3:101
 msgid ""
 "The I<mode> argument serves the same purpose as for B<fopen>(3).  The "
 "following modes are supported: I<r>, I<w>, I<a>, I<r+>, I<w+>, and I<a+>.  "
 "See B<fopen>(3)  for details."
 msgstr ""
 msgid ""
 "The I<mode> argument serves the same purpose as for B<fopen>(3).  The "
 "following modes are supported: I<r>, I<w>, I<a>, I<r+>, I<w+>, and I<a+>.  "
 "See B<fopen>(3)  for details."
 msgstr ""
-"The I<mode> argument serves the same purpose as for B<fopen>(3).  The "
-"following modes are supported: I<r>, I<w>, I<a>, I<r+>, I<w+>, and I<a+>.  "
-"See B<fopen>(3)  for details."
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:105
+#: build/C/man3/fopencookie.3:107
 msgid ""
 "The I<io_funcs> argument is a structure that contains four fields pointing "
 "to the programmer-defined hook functions that are used to implement this "
 "stream.  The structure is defined as follows"
 msgstr ""
 msgid ""
 "The I<io_funcs> argument is a structure that contains four fields pointing "
 "to the programmer-defined hook functions that are used to implement this "
 "stream.  The structure is defined as follows"
 msgstr ""
-"The I<io_funcs> argument is a structure that contains four fields pointing "
-"to the programmer-defined hook functions that are used to implement this "
-"stream.  The structure is defined as follows"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:114
+#: build/C/man3/fopencookie.3:116
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-"struct cookie_io_functions_t {\n"
+"typedef struct {\n"
 "    cookie_read_function_t  *read;\n"
 "    cookie_write_function_t *write;\n"
 "    cookie_seek_function_t  *seek;\n"
 "    cookie_close_function_t *close;\n"
 "    cookie_read_function_t  *read;\n"
 "    cookie_write_function_t *write;\n"
 "    cookie_seek_function_t  *seek;\n"
 "    cookie_close_function_t *close;\n"
-"};\n"
+"} cookie_io_functions_t;\n"
 msgstr ""
 msgstr ""
-"struct cookie_io_functions_t {\n"
+"typedef struct {\n"
 "    cookie_read_function_t  *read;\n"
 "    cookie_write_function_t *write;\n"
 "    cookie_seek_function_t  *seek;\n"
 "    cookie_close_function_t *close;\n"
 "    cookie_read_function_t  *read;\n"
 "    cookie_write_function_t *write;\n"
 "    cookie_seek_function_t  *seek;\n"
 "    cookie_close_function_t *close;\n"
-"};\n"
+"} cookie_io_functions_t;\n"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:118
+#: build/C/man3/fopencookie.3:120
 msgid "The four fields are as follows:"
 msgid "The four fields are as follows:"
-msgstr "The four fields are as follows:"
+msgstr ""
 
 #. type: TP
 
 #. type: TP
-#: build/C/man3/fopencookie.3:118
+#: build/C/man3/fopencookie.3:120
 #, no-wrap
 msgid "I<cookie_read_function_t *read>"
 msgstr "I<cookie_read_function_t *read>"
 
 #. type: Plain text
 #, no-wrap
 msgid "I<cookie_read_function_t *read>"
 msgstr "I<cookie_read_function_t *read>"
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:122
+#: build/C/man3/fopencookie.3:124
 msgid ""
 "This function implements read operations for the stream.  When called, it "
 "receives three arguments:"
 msgstr ""
 msgid ""
 "This function implements read operations for the stream.  When called, it "
 "receives three arguments:"
 msgstr ""
-"This function implements read operations for the stream.  When called, it "
-"receives three arguments:"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:124
+#: build/C/man3/fopencookie.3:126
 #, no-wrap
 msgid "    ssize_t read(void *cookie, char *buf, size_t size);\n"
 msgstr "    ssize_t read(void *cookie, char *buf, size_t size);\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "    ssize_t read(void *cookie, char *buf, size_t size);\n"
 msgstr "    ssize_t read(void *cookie, char *buf, size_t size);\n"
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:139
+#: build/C/man3/fopencookie.3:141
 msgid ""
 "The I<buf> and I<size> arguments are, respectively, a buffer into which "
 "input data can be placed and the size of that buffer.  As its function "
 msgid ""
 "The I<buf> and I<size> arguments are, respectively, a buffer into which "
 "input data can be placed and the size of that buffer.  As its function "
@@ -3008,227 +3361,188 @@ msgid ""
 "I<buf>, 0 on end of file, or -1 on error.  The I<read> function should "
 "update the stream offset appropriately."
 msgstr ""
 "I<buf>, 0 on end of file, or -1 on error.  The I<read> function should "
 "update the stream offset appropriately."
 msgstr ""
-"The I<buf> and I<size> arguments are, respectively, a buffer into which "
-"input data can be placed and the size of that buffer.  As its function "
-"result, the I<read> function should return the number of bytes copied into "
-"I<buf>, 0 on end of file, or -1 on error.  The I<read> function should "
-"update the stream offset appropriately."
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:144
+#: build/C/man3/fopencookie.3:146
 msgid ""
 msgid ""
-"If I<*read> is a NULL pointer, then reads from the custom stream always "
+"If I<*read> is a null pointer, then reads from the custom stream always "
 "return end of file."
 msgstr ""
 "return end of file."
 msgstr ""
-"If I<*read> is a NULL pointer, then reads from the custom stream always "
-"return end of file."
 
 #. type: TP
 
 #. type: TP
-#: build/C/man3/fopencookie.3:144
+#: build/C/man3/fopencookie.3:146
 #, no-wrap
 msgid "I<cookie_write_function_t *write>"
 msgstr "I<cookie_write_function_t *write>"
 
 #. type: Plain text
 #, no-wrap
 msgid "I<cookie_write_function_t *write>"
 msgstr "I<cookie_write_function_t *write>"
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:148
+#: build/C/man3/fopencookie.3:150
 msgid ""
 "This function implements write operations for the stream.  When called, it "
 "receives three arguments:"
 msgstr ""
 msgid ""
 "This function implements write operations for the stream.  When called, it "
 "receives three arguments:"
 msgstr ""
-"This function implements write operations for the stream.  When called, it "
-"receives three arguments:"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:150
+#: build/C/man3/fopencookie.3:152
 #, no-wrap
 msgid "    ssize_t write(void *cookie, const char *buf, size_t size);\n"
 msgstr "    ssize_t write(void *cookie, const char *buf, size_t size);\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "    ssize_t write(void *cookie, const char *buf, size_t size);\n"
 msgstr "    ssize_t write(void *cookie, const char *buf, size_t size);\n"
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:165
+#: build/C/man3/fopencookie.3:168
 msgid ""
 "The I<buf> and I<size> arguments are, respectively, a buffer of data to be "
 "output to the stream and the size of that buffer.  As its function result, "
 "the I<write> function should return the number of bytes copied from I<buf>, "
 msgid ""
 "The I<buf> and I<size> arguments are, respectively, a buffer of data to be "
 "output to the stream and the size of that buffer.  As its function result, "
 "the I<write> function should return the number of bytes copied from I<buf>, "
-"or -1 on error.  The I<write> function should update the stream offset "
-"appropriately."
+"or 0 on error.  (The function must not return a negative value.)  The "
+"I<write> function should update the stream offset appropriately."
 msgstr ""
 msgstr ""
-"The I<buf> and I<size> arguments are, respectively, a buffer of data to be "
-"output to the stream and the size of that buffer.  As its function result, "
-"the I<write> function should return the number of bytes copied from I<buf>, "
-"or -1 on error.  The I<write> function should update the stream offset "
-"appropriately."
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:170
-msgid "If I<*write> is a NULL pointer, then output to the stream is discarded."
+#: build/C/man3/fopencookie.3:173
+msgid "If I<*write> is a null pointer, then output to the stream is discarded."
 msgstr ""
 msgstr ""
-"If I<*write> is a NULL pointer, then output to the stream is discarded."
 
 #. type: TP
 
 #. type: TP
-#: build/C/man3/fopencookie.3:170
+#: build/C/man3/fopencookie.3:173
 #, no-wrap
 msgid "I<cookie_seek_function_t *seek>"
 msgstr "I<cookie_seek_function_t *seek>"
 
 #. type: Plain text
 #, no-wrap
 msgid "I<cookie_seek_function_t *seek>"
 msgstr "I<cookie_seek_function_t *seek>"
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:174
+#: build/C/man3/fopencookie.3:177
 msgid ""
 "This function implements seek operations on the stream.  When called, it "
 "receives three arguments:"
 msgstr ""
 msgid ""
 "This function implements seek operations on the stream.  When called, it "
 "receives three arguments:"
 msgstr ""
-"This function implements seek operations on the stream.  When called, it "
-"receives three arguments:"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:176
+#: build/C/man3/fopencookie.3:179
 #, no-wrap
 msgid "    int seek(void *cookie, off64_t *offset, int whence);\n"
 msgstr "    int seek(void *cookie, off64_t *offset, int whence);\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "    int seek(void *cookie, off64_t *offset, int whence);\n"
 msgstr "    int seek(void *cookie, off64_t *offset, int whence);\n"
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:182
+#: build/C/man3/fopencookie.3:185
 msgid ""
 "The I<*offset> argument specifies the new file offset depending on which of "
 "the following three values is supplied in I<whence>:"
 msgstr ""
 msgid ""
 "The I<*offset> argument specifies the new file offset depending on which of "
 "the following three values is supplied in I<whence>:"
 msgstr ""
-"The I<*offset> argument specifies the new file offset depending on which of "
-"the following three values is supplied in I<whence>:"
 
 #. type: TP
 
 #. type: TP
-#: build/C/man3/fopencookie.3:183 build/C/man2/lseek.2:65
+#: build/C/man3/fopencookie.3:186 build/C/man2/lseek.2:67
 #, no-wrap
 msgid "B<SEEK_SET>"
 msgstr "B<SEEK_SET>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<SEEK_SET>"
 msgstr "B<SEEK_SET>"
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:188
+#: build/C/man3/fopencookie.3:191
 msgid ""
 "The stream offset should be set I<*offset> bytes from the start of the "
 "stream."
 msgstr ""
 msgid ""
 "The stream offset should be set I<*offset> bytes from the start of the "
 "stream."
 msgstr ""
-"The stream offset should be set I<*offset> bytes from the start of the "
-"stream."
 
 #. type: TP
 
 #. type: TP
-#: build/C/man3/fopencookie.3:188 build/C/man2/lseek.2:70
+#: build/C/man3/fopencookie.3:191 build/C/man2/lseek.2:72
 #, no-wrap
 msgid "B<SEEK_CUR>"
 msgstr "B<SEEK_CUR>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<SEEK_CUR>"
 msgstr "B<SEEK_CUR>"
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:192
+#: build/C/man3/fopencookie.3:195
 msgid "I<*offset> should be added to the current stream offset."
 msgid "I<*offset> should be added to the current stream offset."
-msgstr "I<*offset> should be added to the current stream offset."
+msgstr ""
 
 #. type: TP
 
 #. type: TP
-#: build/C/man3/fopencookie.3:192 build/C/man2/lseek.2:75
+#: build/C/man3/fopencookie.3:195 build/C/man2/lseek.2:77
 #, no-wrap
 msgid "B<SEEK_END>"
 msgstr "B<SEEK_END>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<SEEK_END>"
 msgstr "B<SEEK_END>"
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:196
+#: build/C/man3/fopencookie.3:199
 msgid ""
 "The stream offset should be set to the size of the stream plus I<*offset>."
 msgstr ""
 msgid ""
 "The stream offset should be set to the size of the stream plus I<*offset>."
 msgstr ""
-"The stream offset should be set to the size of the stream plus I<*offset>."
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:203
+#: build/C/man3/fopencookie.3:206
 msgid ""
 "Before returning, the I<seek> function should update I<*offset> to indicate "
 "the new stream offset."
 msgstr ""
 msgid ""
 "Before returning, the I<seek> function should update I<*offset> to indicate "
 "the new stream offset."
 msgstr ""
-"Before returning, the I<seek> function should update I<*offset> to indicate "
-"the new stream offset."
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:207
+#: build/C/man3/fopencookie.3:210
 msgid ""
 "As its function result, the I<seek> function should return 0 on success, and "
 "-1 on error."
 msgstr ""
 msgid ""
 "As its function result, the I<seek> function should return 0 on success, and "
 "-1 on error."
 msgstr ""
-"As its function result, the I<seek> function should return 0 on success, and "
-"-1 on error."
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:212
+#: build/C/man3/fopencookie.3:215
 msgid ""
 msgid ""
-"If I<*seek> is a NULL pointer, then it is not possible to perform seek "
+"If I<*seek> is a null pointer, then it is not possible to perform seek "
 "operations on the stream."
 msgstr ""
 "operations on the stream."
 msgstr ""
-"If I<*seek> is a NULL pointer, then it is not possible to perform seek "
-"operations on the stream."
 
 #. type: TP
 
 #. type: TP
-#: build/C/man3/fopencookie.3:212
+#: build/C/man3/fopencookie.3:215
 #, no-wrap
 msgid "I<cookie_close_function_t *close>"
 msgstr "I<cookie_close_function_t *close>"
 
 #. type: Plain text
 #, no-wrap
 msgid "I<cookie_close_function_t *close>"
 msgstr "I<cookie_close_function_t *close>"
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:218
+#: build/C/man3/fopencookie.3:221
 msgid ""
 "This function closes the stream.  The hook function can do things such as "
 "freeing buffers allocated for the stream.  When called, it receives one "
 "argument:"
 msgstr ""
 msgid ""
 "This function closes the stream.  The hook function can do things such as "
 "freeing buffers allocated for the stream.  When called, it receives one "
 "argument:"
 msgstr ""
-"This function closes the stream.  The hook function can do things such as "
-"freeing buffers allocated for the stream.  When called, it receives one "
-"argument:"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:220
+#: build/C/man3/fopencookie.3:223
 #, no-wrap
 msgid "    int close(void *cookie);\n"
 msgstr "    int close(void *cookie);\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "    int close(void *cookie);\n"
 msgstr "    int close(void *cookie);\n"
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:225
+#: build/C/man3/fopencookie.3:228
 msgid ""
 "The I<cookie> argument is the cookie that the programmer supplied when "
 "calling B<fopencookie>()."
 msgstr ""
 msgid ""
 "The I<cookie> argument is the cookie that the programmer supplied when "
 "calling B<fopencookie>()."
 msgstr ""
-"The I<cookie> argument is the cookie that the programmer supplied when "
-"calling B<fopencookie>()."
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:231
+#: build/C/man3/fopencookie.3:234
 msgid ""
 "As its function result, the I<close> function should return 0 on success, "
 "and B<EOF> on error."
 msgstr ""
 msgid ""
 "As its function result, the I<close> function should return 0 on success, "
 "and B<EOF> on error."
 msgstr ""
-"As its function result, the I<close> function should return 0 on success, "
-"and B<EOF> on error."
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:235
+#: build/C/man3/fopencookie.3:238
 msgid ""
 "If I<*close> is NULL, then no special action is performed when the stream is "
 "closed."
 msgstr ""
 msgid ""
 "If I<*close> is NULL, then no special action is performed when the stream is "
 "closed."
 msgstr ""
-"If I<*close> is NULL, then no special action is performed when the stream is "
-"closed."
 
 #.  .SH ERRORS
 #.  It's not clear if errno ever gets set...
 #. type: Plain text
 
 #.  .SH ERRORS
 #.  It's not clear if errno ever gets set...
 #. type: Plain text
-#: build/C/man3/fopencookie.3:242
+#: build/C/man3/fopencookie.3:245
 msgid ""
 "On success B<fopencookie>()  returns a pointer to the new stream.  On error, "
 "NULL is returned."
 msgstr ""
 msgid ""
 "On success B<fopencookie>()  returns a pointer to the new stream.  On error, "
 "NULL is returned."
 msgstr ""
-"On success B<fopencookie>()  returns a pointer to the new stream.  On error, "
-"NULL is returned."
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:244
+#: build/C/man3/fopencookie.3:247
 msgid "This function is a nonstandard GNU extension."
 msgid "This function is a nonstandard GNU extension."
-msgstr "This function is a nonstandard GNU extension."
+msgstr ""
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:253
+#: build/C/man3/fopencookie.3:256
 msgid ""
 "The program below implements a custom stream whose functionality is similar "
 "(but not identical) to that available via B<fmemopen>(3).  It implements a "
 msgid ""
 "The program below implements a custom stream whose functionality is similar "
 "(but not identical) to that available via B<fmemopen>(3).  It implements a "
@@ -3237,15 +3551,9 @@ msgid ""
 "reading two out of every five characters and writing them to standard "
 "output.  The following shell session demonstrates the use of the program:"
 msgstr ""
 "reading two out of every five characters and writing them to standard "
 "output.  The following shell session demonstrates the use of the program:"
 msgstr ""
-"The program below implements a custom stream whose functionality is similar "
-"(but not identical) to that available via B<fmemopen>(3).  It implements a "
-"stream whose data is stored in a memory buffer.  The program writes its "
-"command-line arguments to the stream, and then seeks through the stream "
-"reading two out of every five characters and writing them to standard "
-"output.  The following shell session demonstrates the use of the program:"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:261
+#: build/C/man3/fopencookie.3:264
 #, no-wrap
 msgid ""
 "$B< ./a.out \\(aqhello world\\(aq>\n"
 #, no-wrap
 msgid ""
 "$B< ./a.out \\(aqhello world\\(aq>\n"
@@ -3261,20 +3569,16 @@ msgstr ""
 "Reached end of file\n"
 
 #. type: Plain text
 "Reached end of file\n"
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:268
+#: build/C/man3/fopencookie.3:271
 msgid ""
 "Note that a more general version of the program below could be improved to "
 "more robustly handle various error situations (e.g., opening a stream with a "
 "cookie that already has an open stream; closing a stream that has already "
 "been closed)."
 msgstr ""
 msgid ""
 "Note that a more general version of the program below could be improved to "
 "more robustly handle various error situations (e.g., opening a stream with a "
 "cookie that already has an open stream; closing a stream that has already "
 "been closed)."
 msgstr ""
-"Note that a more general version of the program below could be improved to "
-"more robustly handle various error situations (e.g., opening a stream with a "
-"cookie that already has an open stream; closing a stream that has already "
-"been closed)."
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:277
+#: build/C/man3/fopencookie.3:280
 #, no-wrap
 msgid ""
 "#define _GNU_SOURCE\n"
 #, no-wrap
 msgid ""
 "#define _GNU_SOURCE\n"
@@ -3292,13 +3596,13 @@ msgstr ""
 "#include E<lt>string.hE<gt>\n"
 
 #. type: Plain text
 "#include E<lt>string.hE<gt>\n"
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:279
+#: build/C/man3/fopencookie.3:282
 #, no-wrap
 msgid "#define INIT_BUF_SIZE 4\n"
 msgstr "#define INIT_BUF_SIZE 4\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "#define INIT_BUF_SIZE 4\n"
 msgstr "#define INIT_BUF_SIZE 4\n"
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:286
+#: build/C/man3/fopencookie.3:289
 #, no-wrap
 msgid ""
 "struct memfile_cookie {\n"
 #, no-wrap
 msgid ""
 "struct memfile_cookie {\n"
@@ -3316,7 +3620,7 @@ msgstr ""
 "};\n"
 
 #. type: Plain text
 "};\n"
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:292
+#: build/C/man3/fopencookie.3:295
 #, no-wrap
 msgid ""
 "ssize_t\n"
 #, no-wrap
 msgid ""
 "ssize_t\n"
@@ -3332,13 +3636,13 @@ msgstr ""
 "    struct memfile_cookie *cookie = c;\n"
 
 #. type: Plain text
 "    struct memfile_cookie *cookie = c;\n"
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:294
+#: build/C/man3/fopencookie.3:297
 #, no-wrap
 msgid "    /* Buffer too small? Keep doubling size until big enough */\n"
 msgstr "    /* Buffer too small? Keep doubling size until big enough */\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "    /* Buffer too small? Keep doubling size until big enough */\n"
 msgstr "    /* Buffer too small? Keep doubling size until big enough */\n"
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:304
+#: build/C/man3/fopencookie.3:307
 #, no-wrap
 msgid ""
 "    while (size + cookie-E<gt>offset E<gt> cookie-E<gt>allocated) {\n"
 #, no-wrap
 msgid ""
 "    while (size + cookie-E<gt>offset E<gt> cookie-E<gt>allocated) {\n"
@@ -3362,13 +3666,13 @@ msgstr ""
 "    }\n"
 
 #. type: Plain text
 "    }\n"
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:306
+#: build/C/man3/fopencookie.3:309
 #, no-wrap
 msgid "    memcpy(cookie-E<gt>buf + cookie-E<gt>offset, buf, size);\n"
 msgstr "    memcpy(cookie-E<gt>buf + cookie-E<gt>offset, buf, size);\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "    memcpy(cookie-E<gt>buf + cookie-E<gt>offset, buf, size);\n"
 msgstr "    memcpy(cookie-E<gt>buf + cookie-E<gt>offset, buf, size);\n"
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:310
+#: build/C/man3/fopencookie.3:313
 #, no-wrap
 msgid ""
 "    cookie-E<gt>offset += size;\n"
 #, no-wrap
 msgid ""
 "    cookie-E<gt>offset += size;\n"
@@ -3380,7 +3684,7 @@ msgstr ""
 "        cookie-E<gt>endpos = cookie-E<gt>offset;\n"
 
 #. type: Plain text
 "        cookie-E<gt>endpos = cookie-E<gt>offset;\n"
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:313
+#: build/C/man3/fopencookie.3:316
 #, no-wrap
 msgid ""
 "    return size;\n"
 #, no-wrap
 msgid ""
 "    return size;\n"
@@ -3390,7 +3694,7 @@ msgstr ""
 "}\n"
 
 #. type: Plain text
 "}\n"
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:319
+#: build/C/man3/fopencookie.3:322
 #, no-wrap
 msgid ""
 "ssize_t\n"
 #, no-wrap
 msgid ""
 "ssize_t\n"
@@ -3406,13 +3710,13 @@ msgstr ""
 "    struct memfile_cookie *cookie = c;\n"
 
 #. type: Plain text
 "    struct memfile_cookie *cookie = c;\n"
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:321
+#: build/C/man3/fopencookie.3:324
 #, no-wrap
 msgid "    /* Fetch minimum of bytes requested and bytes available */\n"
 msgstr "    /* Fetch minimum of bytes requested and bytes available */\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "    /* Fetch minimum of bytes requested and bytes available */\n"
 msgstr "    /* Fetch minimum of bytes requested and bytes available */\n"
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:327
+#: build/C/man3/fopencookie.3:330
 #, no-wrap
 msgid ""
 "    xbytes = size;\n"
 #, no-wrap
 msgid ""
 "    xbytes = size;\n"
@@ -3428,13 +3732,13 @@ msgstr ""
 "       xbytes = 0;\n"
 
 #. type: Plain text
 "       xbytes = 0;\n"
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:329
+#: build/C/man3/fopencookie.3:332
 #, no-wrap
 msgid "    memcpy(buf, cookie-E<gt>buf + cookie-E<gt>offset, xbytes);\n"
 msgstr "    memcpy(buf, cookie-E<gt>buf + cookie-E<gt>offset, xbytes);\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "    memcpy(buf, cookie-E<gt>buf + cookie-E<gt>offset, xbytes);\n"
 msgstr "    memcpy(buf, cookie-E<gt>buf + cookie-E<gt>offset, xbytes);\n"
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:333
+#: build/C/man3/fopencookie.3:336
 #, no-wrap
 msgid ""
 "    cookie-E<gt>offset += xbytes;\n"
 #, no-wrap
 msgid ""
 "    cookie-E<gt>offset += xbytes;\n"
@@ -3446,7 +3750,7 @@ msgstr ""
 "}\n"
 
 #. type: Plain text
 "}\n"
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:339
+#: build/C/man3/fopencookie.3:342
 #, no-wrap
 msgid ""
 "int\n"
 #, no-wrap
 msgid ""
 "int\n"
@@ -3462,7 +3766,7 @@ msgstr ""
 "    struct memfile_cookie *cookie = c;\n"
 
 #. type: Plain text
 "    struct memfile_cookie *cookie = c;\n"
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:348
+#: build/C/man3/fopencookie.3:351
 #, no-wrap
 msgid ""
 "    if (whence == SEEK_SET)\n"
 #, no-wrap
 msgid ""
 "    if (whence == SEEK_SET)\n"
@@ -3484,7 +3788,7 @@ msgstr ""
 "        return -1;\n"
 
 #. type: Plain text
 "        return -1;\n"
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:351
+#: build/C/man3/fopencookie.3:354
 #, no-wrap
 msgid ""
 "    if (new_offset E<lt> 0)\n"
 #, no-wrap
 msgid ""
 "    if (new_offset E<lt> 0)\n"
@@ -3494,7 +3798,7 @@ msgstr ""
 "        return -1;\n"
 
 #. type: Plain text
 "        return -1;\n"
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:356
+#: build/C/man3/fopencookie.3:359
 #, no-wrap
 msgid ""
 "    cookie-E<gt>offset = new_offset;\n"
 #, no-wrap
 msgid ""
 "    cookie-E<gt>offset = new_offset;\n"
@@ -3508,7 +3812,7 @@ msgstr ""
 "}\n"
 
 #. type: Plain text
 "}\n"
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:361
+#: build/C/man3/fopencookie.3:364
 #, no-wrap
 msgid ""
 "int\n"
 #, no-wrap
 msgid ""
 "int\n"
@@ -3522,7 +3826,7 @@ msgstr ""
 "    struct memfile_cookie *cookie = c;\n"
 
 #. type: Plain text
 "    struct memfile_cookie *cookie = c;\n"
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:365
+#: build/C/man3/fopencookie.3:368
 #, no-wrap
 msgid ""
 "    free(cookie-E<gt>buf);\n"
 #, no-wrap
 msgid ""
 "    free(cookie-E<gt>buf);\n"
@@ -3534,7 +3838,7 @@ msgstr ""
 "    cookie-E<gt>buf = NULL;\n"
 
 #. type: Plain text
 "    cookie-E<gt>buf = NULL;\n"
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:368
+#: build/C/man3/fopencookie.3:371
 #, no-wrap
 msgid ""
 "    return 0;\n"
 #, no-wrap
 msgid ""
 "    return 0;\n"
@@ -3544,7 +3848,7 @@ msgstr ""
 "}\n"
 
 #. type: Plain text
 "}\n"
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:384
+#: build/C/man3/fopencookie.3:387
 #, no-wrap
 msgid ""
 "int\n"
 #, no-wrap
 msgid ""
 "int\n"
@@ -3580,13 +3884,13 @@ msgstr ""
 "    char buf[1000];\n"
 
 #. type: Plain text
 "    char buf[1000];\n"
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:386
+#: build/C/man3/fopencookie.3:389
 #, no-wrap
 msgid "    /* Set up the cookie before calling fopencookie() */\n"
 msgstr "    /* Set up the cookie before calling fopencookie() */\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "    /* Set up the cookie before calling fopencookie() */\n"
 msgstr "    /* Set up the cookie before calling fopencookie() */\n"
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:392
+#: build/C/man3/fopencookie.3:395
 #, no-wrap
 msgid ""
 "    mycookie.buf = malloc(INIT_BUF_SIZE);\n"
 #, no-wrap
 msgid ""
 "    mycookie.buf = malloc(INIT_BUF_SIZE);\n"
@@ -3602,7 +3906,7 @@ msgstr ""
 "    }\n"
 
 #. type: Plain text
 "    }\n"
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:396
+#: build/C/man3/fopencookie.3:399
 #, no-wrap
 msgid ""
 "    mycookie.allocated = INIT_BUF_SIZE;\n"
 #, no-wrap
 msgid ""
 "    mycookie.allocated = INIT_BUF_SIZE;\n"
@@ -3614,7 +3918,7 @@ msgstr ""
 "    mycookie.endpos = 0;\n"
 
 #. type: Plain text
 "    mycookie.endpos = 0;\n"
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:402
+#: build/C/man3/fopencookie.3:405
 #, no-wrap
 msgid ""
 "    fp = fopencookie(&mycookie,\"w+\", memfile_func);\n"
 #, no-wrap
 msgid ""
 "    fp = fopencookie(&mycookie,\"w+\", memfile_func);\n"
@@ -3630,13 +3934,13 @@ msgstr ""
 "    }\n"
 
 #. type: Plain text
 "    }\n"
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:404
+#: build/C/man3/fopencookie.3:407
 #, no-wrap
 msgid "    /* Write command-line arguments to our file */\n"
 msgstr "    /* Write command-line arguments to our file */\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "    /* Write command-line arguments to our file */\n"
 msgstr "    /* Write command-line arguments to our file */\n"
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:410
+#: build/C/man3/fopencookie.3:413
 #, no-wrap
 msgid ""
 "    for (j = 1; j E<lt> argc; j++)\n"
 #, no-wrap
 msgid ""
 "    for (j = 1; j E<lt> argc; j++)\n"
@@ -3652,13 +3956,13 @@ msgstr ""
 "        }\n"
 
 #. type: Plain text
 "        }\n"
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:412
+#: build/C/man3/fopencookie.3:415
 #, no-wrap
 msgid "    /* Read two bytes out of every five, until EOF */\n"
 msgstr "    /* Read two bytes out of every five, until EOF */\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "    /* Read two bytes out of every five, until EOF */\n"
 msgstr "    /* Read two bytes out of every five, until EOF */\n"
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:427
+#: build/C/man3/fopencookie.3:430
 #, no-wrap
 msgid ""
 "    for (p = 0; ; p += 5) {\n"
 #, no-wrap
 msgid ""
 "    for (p = 0; ; p += 5) {\n"
@@ -3692,7 +3996,7 @@ msgstr ""
 "        }\n"
 
 #. type: Plain text
 "        }\n"
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:430
+#: build/C/man3/fopencookie.3:433
 #, no-wrap
 msgid ""
 "        printf(\"/%.*s/\\en\", nread, buf);\n"
 #, no-wrap
 msgid ""
 "        printf(\"/%.*s/\\en\", nread, buf);\n"
@@ -3702,7 +4006,8 @@ msgstr ""
 "    }\n"
 
 #. type: Plain text
 "    }\n"
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:433 build/C/man2/readlink.2:211
+#: build/C/man3/fopencookie.3:436 build/C/man2/open_by_handle_at.2:579
+#: build/C/man2/open_by_handle_at.2:719 build/C/man2/readlink.2:312
 #, no-wrap
 msgid ""
 "    exit(EXIT_SUCCESS);\n"
 #, no-wrap
 msgid ""
 "    exit(EXIT_SUCCESS);\n"
@@ -3712,29 +4017,29 @@ msgstr ""
 "}\n"
 
 #. type: Plain text
 "}\n"
 
 #. type: Plain text
-#: build/C/man3/fopencookie.3:439
+#: build/C/man3/fopencookie.3:442
 msgid "B<fclose>(3), B<fmemopen>(3), B<fopen>(3), B<fseek>(3)"
 msgstr "B<fclose>(3), B<fmemopen>(3), B<fopen>(3), B<fseek>(3)"
 
 #. type: TH
 msgid "B<fclose>(3), B<fmemopen>(3), B<fopen>(3), B<fseek>(3)"
 msgstr "B<fclose>(3), B<fmemopen>(3), B<fopen>(3), B<fseek>(3)"
 
 #. type: TH
-#: build/C/man3/fpurge.3:23
+#: build/C/man3/fpurge.3:25
 #, no-wrap
 msgid "FPURGE"
 msgstr "FPURGE"
 
 #. type: TH
 #, no-wrap
 msgid "FPURGE"
 msgstr "FPURGE"
 
 #. type: TH
-#: build/C/man3/fpurge.3:23
+#: build/C/man3/fpurge.3:25
 #, no-wrap
 msgid "2001-12-15"
 msgstr "2001-12-15"
 
 #. type: Plain text
 #, no-wrap
 msgid "2001-12-15"
 msgstr "2001-12-15"
 
 #. type: Plain text
-#: build/C/man3/fpurge.3:26
+#: build/C/man3/fpurge.3:28
 msgid "fpurge, __fpurge - purge a stream"
 msgstr "fpurge, __fpurge - ストリームを一掃 (purge) する"
 
 #. type: Plain text
 msgid "fpurge, __fpurge - purge a stream"
 msgstr "fpurge, __fpurge - ストリームを一掃 (purge) する"
 
 #. type: Plain text
-#: build/C/man3/fpurge.3:30
+#: build/C/man3/fpurge.3:32
 #, no-wrap
 msgid ""
 "/* unsupported */\n"
 #, no-wrap
 msgid ""
 "/* unsupported */\n"
@@ -3744,13 +4049,13 @@ msgstr ""
 "B<#include E<lt>stdio.hE<gt>>\n"
 
 #. type: Plain text
 "B<#include E<lt>stdio.hE<gt>>\n"
 
 #. type: Plain text
-#: build/C/man3/fpurge.3:32
+#: build/C/man3/fpurge.3:34
 #, no-wrap
 msgid "B<int fpurge(FILE *>I<stream>B<);>\n"
 msgstr "B<int fpurge(FILE *>I<stream>B<);>\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<int fpurge(FILE *>I<stream>B<);>\n"
 msgstr "B<int fpurge(FILE *>I<stream>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/fpurge.3:35
+#: build/C/man3/fpurge.3:37
 #, no-wrap
 msgid ""
 "/* supported */\n"
 #, no-wrap
 msgid ""
 "/* supported */\n"
@@ -3760,19 +4065,19 @@ msgstr ""
 "B<#include E<lt>stdio.hE<gt>>\n"
 
 #. type: Plain text
 "B<#include E<lt>stdio.hE<gt>>\n"
 
 #. type: Plain text
-#: build/C/man3/fpurge.3:37
+#: build/C/man3/fpurge.3:39
 #, no-wrap
 msgid "B<#include E<lt>stdio_ext.hE<gt>>\n"
 msgstr "B<#include E<lt>stdio_ext.hE<gt>>\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<#include E<lt>stdio_ext.hE<gt>>\n"
 msgstr "B<#include E<lt>stdio_ext.hE<gt>>\n"
 
 #. type: Plain text
-#: build/C/man3/fpurge.3:39
+#: build/C/man3/fpurge.3:41
 #, no-wrap
 msgid "B<void  __fpurge(FILE *>I<stream>B<);>\n"
 msgstr "B<void  __fpurge(FILE *>I<stream>B<);>\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<void  __fpurge(FILE *>I<stream>B<);>\n"
 msgstr "B<void  __fpurge(FILE *>I<stream>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/fpurge.3:52
+#: build/C/man3/fpurge.3:54
 msgid ""
 "The function B<fpurge>()  clears the buffers of the given stream.  For "
 "output streams this discards any unwritten output.  For input streams this "
 msgid ""
 "The function B<fpurge>()  clears the buffers of the given stream.  For "
 "output streams this discards any unwritten output.  For input streams this "
@@ -3787,14 +4092,14 @@ msgstr ""
 "テキストも含まれる。 B<fflush>(3)  も参照のこと。"
 
 #. type: Plain text
 "テキストも含まれる。 B<fflush>(3)  も参照のこと。"
 
 #. type: Plain text
-#: build/C/man3/fpurge.3:56
+#: build/C/man3/fpurge.3:58
 msgid ""
 "The function B<__fpurge>()  does precisely the same, but without returning a "
 "value."
 msgstr "B<__fpurge>()  関数も全く同じことを行うが、ただし返り値を返さない。"
 
 #. type: Plain text
 msgid ""
 "The function B<__fpurge>()  does precisely the same, but without returning a "
 "value."
 msgstr "B<__fpurge>()  関数も全く同じことを行うが、ただし返り値を返さない。"
 
 #. type: Plain text
-#: build/C/man3/fpurge.3:63
+#: build/C/man3/fpurge.3:65
 msgid ""
 "Upon successful completion B<fpurge>()  returns 0.  On error, it returns -1 "
 "and sets I<errno> appropriately."
 msgid ""
 "Upon successful completion B<fpurge>()  returns 0.  On error, it returns -1 "
 "and sets I<errno> appropriately."
@@ -3803,12 +4108,12 @@ msgstr ""
 "を適切な値に設定する。"
 
 #. type: Plain text
 "を適切な値に設定する。"
 
 #. type: Plain text
-#: build/C/man3/fpurge.3:68
+#: build/C/man3/fpurge.3:70
 msgid "I<stream> is not an open stream."
 msgstr "I<stream> がオープンされていない。"
 
 #. type: Plain text
 msgid "I<stream> is not an open stream."
 msgstr "I<stream> がオープンされていない。"
 
 #. type: Plain text
-#: build/C/man3/fpurge.3:76
+#: build/C/man3/fpurge.3:78
 msgid ""
 "These functions are nonstandard and not portable.  The function B<fpurge>()  "
 "was introduced in 4.4BSD and is not available under Linux.  The function "
 msgid ""
 "These functions are nonstandard and not portable.  The function B<fpurge>()  "
 "was introduced in 4.4BSD and is not available under Linux.  The function "
@@ -3820,29 +4125,29 @@ msgstr ""
 "され、glibc 2.1.95 以降には存在している。"
 
 #. type: Plain text
 "され、glibc 2.1.95 以降には存在している。"
 
 #. type: Plain text
-#: build/C/man3/fpurge.3:78
+#: build/C/man3/fpurge.3:80
 msgid "Usually it is a mistake to want to discard input buffers."
 msgstr "通常は入力バッファを捨てようとするのは間違っている。"
 
 #.  .BR fclean (3),
 #. type: Plain text
 msgid "Usually it is a mistake to want to discard input buffers."
 msgstr "通常は入力バッファを捨てようとするのは間違っている。"
 
 #.  .BR fclean (3),
 #. type: Plain text
-#: build/C/man3/fpurge.3:83
+#: build/C/man3/fpurge.3:85
 msgid "B<fflush>(3), B<setbuf>(3), B<stdio_ext>(3)"
 msgstr "B<fflush>(3), B<setbuf>(3), B<stdio_ext>(3)"
 
 #. type: TH
 msgid "B<fflush>(3), B<setbuf>(3), B<stdio_ext>(3)"
 msgstr "B<fflush>(3), B<setbuf>(3), B<stdio_ext>(3)"
 
 #. type: TH
-#: build/C/man3/fputwc.3:14
+#: build/C/man3/fputwc.3:16
 #, no-wrap
 msgid "FPUTWC"
 msgstr "FPUTWC"
 
 #. type: Plain text
 #, no-wrap
 msgid "FPUTWC"
 msgstr "FPUTWC"
 
 #. type: Plain text
-#: build/C/man3/fputwc.3:17
+#: build/C/man3/fputwc.3:19
 msgid "fputwc, putwc - write a wide character to a FILE stream"
 msgstr "fputwc, putwc - ワイド文字を FILE ストリームに書き込む"
 
 #. type: Plain text
 msgid "fputwc, putwc - write a wide character to a FILE stream"
 msgstr "fputwc, putwc - ワイド文字を FILE ストリームに書き込む"
 
 #. type: Plain text
-#: build/C/man3/fputwc.3:25
+#: build/C/man3/fputwc.3:27
 #, no-wrap
 msgid ""
 "B<wint_t fputwc(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
 #, no-wrap
 msgid ""
 "B<wint_t fputwc(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
@@ -3852,13 +4157,13 @@ msgstr ""
 "B<wint_t putwc(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
 
 #. type: Plain text
 "B<wint_t putwc(wchar_t >I<wc>B<, FILE *>I<stream>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/fputwc.3:41
+#: build/C/man3/fputwc.3:43
 msgid ""
 msgid ""
-"The B<fputwc>()  function is the wide-character equivalent of the B<fputc>"
-"(3)  function.  It writes the wide character I<wc> to I<stream>.  If I<ferror"
-"(stream)> becomes true, it returns B<WEOF>.  If a wide-character conversion "
-"error occurs, it sets I<errno> to B<EILSEQ> and returns B<WEOF>.  Otherwise "
-"it returns I<wc>."
+"The B<fputwc>()  function is the wide-character equivalent of the "
+"B<fputc>(3)  function.  It writes the wide character I<wc> to I<stream>.  If "
+"I<ferror(stream)> becomes true, it returns B<WEOF>.  If a wide-character "
+"conversion error occurs, it sets I<errno> to B<EILSEQ> and returns B<WEOF>.  "
+"Otherwise, it returns I<wc>."
 msgstr ""
 "B<fputwc>()  関数は、 B<fputc>(3)  に対応するワイド文字関数である。この 関数"
 "は、ワイド文字 I<wc> を I<stream> に書き込む。 I<ferror(stream)> が真になる"
 msgstr ""
 "B<fputwc>()  関数は、 B<fputc>(3)  に対応するワイド文字関数である。この 関数"
 "は、ワイド文字 I<wc> を I<stream> に書き込む。 I<ferror(stream)> が真になる"
@@ -3867,7 +4172,7 @@ msgstr ""
 "関数は I<wc> を返す。"
 
 #. type: Plain text
 "関数は I<wc> を返す。"
 
 #. type: Plain text
-#: build/C/man3/fputwc.3:49
+#: build/C/man3/fputwc.3:51
 msgid ""
 "The B<putwc>()  function or macro functions identically to B<fputwc>().  It "
 "may be implemented as a macro, and may evaluate its argument more than "
 msgid ""
 "The B<putwc>()  function or macro functions identically to B<fputwc>().  It "
 "may be implemented as a macro, and may evaluate its argument more than "
@@ -3878,28 +4183,29 @@ msgstr ""
 "ない。この関数を使う理由はもはや存在しない。"
 
 #. type: Plain text
 "ない。この関数を使う理由はもはや存在しない。"
 
 #. type: Plain text
-#: build/C/man3/fputwc.3:58
+#: build/C/man3/fputwc.3:63
 msgid ""
 "The B<fputwc>()  function returns I<wc> if no error occurred, or B<WEOF> to "
 msgid ""
 "The B<fputwc>()  function returns I<wc> if no error occurred, or B<WEOF> to "
-"indicate an error."
+"indicate an error.  In the event of an error, I<errno> is set to indicate "
+"the cause."
 msgstr ""
 "B<fputwc>()  関数は、エラーが起きなければ I<wc> を返す。エラーの場合には "
 msgstr ""
 "B<fputwc>()  関数は、エラーが起きなければ I<wc> を返す。エラーの場合には "
-"B<WEOF> ã\82\92è¿\94ã\81\99。"
+"B<WEOF> ã\81\8cè¿\94ã\82\8aã\80\81 I<errno> ã\81«ã\82¨ã\83©ã\83¼ã\81®å\8e\9få\9b ã\82\92示ã\81\99å\80¤ã\81\8c設å®\9aã\81\95ã\82\8cã\82\8b。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/fputwc.3:63
+#: build/C/man3/fputwc.3:68
 msgid "Conversion of I<wc> to the stream's encoding fails."
 msgstr "I<wc> からストリームの符号への変換に失敗した。"
 
 #. type: Plain text
 msgid "Conversion of I<wc> to the stream's encoding fails."
 msgstr "I<wc> からストリームの符号への変換に失敗した。"
 
 #. type: Plain text
-#: build/C/man3/fputwc.3:72
+#: build/C/man3/fputwc.3:77
 msgid ""
 "The behavior of B<fputwc>()  depends on the B<LC_CTYPE> category of the "
 "current locale."
 msgstr "B<fputwc>()  の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存する。"
 
 #. type: Plain text
 msgid ""
 "The behavior of B<fputwc>()  depends on the B<LC_CTYPE> category of the "
 "current locale."
 msgstr "B<fputwc>()  の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存する。"
 
 #. type: Plain text
-#: build/C/man3/fputwc.3:80
+#: build/C/man3/fputwc.3:85
 msgid ""
 "In the absence of additional information passed to the B<fopen>(3)  call, it "
 "is reasonable to expect that B<fputwc>()  will actually write the multibyte "
 msgid ""
 "In the absence of additional information passed to the B<fopen>(3)  call, it "
 "is reasonable to expect that B<fputwc>()  will actually write the multibyte "
@@ -3910,35 +4216,35 @@ msgstr ""
 "よい。"
 
 #. type: Plain text
 "よい。"
 
 #. type: Plain text
-#: build/C/man3/fputwc.3:84
+#: build/C/man3/fputwc.3:89
 msgid "B<fgetwc>(3), B<fputws>(3), B<unlocked_stdio>(3)"
 msgstr "B<fgetwc>(3), B<fputws>(3), B<unlocked_stdio>(3)"
 
 #. type: TH
 msgid "B<fgetwc>(3), B<fputws>(3), B<unlocked_stdio>(3)"
 msgstr "B<fgetwc>(3), B<fputws>(3), B<unlocked_stdio>(3)"
 
 #. type: TH
-#: build/C/man3/fread.3:43
+#: build/C/man3/fread.3:45
 #, no-wrap
 msgid "FREAD"
 msgstr "FREAD"
 
 #. type: TH
 #, no-wrap
 msgid "FREAD"
 msgstr "FREAD"
 
 #. type: TH
-#: build/C/man3/fread.3:43
+#: build/C/man3/fread.3:45
 #, no-wrap
 msgid "2012-03-30"
 msgstr "2012-03-30"
 
 #. type: Plain text
 #, no-wrap
 msgid "2012-03-30"
 msgstr "2012-03-30"
 
 #. type: Plain text
-#: build/C/man3/fread.3:46
+#: build/C/man3/fread.3:48
 msgid "fread, fwrite - binary stream input/output"
 msgstr "fread, fwrite - バイナリストリームの入出力"
 
 #. type: Plain text
 msgid "fread, fwrite - binary stream input/output"
 msgstr "fread, fwrite - バイナリストリームの入出力"
 
 #. type: Plain text
-#: build/C/man3/fread.3:52
+#: build/C/man3/fread.3:54
 #, no-wrap
 msgid "B<size_t fread(void *>I<ptr>B<, size_t >I<size>B<, size_t >I<nmemb>B<, FILE *>I<stream>B<);>\n"
 msgstr "B<size_t fread(void *>I<ptr>B<, size_t >I<size>B<, size_t >I<nmemb>B<, FILE *>I<stream>B<);>\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<size_t fread(void *>I<ptr>B<, size_t >I<size>B<, size_t >I<nmemb>B<, FILE *>I<stream>B<);>\n"
 msgstr "B<size_t fread(void *>I<ptr>B<, size_t >I<size>B<, size_t >I<nmemb>B<, FILE *>I<stream>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/fread.3:55
+#: build/C/man3/fread.3:57
 #, no-wrap
 msgid ""
 "B<size_t fwrite(const void *>I<ptr>B<, size_t >I<size>B<, size_t >I<nmemb>B<,>\n"
 #, no-wrap
 msgid ""
 "B<size_t fwrite(const void *>I<ptr>B<, size_t >I<size>B<, size_t >I<nmemb>B<,>\n"
@@ -3948,7 +4254,7 @@ msgstr ""
 "B<              FILE *>I<stream>B<);>\n"
 
 #. type: Plain text
 "B<              FILE *>I<stream>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/fread.3:67
+#: build/C/man3/fread.3:69
 msgid ""
 "The function B<fread>()  reads I<nmemb> elements of data, each I<size> bytes "
 "long, from the stream pointed to by I<stream>, storing them at the location "
 msgid ""
 "The function B<fread>()  reads I<nmemb> elements of data, each I<size> bytes "
 "long, from the stream pointed to by I<stream>, storing them at the location "
@@ -3959,7 +4265,7 @@ msgstr ""
 "I<size> バイトの長さを持つ。"
 
 #. type: Plain text
 "I<size> バイトの長さを持つ。"
 
 #. type: Plain text
-#: build/C/man3/fread.3:78
+#: build/C/man3/fread.3:80
 msgid ""
 "The function B<fwrite>()  writes I<nmemb> elements of data, each I<size> "
 "bytes long, to the stream pointed to by I<stream>, obtaining them from the "
 msgid ""
 "The function B<fwrite>()  writes I<nmemb> elements of data, each I<size> "
 "bytes long, to the stream pointed to by I<stream>, obtaining them from the "
@@ -3970,7 +4276,7 @@ msgstr ""
 "バイトの長さを持つ。"
 
 #. type: Plain text
 "バイトの長さを持つ。"
 
 #. type: Plain text
-#: build/C/man3/fread.3:94
+#: build/C/man3/fread.3:96
 msgid ""
 "On success, B<fread>()  and B<fwrite>()  return the number of I<items> read "
 "or written.  This number equals the number of bytes transferred only when "
 msgid ""
 "On success, B<fread>()  and B<fwrite>()  return the number of I<items> read "
 "or written.  This number equals the number of bytes transferred only when "
@@ -3983,7 +4289,7 @@ msgstr ""
 "返り値は指定した個数よりも小さい値 (または 0) となる。"
 
 #. type: Plain text
 "返り値は指定した個数よりも小さい値 (または 0) となる。"
 
 #. type: Plain text
-#: build/C/man3/fread.3:101
+#: build/C/man3/fread.3:103
 msgid ""
 "B<fread>()  does not distinguish between end-of-file and error, and callers "
 "must use B<feof>(3)  and B<ferror>(3)  to determine which occurred."
 msgid ""
 "B<fread>()  does not distinguish between end-of-file and error, and callers "
 "must use B<feof>(3)  and B<ferror>(3)  to determine which occurred."
@@ -3993,60 +4299,60 @@ msgstr ""
 "らない。"
 
 #. type: Plain text
 "らない。"
 
 #. type: Plain text
-#: build/C/man3/fread.3:103
+#: build/C/man3/fread.3:105
 msgid "C89, POSIX.1-2001."
 msgstr "C89, POSIX.1-2001."
 
 #. type: Plain text
 msgid "C89, POSIX.1-2001."
 msgstr "C89, POSIX.1-2001."
 
 #. type: Plain text
-#: build/C/man3/fread.3:109
+#: build/C/man3/fread.3:111
 msgid "B<read>(2), B<write>(2), B<feof>(3), B<ferror>(3), B<unlocked_stdio>(3)"
 msgstr ""
 "B<read>(2), B<write>(2), B<feof>(3), B<ferror>(3), B<unlocked_stdio>(3)"
 
 #. type: TH
 msgid "B<read>(2), B<write>(2), B<feof>(3), B<ferror>(3), B<unlocked_stdio>(3)"
 msgstr ""
 "B<read>(2), B<write>(2), B<feof>(3), B<ferror>(3), B<unlocked_stdio>(3)"
 
 #. type: TH
-#: build/C/man3/fseek.3:40
+#: build/C/man3/fseek.3:42
 #, no-wrap
 msgid "FSEEK"
 msgstr "FSEEK"
 
 #. type: TH
 #, no-wrap
 msgid "FSEEK"
 msgstr "FSEEK"
 
 #. type: TH
-#: build/C/man3/fseek.3:40
+#: build/C/man3/fseek.3:42 build/C/man3/perror.3:31
 #, no-wrap
 #, no-wrap
-msgid "1993-11-29"
-msgstr "1993-11-29"
+msgid "2014-05-28"
+msgstr "2014-05-28"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/fseek.3:43
+#: build/C/man3/fseek.3:45
 msgid "fgetpos, fseek, fsetpos, ftell, rewind - reposition a stream"
 msgstr "fgetpos, fseek, fsetpos, ftell, rewind - ストリームの位置を変更する"
 
 #. type: Plain text
 msgid "fgetpos, fseek, fsetpos, ftell, rewind - reposition a stream"
 msgstr "fgetpos, fseek, fsetpos, ftell, rewind - ストリームの位置を変更する"
 
 #. type: Plain text
-#: build/C/man3/fseek.3:47
+#: build/C/man3/fseek.3:49
 msgid "B<int fseek(FILE *>I<stream>B<, long >I<offset>B<, int >I<whence>B<);>"
 msgstr "B<int fseek(FILE *>I<stream>B<, long >I<offset>B<, int >I<whence>B<);>"
 
 #. type: Plain text
 msgid "B<int fseek(FILE *>I<stream>B<, long >I<offset>B<, int >I<whence>B<);>"
 msgstr "B<int fseek(FILE *>I<stream>B<, long >I<offset>B<, int >I<whence>B<);>"
 
 #. type: Plain text
-#: build/C/man3/fseek.3:49
+#: build/C/man3/fseek.3:51
 msgid "B<long ftell(FILE *>I<stream>B<);>"
 msgstr "B<long ftell(FILE *>I<stream>B<);>"
 
 #. type: Plain text
 msgid "B<long ftell(FILE *>I<stream>B<);>"
 msgstr "B<long ftell(FILE *>I<stream>B<);>"
 
 #. type: Plain text
-#: build/C/man3/fseek.3:51
+#: build/C/man3/fseek.3:53
 msgid "B<void rewind(FILE *>I<stream>B<);>"
 msgstr "B<void rewind(FILE *>I<stream>B<);>"
 
 #. type: Plain text
 msgid "B<void rewind(FILE *>I<stream>B<);>"
 msgstr "B<void rewind(FILE *>I<stream>B<);>"
 
 #. type: Plain text
-#: build/C/man3/fseek.3:53
+#: build/C/man3/fseek.3:55
 msgid "B<int fgetpos(FILE *>I<stream>B<, fpos_t *>I<pos>B<);>"
 msgstr "B<int fgetpos(FILE *>I<stream>B<, fpos_t *>I<pos>B<);>"
 
 #. type: Plain text
 msgid "B<int fgetpos(FILE *>I<stream>B<, fpos_t *>I<pos>B<);>"
 msgstr "B<int fgetpos(FILE *>I<stream>B<, fpos_t *>I<pos>B<);>"
 
 #. type: Plain text
-#: build/C/man3/fseek.3:55
-msgid "B<int fsetpos(FILE *>I<stream>B<, fpos_t *>I<pos>B<);>"
-msgstr "B<int fsetpos(FILE *>I<stream>B<, fpos_t *>I<pos>B<);>"
+#: build/C/man3/fseek.3:57
+msgid "B<int fsetpos(FILE *>I<stream>B<, const fpos_t *>I<pos>B<);>"
+msgstr "B<int fsetpos(FILE *>I<stream>B<, const fpos_t *>I<pos>B<);>"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/fseek.3:79
+#: build/C/man3/fseek.3:81
 msgid ""
 "The B<fseek>()  function sets the file position indicator for the stream "
 "pointed to by I<stream>.  The new position, measured in bytes, is obtained "
 msgid ""
 "The B<fseek>()  function sets the file position indicator for the stream "
 "pointed to by I<stream>.  The new position, measured in bytes, is obtained "
@@ -4067,7 +4373,7 @@ msgstr ""
 "かったことになる。"
 
 #. type: Plain text
 "かったことになる。"
 
 #. type: Plain text
-#: build/C/man3/fseek.3:85
+#: build/C/man3/fseek.3:87
 msgid ""
 "The B<ftell>()  function obtains the current value of the file position "
 "indicator for the stream pointed to by I<stream>."
 msgid ""
 "The B<ftell>()  function obtains the current value of the file position "
 "indicator for the stream pointed to by I<stream>."
@@ -4076,7 +4382,7 @@ msgstr ""
 "置表示子 の現時点での値を与える。"
 
 #. type: Plain text
 "置表示子 の現時点での値を与える。"
 
 #. type: Plain text
-#: build/C/man3/fseek.3:92
+#: build/C/man3/fseek.3:94
 msgid ""
 "The B<rewind>()  function sets the file position indicator for the stream "
 "pointed to by I<stream> to the beginning of the file.  It is equivalent to:"
 msgid ""
 "The B<rewind>()  function sets the file position indicator for the stream "
 "pointed to by I<stream> to the beginning of the file.  It is equivalent to:"
@@ -4085,12 +4391,12 @@ msgstr ""
 "位置表示子 をファイルの先頭にセットする。この関数は以下と等価である。"
 
 #. type: Plain text
 "位置表示子 をファイルの先頭にセットする。この関数は以下と等価である。"
 
 #. type: Plain text
-#: build/C/man3/fseek.3:95
+#: build/C/man3/fseek.3:97
 msgid "(void) fseek(stream, 0L, SEEK_SET)"
 msgstr "(void) fseek(stream, 0L, SEEK_SET)"
 
 #. type: Plain text
 msgid "(void) fseek(stream, 0L, SEEK_SET)"
 msgstr "(void) fseek(stream, 0L, SEEK_SET)"
 
 #. type: Plain text
-#: build/C/man3/fseek.3:99
+#: build/C/man3/fseek.3:101
 msgid ""
 "except that the error indicator for the stream is also cleared (see "
 "B<clearerr>(3))."
 msgid ""
 "except that the error indicator for the stream is also cleared (see "
 "B<clearerr>(3))."
@@ -4099,25 +4405,25 @@ msgstr ""
 "時に クリアされる ( B<clearerr>(3)  を見よ)。"
 
 #. type: Plain text
 "時に クリアされる ( B<clearerr>(3)  を見よ)。"
 
 #. type: Plain text
-#: build/C/man3/fseek.3:117
+#: build/C/man3/fseek.3:121
 msgid ""
 "The B<fgetpos>()  and B<fsetpos>()  functions are alternate interfaces "
 msgid ""
 "The B<fgetpos>()  and B<fsetpos>()  functions are alternate interfaces "
-"equivalent to B<ftell>()  and B<fseek>()  (with whence set to B<SEEK_SET>), "
-"setting and storing the current value of the file offset into or from the "
-"object referenced by I<pos>.  On some non-UNIX systems an I<fpos_t> object "
-"may be a complex object and these routines may be the only way to portably "
-"reposition a text stream."
+"equivalent to B<ftell>()  and B<fseek>()  (with I<whence> set to "
+"B<SEEK_SET>), setting and storing the current value of the file offset into "
+"or from the object referenced by I<pos>.  On some non-UNIX systems, an "
+"I<fpos_t> object may be a complex object and these routines may be the only "
+"way to portably reposition a text stream."
 msgstr ""
 msgstr ""
-"B<fgetpos>()  関数と B<fsetpos>()  関数は、それぞれ B<ftell>()  と B<fseek>"
-"()  で I<whence> に B<SEEK_SET> を指定した場合と同様の機能を、異なるインター"
-"ã\83\95ã\82§ã\83¼ã\82¹ã\81§æ\8f\90ä¾\9bã\81\99ã\82\8bã\80\82 B<fgetpos>()  ã\81¯ã\83\95ã\82¡ã\82¤ã\83«ã\82ªã\83\95ã\82»ã\83\83ã\83\88ã\81®ç\8f¾å\9c¨ã\81®å\80¤ã\82\92 I<pos> ã\81\8c"
-"参照するオブジェクトに保存し、 B<fsetpos>()  はファイルオフセットを I<pos> に"
-"設定する。 UNIX 以外のシステムにおいては、 I<fpos_t> が構造体などの複雑なオブ"
-"ジェクトになっていて、これらのルーチンがテキス トストリームでファイル位置を変"
-"更する方法のうち、移植性のある唯一のもの になっている場合もある。"
+"B<fgetpos>()  関数と B<fsetpos>()  関数は、それぞれ B<ftell>()  と "
+"B<fseek>()  で I<whence> に B<SEEK_SET> を指定した場合と同様の機能を、異なる"
+"ã\82¤ã\83³ã\82¿ã\83¼ã\83\95ã\82§ã\83¼ã\82¹ã\81§æ\8f\90ä¾\9bã\81\99ã\82\8bã\80\82 B<fgetpos>()  ã\81¯ã\83\95ã\82¡ã\82¤ã\83«ã\82ªã\83\95ã\82»ã\83\83ã\83\88ã\81®ç\8f¾å\9c¨ã\81®å\80¤ã\82\92 "
+"I<pos> が参照するオブジェクトに保存し、 B<fsetpos>()  はファイルオフセットを "
+"I<pos> に設定する。 UNIX 以外のシステムにおいては、 I<fpos_t> が構造体などの"
+"複雑なオブジェクトになっていて、これらのルーチンがテキス トストリームでファイ"
+"ル位置を変更する方法のうち、移植性のある唯一のもの になっている場合もある。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/fseek.3:132
+#: build/C/man3/fseek.3:136
 msgid ""
 "The B<rewind>()  function returns no value.  Upon successful completion, "
 "B<fgetpos>(), B<fseek>(), B<fsetpos>()  return 0, and B<ftell>()  returns "
 msgid ""
 "The B<rewind>()  function returns no value.  Upon successful completion, "
 "B<fgetpos>(), B<fseek>(), B<fsetpos>()  return 0, and B<ftell>()  returns "
@@ -4129,60 +4435,62 @@ msgstr ""
 "り値は -1 となり、 I<errno> にエラーを示す値がセットされる。"
 
 #. type: Plain text
 "り値は -1 となり、 I<errno> にエラーを示す値がセットされる。"
 
 #. type: Plain text
-#: build/C/man3/fseek.3:138
+#: build/C/man3/fseek.3:142
 msgid "The I<stream> specified is not a seekable stream."
 msgstr "指定した I<stream> がシークできない。"
 
 #. type: Plain text
 msgid "The I<stream> specified is not a seekable stream."
 msgstr "指定した I<stream> がシークできない。"
 
 #. type: Plain text
-#: build/C/man3/fseek.3:149
+#: build/C/man3/fseek.3:154
 msgid ""
 "The I<whence> argument to B<fseek>()  was not B<SEEK_SET>, B<SEEK_END>, or "
 msgid ""
 "The I<whence> argument to B<fseek>()  was not B<SEEK_SET>, B<SEEK_END>, or "
-"B<SEEK_CUR>."
+"B<SEEK_CUR>.  Or: the resulting file offset would be negative."
 msgstr ""
 "B<fseek>()  関数に対して与えた I<whence> 引数が B<SEEK_SET>, B<SEEK_END>, "
 msgstr ""
 "B<fseek>()  関数に対して与えた I<whence> 引数が B<SEEK_SET>, B<SEEK_END>, "
-"B<SEEK_CUR> 以外の値であった。"
+"B<SEEK_CUR> 以外の値であった。 または、更新後のファイルオフセットが負になって"
+"しまう。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/fseek.3:164
+#: build/C/man3/fseek.3:169
 msgid ""
 "The functions B<fgetpos>(), B<fseek>(), B<fsetpos>(), and B<ftell>()  may "
 "also fail and set I<errno> for any of the errors specified for the routines "
 "B<fflush>(3), B<fstat>(2), B<lseek>(2), and B<malloc>(3)."
 msgstr ""
 msgid ""
 "The functions B<fgetpos>(), B<fseek>(), B<fsetpos>(), and B<ftell>()  may "
 "also fail and set I<errno> for any of the errors specified for the routines "
 "B<fflush>(3), B<fstat>(2), B<lseek>(2), and B<malloc>(3)."
 msgstr ""
-"B<fgetpos>(), B<fseek>(), B<fsetpos>(), B<ftell>()  は、それぞれ B<fflush>"
-"(3), B<fstat>(2), B<lseek>(2), B<malloc>(3)  などのルーチンを呼び出す際に失敗"
-"する可能性がある。この場合は それぞれ対応した I<errno> が設定される。"
+"B<fgetpos>(), B<fseek>(), B<fsetpos>(), B<ftell>()  は、それぞれ "
+"B<fflush>(3), B<fstat>(2), B<lseek>(2), B<malloc>(3)  などのルーチンを呼び出"
+"す際に失敗する可能性がある。この場合は それぞれ対応した I<errno> が設定され"
+"る。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/fseek.3:169
+#: build/C/man3/fseek.3:174
 msgid "B<lseek>(2), B<fseeko>(3)"
 msgstr "B<lseek>(2), B<fseeko>(3)"
 
 #. type: TH
 msgid "B<lseek>(2), B<fseeko>(3)"
 msgstr "B<lseek>(2), B<fseeko>(3)"
 
 #. type: TH
-#: build/C/man3/fseeko.3:23
+#: build/C/man3/fseeko.3:25
 #, no-wrap
 msgid "FSEEKO"
 msgstr "FSEEKO"
 
 #. type: TH
 #, no-wrap
 msgid "FSEEKO"
 msgstr "FSEEKO"
 
 #. type: TH
-#: build/C/man3/fseeko.3:23
+#: build/C/man3/fseeko.3:25
 #, no-wrap
 #, no-wrap
-msgid "2001-11-05"
-msgstr "2001-11-05"
+msgid "2014-03-20"
+msgstr "2014-03-20"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/fseeko.3:26
+#: build/C/man3/fseeko.3:28
 msgid "fseeko, ftello - seek to or report file position"
 msgstr "fseeko, ftello - ファイル位置を探す/報告する"
 
 #. type: Plain text
 msgid "fseeko, ftello - seek to or report file position"
 msgstr "fseeko, ftello - ファイル位置を探す/報告する"
 
 #. type: Plain text
-#: build/C/man3/fseeko.3:31
+#: build/C/man3/fseeko.3:33
 #, no-wrap
 msgid "B<int fseeko(FILE *>I<stream>B<, off_t >I<offset>B<, int >I<whence>B<);>\n"
 msgstr "B<int fseeko(FILE *>I<stream>B<, off_t >I<offset>B<, int >I<whence>B<);>\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<int fseeko(FILE *>I<stream>B<, off_t >I<offset>B<, int >I<whence>B<);>\n"
 msgstr "B<int fseeko(FILE *>I<stream>B<, off_t >I<offset>B<, int >I<whence>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/fseeko.3:34
+#: build/C/man3/fseeko.3:36
 #, no-wrap
 msgid ""
 "B<off_t ftello(FILE *>I<stream>B<);>\n"
 #, no-wrap
 msgid ""
 "B<off_t ftello(FILE *>I<stream>B<);>\n"
@@ -4192,7 +4500,26 @@ msgstr ""
 "\n"
 
 #. type: Plain text
 "\n"
 
 #. type: Plain text
+#: build/C/man3/fseeko.3:45
+msgid "B<fseeko>(), B<ftello>():"
+msgstr "B<fseeko>(), B<ftello>():"
+
+#. type: Plain text
+#: build/C/man3/fseeko.3:50
+msgid ""
+"_FILE_OFFSET_BITS\\ ==\\ 64 || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L || "
+"_XOPEN_SOURCE\\ E<gt>=\\ 600"
+msgstr ""
+"_FILE_OFFSET_BITS\\ ==\\ 64 || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L || "
+"_XOPEN_SOURCE\\ E<gt>=\\ 600"
+
+#. type: Plain text
 #: build/C/man3/fseeko.3:52
 #: build/C/man3/fseeko.3:52
+msgid "(defining the obsolete _LARGEFILE_SOURCE macro also works)"
+msgstr "(廃止予定のマクロ _LARGEFILE_SOURCE を指定しても動作する)"
+
+#. type: Plain text
+#: build/C/man3/fseeko.3:75
 msgid ""
 "The B<fseeko>()  and B<ftello>()  functions are identical to B<fseek>(3)  "
 "and B<ftell>(3)  (see B<fseek>(3)), respectively, except that the I<offset> "
 msgid ""
 "The B<fseeko>()  and B<ftello>()  functions are identical to B<fseek>(3)  "
 "and B<ftell>(3)  (see B<fseek>(3)), respectively, except that the I<offset> "
@@ -4200,12 +4527,12 @@ msgid ""
 "I<off_t> instead of I<long>."
 msgstr ""
 "B<fseeko>()  関数および B<ftello>()  関数は、 それぞれ B<fseek>(3)  および "
 "I<off_t> instead of I<long>."
 msgstr ""
 "B<fseeko>()  関数および B<ftello>()  関数は、 それぞれ B<fseek>(3)  および "
-"B<ftell>(3)  と同一の機能を持つ (B<fseek>(3)  を見よ) が、ただし B<fseeko>"
-"()  関数の I<offset> 引数と B<ftello>()  の返り値が、 I<long> ではなく "
-"I<off_t> になっている。"
+"B<ftell>(3)  と同一の機能を持つ (B<fseek>(3)  を見よ) が、ただし "
+"B<fseeko>()  関数の I<offset> 引数と B<ftello>()  の返り値が、 I<long> ではな"
+"く I<off_t> になっている。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/fseeko.3:55
+#: build/C/man3/fseeko.3:82
 msgid ""
 "On many architectures both I<off_t> and I<long> are 32-bit types, but "
 "compilation with"
 msgid ""
 "On many architectures both I<off_t> and I<long> are 32-bit types, but "
 "compilation with"
@@ -4213,18 +4540,18 @@ msgstr ""
 "多くのアーキテクチャでは I<off_t> も I<long> も共に 32 ビットの型であるが、"
 
 #. type: Plain text
 "多くのアーキテクチャでは I<off_t> も I<long> も共に 32 ビットの型であるが、"
 
 #. type: Plain text
-#: build/C/man3/fseeko.3:59 build/C/man3/lseek64.3:79
+#: build/C/man3/fseeko.3:86 build/C/man3/lseek64.3:81
 #, no-wrap
 msgid "#define _FILE_OFFSET_BITS 64\n"
 msgstr "#define _FILE_OFFSET_BITS 64\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "#define _FILE_OFFSET_BITS 64\n"
 msgstr "#define _FILE_OFFSET_BITS 64\n"
 
 #. type: Plain text
-#: build/C/man3/fseeko.3:63
+#: build/C/man3/fseeko.3:92
 msgid "will turn I<off_t> into a 64-bit type."
 msgstr "でコンパイルすると I<off_t> は 64 ビット型となる。"
 
 #. type: Plain text
 msgid "will turn I<off_t> into a 64-bit type."
 msgstr "でコンパイルすると I<off_t> は 64 ビット型となる。"
 
 #. type: Plain text
-#: build/C/man3/fseeko.3:72
+#: build/C/man3/fseeko.3:101
 msgid ""
 "On successful completion, B<fseeko>()  returns 0, while B<ftello>()  returns "
 "the current offset.  Otherwise, -1 is returned and I<errno> is set to "
 msgid ""
 "On successful completion, B<fseeko>()  returns 0, while B<ftello>()  returns "
 "the current offset.  Otherwise, -1 is returned and I<errno> is set to "
@@ -4234,17 +4561,17 @@ msgstr ""
 "す。 失敗した場合、-1 を返し、 I<errno> にエラーを示す値をセットする。"
 
 #. type: Plain text
 "す。 失敗した場合、-1 を返し、 I<errno> にエラーを示す値をセットする。"
 
 #. type: Plain text
-#: build/C/man3/fseeko.3:75
+#: build/C/man3/fseeko.3:104
 msgid "See the ERRORS in B<fseek>(3)."
 msgstr "B<fseek>(3)  の「エラー」の節を参照。"
 
 #. type: Plain text
 msgid "See the ERRORS in B<fseek>(3)."
 msgstr "B<fseek>(3)  の「エラー」の節を参照。"
 
 #. type: Plain text
-#: build/C/man3/fseeko.3:77
+#: build/C/man3/fseeko.3:106
 msgid "SUSv2, POSIX.1-2001."
 msgstr "SUSv2, POSIX.1-2001."
 
 #. type: Plain text
 msgid "SUSv2, POSIX.1-2001."
 msgstr "SUSv2, POSIX.1-2001."
 
 #. type: Plain text
-#: build/C/man3/fseeko.3:81
+#: build/C/man3/fseeko.3:110
 msgid ""
 "These functions are found on System V-like systems.  They are not present in "
 "libc4, libc5, glibc 2.0 but are available since glibc 2.1."
 msgid ""
 "These functions are found on System V-like systems.  They are not present in "
 "libc4, libc5, glibc 2.0 but are available since glibc 2.1."
@@ -4253,51 +4580,45 @@ msgstr ""
 "かったが、 glibc 2.1 から使えるようになった。"
 
 #. type: Plain text
 "かったが、 glibc 2.1 から使えるようになった。"
 
 #. type: Plain text
-#: build/C/man3/fseeko.3:83
+#: build/C/man3/fseeko.3:112
 msgid "B<fseek>(3)"
 msgstr "B<fseek>(3)"
 
 #. type: TH
 msgid "B<fseek>(3)"
 msgstr "B<fseek>(3)"
 
 #. type: TH
-#: build/C/man3/getline.3:24
+#: build/C/man3/getline.3:26
 #, no-wrap
 msgid "GETLINE"
 msgstr "GETLINE"
 
 #, no-wrap
 msgid "GETLINE"
 msgstr "GETLINE"
 
-#. type: TH
-#: build/C/man3/getline.3:24
-#, no-wrap
-msgid "2010-06-12"
-msgstr "2010-06-12"
-
 #. type: Plain text
 #. type: Plain text
-#: build/C/man3/getline.3:27
+#: build/C/man3/getline.3:29
 msgid "getline, getdelim - delimited string input"
 msgstr "getline, getdelim - 区切り文字までの文字列入力を読み込む"
 
 #. type: Plain text
 msgid "getline, getdelim - delimited string input"
 msgstr "getline, getdelim - 区切り文字までの文字列入力を読み込む"
 
 #. type: Plain text
-#: build/C/man3/getline.3:32
+#: build/C/man3/getline.3:34
 #, no-wrap
 msgid "B<ssize_t getline(char **>I<lineptr>B<, size_t *>I<n>B<, FILE *>I<stream>B<);>\n"
 msgstr "B<ssize_t getline(char **>I<lineptr>B<, size_t *>I<n>B<, FILE *>I<stream>B<);>\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<ssize_t getline(char **>I<lineptr>B<, size_t *>I<n>B<, FILE *>I<stream>B<);>\n"
 msgstr "B<ssize_t getline(char **>I<lineptr>B<, size_t *>I<n>B<, FILE *>I<stream>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/getline.3:35
+#: build/C/man3/getline.3:37
 #, no-wrap
 msgid "B<ssize_t getdelim(char **>I<lineptr>B<, size_t *>I<n>B<, int >I<delim>B<, FILE *>I<stream>B<);>\n"
 msgstr "B<ssize_t getdelim(char **>I<lineptr>B<, size_t *>I<n>B<, int >I<delim>B<, FILE *>I<stream>B<);>\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<ssize_t getdelim(char **>I<lineptr>B<, size_t *>I<n>B<, int >I<delim>B<, FILE *>I<stream>B<);>\n"
 msgstr "B<ssize_t getdelim(char **>I<lineptr>B<, size_t *>I<n>B<, int >I<delim>B<, FILE *>I<stream>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/getline.3:45
+#: build/C/man3/getline.3:47
 msgid "B<getline>(), B<getdelim>():"
 msgstr "B<getline>(), B<getdelim>():"
 
 #. type: Plain text
 msgid "B<getline>(), B<getdelim>():"
 msgstr "B<getline>(), B<getdelim>():"
 
 #. type: Plain text
-#: build/C/man3/getline.3:50
+#: build/C/man3/getline.3:52
 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
 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/getline.3:63
+#: build/C/man3/getline.3:65
 msgid ""
 "B<getline>()  reads an entire line from I<stream>, storing the address of "
 "the buffer containing the text into I<*lineptr>.  The buffer is null-"
 msgid ""
 "B<getline>()  reads an entire line from I<stream>, storing the address of "
 "the buffer containing the text into I<*lineptr>.  The buffer is null-"
@@ -4308,18 +4629,19 @@ msgstr ""
 "端される。 改行文字が見つかった場合は、改行文字もバッファに格納される。"
 
 #. type: Plain text
 "端される。 改行文字が見つかった場合は、改行文字もバッファに格納される。"
 
 #. type: Plain text
-#: build/C/man3/getline.3:73
+#: build/C/man3/getline.3:77
 msgid ""
 msgid ""
-"If I<*lineptr> is NULL, then B<getline>()  will allocate a buffer for "
-"storing the line, which should be freed by the user program.  (In this case, "
-"the value in I<*n> is ignored.)"
+"If I<*lineptr> is set to NULL and I<*n> is set 0 before the call, then "
+"B<getline>()  will allocate a buffer for storing the line.  This buffer "
+"should be freed by the user program even if B<getline>()  failed."
 msgstr ""
 msgstr ""
-"I<*lineptr> が NULL の場合、 B<getline>()  は行の内容を格納するためのバッファ"
-"を確保する。 このバッファはユーザーのプログラムで解放すべきである (この場"
-"合、 I<*n> の値は無視される)。"
+"I<*lineptr> が NULL にセットされ、 I<*n> が呼び出し前に 0 にセットされた場"
+"合、 B<getline>()  は行の内容を格納するためのバッファを確保する。 このバッ"
+"ファは、 B<getline>() が失敗した場合であっても、ユーザーのプログラムで解放す"
+"べきである。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/getline.3:91
+#: build/C/man3/getline.3:95
 msgid ""
 "Alternatively, before calling B<getline>(), I<*lineptr> can contain a "
 "pointer to a B<malloc>(3)-allocated buffer I<*n> bytes in size.  If the "
 msgid ""
 "Alternatively, before calling B<getline>(), I<*lineptr> can contain a "
 "pointer to a B<malloc>(3)-allocated buffer I<*n> bytes in size.  If the "
@@ -4333,7 +4655,7 @@ msgstr ""
 "I<*n> を更新する。"
 
 #. type: Plain text
 "I<*n> を更新する。"
 
 #. type: Plain text
-#: build/C/man3/getline.3:97
+#: build/C/man3/getline.3:101
 msgid ""
 "In either case, on a successful call, I<*lineptr> and I<*n> will be updated "
 "to reflect the buffer address and allocated size respectively."
 msgid ""
 "In either case, on a successful call, I<*lineptr> and I<*n> will be updated "
 "to reflect the buffer address and allocated size respectively."
@@ -4342,7 +4664,7 @@ msgstr ""
 "ファのアドレスと割り当てたサイズを反映した値に更新される。"
 
 #. type: Plain text
 "ファのアドレスと割り当てたサイズを反映した値に更新される。"
 
 #. type: Plain text
-#: build/C/man3/getline.3:108
+#: build/C/man3/getline.3:112
 msgid ""
 "B<getdelim>()  works like B<getline>(), except that a line delimiter other "
 "than newline can be specified as the I<delimiter> argument.  As with "
 msgid ""
 "B<getdelim>()  works like B<getline>(), except that a line delimiter other "
 "than newline can be specified as the I<delimiter> argument.  As with "
@@ -4355,40 +4677,42 @@ msgstr ""
 "ファに追加しない。"
 
 #. type: Plain text
 "ファに追加しない。"
 
 #. type: Plain text
-#: build/C/man3/getline.3:117
+#: build/C/man3/getline.3:121
 msgid ""
 "On success, B<getline>()  and B<getdelim>()  return the number of characters "
 "read, including the delimiter character, but not including the terminating "
 msgid ""
 "On success, B<getline>()  and B<getdelim>()  return the number of characters "
 "read, including the delimiter character, but not including the terminating "
-"null byte.  This value can be used to handle embedded null bytes in the line "
-"read."
+"null byte (\\(aq\\e0\\(aq).  This value can be used to handle embedded null "
+"bytes in the line read."
 msgstr ""
 "成功した場合、 B<getline>()  と B<getdelim>()  は読み込んだ文字数を返す。 文"
 msgstr ""
 "成功した場合、 B<getline>()  と B<getdelim>()  は読み込んだ文字数を返す。 文"
-"字数には区切り文字は含まれるが、終端に使う NULL バイトは含まれない。 この値に"
-"よって、読み込んだ行に含まれる NULL バイトを操作することができる。"
+"字数には区切り文字は含まれるが、終端に使うヌルバイト (\\(aq\\e0\\(aq) は含ま"
+"れない。 この値によって、読み込んだ行に含まれるヌルバイトを操作することができ"
+"る。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/getline.3:120
+#: build/C/man3/getline.3:127
 msgid ""
 "Both functions return -1 on failure to read a line (including end-of-file "
 msgid ""
 "Both functions return -1 on failure to read a line (including end-of-file "
-"condition)."
+"condition).  In the event of an error, I<errno> is set to indicate the cause."
 msgstr ""
 "どちらの関数も、行の読み込みに失敗した場合には -1 を返す (ファイルの終端に達"
 msgstr ""
 "どちらの関数も、行の読み込みに失敗した場合には -1 を返す (ファイルの終端に達"
-"した場合にも -1 を返す)。"
+"した場合にも -1 を返す)。 エラーが発生した場合には、 I<errno> にエラーの原因"
+"を示す値が設定される。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/getline.3:130
+#: build/C/man3/getline.3:137
 msgid "Bad arguments (I<n> or I<lineptr> is NULL, or I<stream> is not valid)."
 msgstr ""
 "引き数が不正である (I<n> または I<lineptr> が NULL である。 もしくは "
 "I<stream> が有効でない)。"
 
 #. type: Plain text
 msgid "Bad arguments (I<n> or I<lineptr> is NULL, or I<stream> is not valid)."
 msgstr ""
 "引き数が不正である (I<n> または I<lineptr> が NULL である。 もしくは "
 "I<stream> が有効でない)。"
 
 #. type: Plain text
-#: build/C/man3/getline.3:132
+#: build/C/man3/getline.3:139
 msgid "These functions are available since libc 4.6.27."
 msgstr "これらの関数は libc 4.6.27 以降で利用可能である。"
 
 #. type: Plain text
 msgid "These functions are available since libc 4.6.27."
 msgstr "これらの関数は libc 4.6.27 以降で利用可能である。"
 
 #. type: Plain text
-#: build/C/man3/getline.3:139
+#: build/C/man3/getline.3:146
 msgid ""
 "Both B<getline>()  and B<getdelim>()  were originally GNU extensions.  They "
 "were standardized in POSIX.1-2008."
 msgid ""
 "Both B<getline>()  and B<getdelim>()  were originally GNU extensions.  They "
 "were standardized in POSIX.1-2008."
@@ -4397,7 +4721,7 @@ msgstr ""
 "POSIX.1-2008 で標準化された。"
 
 #. type: Plain text
 "POSIX.1-2008 で標準化された。"
 
 #. type: Plain text
-#: build/C/man3/getline.3:144
+#: build/C/man3/getline.3:151
 #, no-wrap
 msgid ""
 "#define _GNU_SOURCE\n"
 #, no-wrap
 msgid ""
 "#define _GNU_SOURCE\n"
@@ -4409,7 +4733,7 @@ msgstr ""
 "#include E<lt>stdlib.hE<gt>\n"
 
 #. type: Plain text
 "#include E<lt>stdlib.hE<gt>\n"
 
 #. type: Plain text
-#: build/C/man3/getline.3:152
+#: build/C/man3/getline.3:159
 #, no-wrap
 msgid ""
 "int\n"
 #, no-wrap
 msgid ""
 "int\n"
@@ -4429,7 +4753,7 @@ msgstr ""
 "    ssize_t read;\n"
 
 #. type: Plain text
 "    ssize_t read;\n"
 
 #. type: Plain text
-#: build/C/man3/getline.3:156
+#: build/C/man3/getline.3:163
 #, no-wrap
 msgid ""
 "    fp = fopen(\"/etc/motd\", \"r\");\n"
 #, no-wrap
 msgid ""
 "    fp = fopen(\"/etc/motd\", \"r\");\n"
@@ -4441,7 +4765,7 @@ msgstr ""
 "        exit(EXIT_FAILURE);\n"
 
 #. type: Plain text
 "        exit(EXIT_FAILURE);\n"
 
 #. type: Plain text
-#: build/C/man3/getline.3:161
+#: build/C/man3/getline.3:168
 #, no-wrap
 msgid ""
 "    while ((read = getline(&line, &len, fp)) != -1) {\n"
 #, no-wrap
 msgid ""
 "    while ((read = getline(&line, &len, fp)) != -1) {\n"
@@ -4455,7 +4779,7 @@ msgstr ""
 "    }\n"
 
 #. type: Plain text
 "    }\n"
 
 #. type: Plain text
-#: build/C/man3/getline.3:165
+#: build/C/man3/getline.3:172
 #, no-wrap
 msgid ""
 "    free(line);\n"
 #, no-wrap
 msgid ""
 "    free(line);\n"
@@ -4467,92 +4791,40 @@ msgstr ""
 "}\n"
 
 #. type: Plain text
 "}\n"
 
 #. type: Plain text
-#: build/C/man3/getline.3:173
-msgid ""
-"B<read>(2), B<fgets>(3), B<fopen>(3), B<fread>(3), B<gets>(3), B<scanf>(3)"
-msgstr ""
-"B<read>(2), B<fgets>(3), B<fopen>(3), B<fread>(3), B<gets>(3), B<scanf>(3)"
+#: build/C/man3/getline.3:179
+msgid "B<read>(2), B<fgets>(3), B<fopen>(3), B<fread>(3), B<scanf>(3)"
+msgstr "B<read>(2), B<fgets>(3), B<fopen>(3), B<fread>(3), B<scanf>(3)"
 
 #. type: TH
 
 #. type: TH
-#: build/C/man3/gets.3:25
+#: build/C/man3/gets.3:29
 #, no-wrap
 msgid "GETS"
 msgstr "GETS"
 
 #. type: TH
 #, no-wrap
 msgid "GETS"
 msgstr "GETS"
 
 #. type: TH
-#: build/C/man3/gets.3:25
-#, no-wrap
-msgid "2012-01-18"
-msgstr "2012-01-18"
-
-#. type: Plain text
-#: build/C/man3/gets.3:28
-msgid ""
-"fgetc, fgets, getc, getchar, gets, ungetc - input of characters and strings"
-msgstr "fgetc, fgets, getc, getchar, gets, ungetc - 文字と文字列の入力"
-
-#. type: Plain text
-#: build/C/man3/gets.3:33
+#: build/C/man3/gets.3:29
 #, no-wrap
 #, no-wrap
-msgid "B<int fgetc(FILE *>I<stream>B<);>\n"
-msgstr "B<int fgetc(FILE *>I<stream>B<);>\n"
+msgid "2014-01-24"
+msgstr "2014-01-24"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/gets.3:35
-#, no-wrap
-msgid "B<char *fgets(char *>I<s>B<, int >I<size>B<, FILE *>I<stream>B<);>\n"
-msgstr "B<char *fgets(char *>I<s>B<, int >I<size>B<, FILE *>I<stream>B<);>\n"
+#: build/C/man3/gets.3:32
+msgid "gets - get a string from standard input (DEPRECATED)"
+msgstr "gets - 標準入力からの文字列を取得する (非推奨)"
 
 #. type: Plain text
 #: build/C/man3/gets.3:37
 #, no-wrap
 
 #. type: Plain text
 #: build/C/man3/gets.3:37
 #, no-wrap
-msgid "B<int getc(FILE *>I<stream>B<);>\n"
-msgstr "B<int getc(FILE *>I<stream>B<);>\n"
-
-#. type: Plain text
-#: build/C/man3/gets.3:39
-#, no-wrap
-msgid "B<int getchar(void);>\n"
-msgstr "B<int getchar(void);>\n"
-
-#. type: Plain text
-#: build/C/man3/gets.3:41
-#, no-wrap
 msgid "B<char *gets(char *>I<s>B<);>\n"
 msgstr "B<char *gets(char *>I<s>B<);>\n"
 
 #. type: Plain text
 msgid "B<char *gets(char *>I<s>B<);>\n"
 msgstr "B<char *gets(char *>I<s>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/gets.3:43
-#, no-wrap
-msgid "B<int ungetc(int >I<c>B<, FILE *>I<stream>B<);>\n"
-msgstr "B<int ungetc(int >I<c>B<, FILE *>I<stream>B<);>\n"
-
-#. type: Plain text
-#: build/C/man3/gets.3:55
-msgid ""
-"B<fgetc>()  reads the next character from I<stream> and returns it as an "
-"I<unsigned char> cast to an I<int>, or B<EOF> on end of file or error."
-msgstr ""
-"B<fgetc>()  は、 I<stream> から次の文字を I<unsigned char> として読み、 "
-"I<int> にキャストして返す。ファイルの終わりやエラーとなった場合は B<EOF> を返"
-"す。"
-
-#. type: Plain text
-#: build/C/man3/gets.3:62
-msgid ""
-"B<getc>()  is equivalent to B<fgetc>()  except that it may be implemented as "
-"a macro which evaluates I<stream> more than once."
-msgstr ""
-"B<getc>()  は B<fgetc>()  と同様だが、 I<stream> を複数回評価するマクロとして"
-"実装されているかもしれない。"
-
-#. type: Plain text
-#: build/C/man3/gets.3:66
-msgid "B<getchar>()  is equivalent to B<getc(>I<stdin>B<)>."
-msgstr "B<getchar>()  は B<getc(>I<stdin>B<)> と同じである。"
+#: build/C/man3/gets.3:40
+msgid "I<Never use this function>."
+msgstr "I<この関数は使用しないこと>。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/gets.3:76
+#: build/C/man3/gets.3:50
 msgid ""
 "B<gets>()  reads a line from I<stdin> into the buffer pointed to by I<s> "
 "until either a terminating newline or B<EOF>, which it replaces with a null "
 msgid ""
 "B<gets>()  reads a line from I<stdin> into the buffer pointed to by I<s> "
 "until either a terminating newline or B<EOF>, which it replaces with a null "
@@ -4560,175 +4832,122 @@ msgid ""
 "below)."
 msgstr ""
 "B<gets>()  は、改行文字か B<EOF> までの 1行を I<stdin> から読み込み I<s> が指"
 "below)."
 msgstr ""
 "B<gets>()  は、改行文字か B<EOF> までの 1行を I<stdin> から読み込み I<s> が指"
-"すバッファに格納する (末尾の改行文字や B<EOF> は NULL バイト (\\(aq"
-"\\e0\\(aq) に置き換えられる)。 バッファオーバーランのチェックは行われない (下"
-"記の「バグ」を参照)。"
+"すバッファに格納する (末尾の改行文字や B<EOF> はヌルバイト (\\(aq\\e0\\(aq) "
+"に置き換えられる)。 バッファオーバーランのチェックは行われない (下記の「バ"
+"グ」を参照)。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/gets.3:90
+#: build/C/man3/gets.3:58
 msgid ""
 msgid ""
-"B<fgets>()  reads in at most one less than I<size> characters from I<stream> "
-"and stores them into the buffer pointed to by I<s>.  Reading stops after an "
-"B<EOF> or a newline.  If a newline is read, it is stored into the buffer.  A "
-"terminating null byte (\\(aq\\e0\\(aq)  is stored after the last character "
-"in the buffer."
+"B<gets>()  returns I<s> on success, and NULL on error or when end of file "
+"occurs while no characters have been read.  However, given the lack of "
+"buffer overrun checking, there can be no guarantees that the function will "
+"even return."
 msgstr ""
 msgstr ""
-"B<fgets>()  は I<stream> から最大で I<size> - 1 個の文字を読み込み、 I<s> が"
-"指すバッファに格納する。読み込みは B<EOF> または改行文字を読み込んだ後で停止"
-"する。 読み込まれた改行文字はバッファに格納される。 終端の NULL バイト (\\(aq"
-"\\e0\\(aq)  が一つバッファの中の最後の文字の後に書き込まれる。"
+"B<gets>() は、成功すると I<s> を返し、エラーや 1 文字も読み込んでいないのに"
+"ファイルの終わりになった 場合に NULL を返す。 しかし、バッファの行き過ぎの"
+"チェックが行われないため、この関数が返るという保証はない。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/gets.3:101
+#: build/C/man3/gets.3:72
 msgid ""
 msgid ""
-"B<ungetc>()  pushes I<c> back to I<stream>, cast to I<unsigned char>, where "
-"it is available for subsequent read operations.  Pushed-back characters will "
-"be returned in reverse order; only one pushback is guaranteed."
+"LSB deprecates B<gets>().  POSIX.1-2008 marks B<gets>()  obsolescent.  ISO "
+"C11 removes the specification of B<gets>()  from the C language, and since "
+"version 2.16, glibc header files don't expose the function declaration if "
+"the B<_ISOC11_SOURCE> feature test macro is defined."
 msgstr ""
 msgstr ""
-"B<ungetc>()  は、後の read 操作で読めるように、 I<c> を I<unsigned char> に"
-"キャストして I<stream> に書き戻す。 書き戻された文字は逆順に戻される; 書き戻"
-"しとして保証されているのは、一文字だけである。"
+"LSB は B<gets>() を非推奨としている。\n"
+"POSIX.1-2008 では B<gets>() に廃止予定の印が付けられている。\n"
+"ISO C11 では B<gets>)() の規定が C 言語から削除されている。\n"
+"glibc バージョン 2.16 以降では、機能検査マクロ B<_ISOC11_SOURCE> が定義され"
+"た\n"
+"場合、glibc ヘッダファイルでは B<gets>)() の宣言が公開されない。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/gets.3:106
+#: build/C/man3/gets.3:86
 msgid ""
 msgid ""
-"Calls to the functions described here can be mixed with each other and with "
-"calls to other input functions from the I<stdio> library for the same input "
-"stream."
+"Never use B<gets>().  Because it is impossible to tell without knowing the "
+"data in advance how many characters B<gets>()  will read, and because "
+"B<gets>()  will continue to store characters past the end of the buffer, it "
+"is extremely dangerous to use.  It has been used to break computer "
+"security.  Use B<fgets>()  instead."
 msgstr ""
 msgstr ""
-"ここで述べた関数や I<stdio> ライブラリの入力関数を同じ入力ストリームに対して"
-"互いに混ぜて使うことができる。"
+"B<gets>()  は絶対に使用してはならない。 前もってデータを知ることなしに "
+"B<gets>()  が何文字読むかを知ることはできず、 B<gets>()  がバッファの終わりを"
+"越えて書き込み続けるため、 B<gets>()  を使うのは極めて危険である。 これを利用"
+"してコンピュータのセキュリティが破られてきた。 代わりに B<fgets>()  を使うこ"
+"と。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/gets.3:121
+#: build/C/man3/gets.3:90
 msgid ""
 msgid ""
-"B<fgetc>(), B<getc>()  and B<getchar>()  return the character read as an "
-"I<unsigned char> cast to an I<int> or B<EOF> on end of file or error."
+"For more information, see CWE-242 (aka \"Use of Inherently Dangerous Function"
+"\") at http://cwe.mitre.org/data/definitions/242.html"
 msgstr ""
 msgstr ""
-"B<fgetc>(), B<getc>(), B<getchar>()  は、文字を I<unsigned char> として読ん"
-"で I<int> にキャストして返す。ファイルの終わりやエラーの場合は B<EOF> を返"
-"。"
+"詳しい情報については、CWE-242 (別名 \"Use of Inherently Dangerous Function"
+"\" (「本質的に危険な関数を使う」)) を参照。 http://cwe.mitre.org/data/"
+"definitions/242.html で参照できる。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/gets.3:129
+#: build/C/man3/gets.3:108
 msgid ""
 msgid ""
-"B<gets>()  and B<fgets>()  return I<s> on success, and NULL on error or when "
-"end of file occurs while no characters have been read."
+"B<read>(2), B<write>(2), B<ferror>(3), B<fgetc>(3), B<fgets>(3), "
+"B<fgetwc>(3), B<fgetws>(3), B<fopen>(3), B<fread>(3), B<fseek>(3), "
+"B<getline>(3), B<getwchar>(3), B<puts>(3), B<scanf>(3), B<ungetwc>(3), "
+"B<unlocked_stdio>(3), B<feature_test_macros>(7)"
 msgstr ""
 msgstr ""
-"B<gets>()  と B<fgets>()  は、成功すると I<s> を返し、エラーや 1 文字も読み込"
-"んでいないのにファイルの終わりになった 場合に NULL を返す。"
-
-#. type: Plain text
-#: build/C/man3/gets.3:136
-msgid "B<ungetc>()  returns I<c> on success, or B<EOF> on error."
-msgstr "B<ungetc>()  は成功すると I<c> を返し、エラーの場合は B<EOF> を返す。"
-
-#. type: Plain text
-#: build/C/man3/gets.3:138
-msgid "C89, C99, POSIX.1-2001."
-msgstr "C89, C99, POSIX.1-2001."
-
-#. type: Plain text
-#: build/C/man3/gets.3:150
-msgid ""
-"LSB deprecates B<gets>().  POSIX.1-2008 marks B<gets>()  obsolescent.  ISO "
-"C11 removes the specification of B<gets>()  from the C language, and since "
-"version 2.16, glibc header files don't expose the function declaration if "
-"the B<_ISOC11_SOURCE> feature test macro is defined."
-msgstr ""
-"LSB は B<gets>() を非推奨としている。\n"
-"POSIX.1-2008 では B<gets>() に廃止予定の印が付けられている。\n"
-"ISO C11 では B<gets>)() の規定が C 言語から削除されている。\n"
-"glibc バージョン 2.16 以降では、機能検査マシン B<_ISOC11_SOURCE> が定義され"
-"た\n"
-"場合、glibc ヘッダファイルでは B<gets>)() の宣言が公開されない。"
-
-#. type: Plain text
-#: build/C/man3/gets.3:164
-msgid ""
-"Never use B<gets>().  Because it is impossible to tell without knowing the "
-"data in advance how many characters B<gets>()  will read, and because B<gets>"
-"()  will continue to store characters past the end of the buffer, it is "
-"extremely dangerous to use.  It has been used to break computer security.  "
-"Use B<fgets>()  instead."
-msgstr ""
-"B<gets>()  は絶対に使用してはならない。 前もってデータを知ることなしに "
-"B<gets>()  が何文字読むかを知ることはできず、 B<gets>()  がバッファの終わりを"
-"越えて書き込み続けるため、 B<gets>()  を使うのは極めて危険である。 これを利用"
-"してコンピュータのセキュリティが破られてきた。 代わりに B<fgets>()  を使うこ"
-"と。"
-
-#. type: Plain text
-#: build/C/man3/gets.3:171
-msgid ""
-"It is not advisable to mix calls to input functions from the I<stdio> "
-"library with low-level calls to B<read>(2)  for the file descriptor "
-"associated with the input stream; the results will be undefined and very "
-"probably not what you want."
-msgstr ""
-"入力ストリームのファイルディスクリプタに対して、 I<stdio> ライブラリの入力関"
-"数と、低レベル呼び出しの B<read>(2)  を混ぜて呼び出す事は勧められない。 結果"
-"がどうなるかは分からず、おそらくあなたの 望んでいる結果にはならないだろう。"
-
-#. type: Plain text
-#: build/C/man3/gets.3:187
-msgid ""
-"B<read>(2), B<write>(2), B<ferror>(3), B<fgetwc>(3), B<fgetws>(3), B<fopen>"
-"(3), B<fread>(3), B<fseek>(3), B<getline>(3), B<getwchar>(3), B<puts>(3), "
-"B<scanf>(3), B<ungetwc>(3), B<unlocked_stdio>(3), B<feature_test_macros>(7)"
-msgstr ""
-"B<read>(2), B<write>(2), B<ferror>(3), B<fgetwc>(3), B<fgetws>(3),\n"
-"B<fopen>(3), B<fread>(3), B<fseek>(3), B<getline>(3), B<getwchar>(3),\n"
-"B<puts>(3), B<scanf>(3), B<ungetwc>(3), B<unlocked_stdio>(3),\n"
-"B<feature_test_macros>(7)"
+"B<read>(2), B<write>(2), B<ferror>(3), B<fgetc>(3), B<fgets>(3), "
+"B<fgetwc>(3), B<fgetws>(3), B<fopen>(3), B<fread>(3), B<fseek>(3), "
+"B<getline>(3), B<getwchar>(3), B<puts>(3), B<scanf>(3), B<ungetwc>(3), "
+"B<unlocked_stdio>(3), B<feature_test_macros>(7)"
 
 #. type: TH
 
 #. type: TH
-#: build/C/man3/getw.3:23
+#: build/C/man3/getw.3:25
 #, no-wrap
 msgid "GETW"
 msgstr "GETW"
 
 #. type: TH
 #, no-wrap
 msgid "GETW"
 msgstr "GETW"
 
 #. type: TH
-#: build/C/man3/getw.3:23
+#: build/C/man3/getw.3:25
 #, no-wrap
 msgid "2010-09-26"
 msgstr "2010-09-26"
 
 #. type: Plain text
 #, no-wrap
 msgid "2010-09-26"
 msgstr "2010-09-26"
 
 #. type: Plain text
-#: build/C/man3/getw.3:26
+#: build/C/man3/getw.3:28
 msgid "getw, putw - input and output of words (ints)"
 msgstr "getw, putw - ワード(int)の入出力"
 
 #. type: Plain text
 msgid "getw, putw - input and output of words (ints)"
 msgstr "getw, putw - ワード(int)の入出力"
 
 #. type: Plain text
-#: build/C/man3/getw.3:31
+#: build/C/man3/getw.3:33
 #, no-wrap
 msgid "B<int getw(FILE *>I<stream>B<);>\n"
 msgstr "B<int getw(FILE *>I<stream>B<);>\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<int getw(FILE *>I<stream>B<);>\n"
 msgstr "B<int getw(FILE *>I<stream>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/getw.3:33
+#: build/C/man3/getw.3:35
 #, no-wrap
 msgid "B<int putw(int >I<w>B<, FILE *>I<stream>B<);>\n"
 msgstr "B<int putw(int >I<w>B<, FILE *>I<stream>B<);>\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<int putw(int >I<w>B<, FILE *>I<stream>B<);>\n"
 msgstr "B<int putw(int >I<w>B<, FILE *>I<stream>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/getw.3:42
+#: build/C/man3/getw.3:44
 msgid "B<getw>(), B<putw>():"
 msgstr "B<getw>(), B<putw>():"
 
 #. type: TP
 msgid "B<getw>(), B<putw>():"
 msgstr "B<getw>(), B<putw>():"
 
 #. type: TP
-#: build/C/man3/getw.3:45
+#: build/C/man3/getw.3:47
 #, no-wrap
 msgid "Since glibc 2.3.3:"
 msgstr "glibc 2.3.3 以降:"
 
 #. type: Plain text
 #, no-wrap
 msgid "Since glibc 2.3.3:"
 msgstr "glibc 2.3.3 以降:"
 
 #. type: Plain text
-#: build/C/man3/getw.3:48
+#: build/C/man3/getw.3:50
 msgid "_SVID_SOURCE || _BSD_SOURCE ||"
 msgstr "_SVID_SOURCE || _BSD_SOURCE ||"
 
 #. type: Plain text
 msgid "_SVID_SOURCE || _BSD_SOURCE ||"
 msgstr "_SVID_SOURCE || _BSD_SOURCE ||"
 
 #. type: Plain text
-#: build/C/man3/getw.3:51
+#: build/C/man3/getw.3:53
 #, no-wrap
 msgid ""
 "(_XOPEN_SOURCE &&\n"
 #, no-wrap
 msgid ""
 "(_XOPEN_SOURCE &&\n"
@@ -4738,18 +4957,18 @@ msgstr ""
 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600))\n"
 
 #. type: TP
 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600))\n"
 
 #. type: TP
-#: build/C/man3/getw.3:51
+#: build/C/man3/getw.3:53
 #, no-wrap
 msgid "Before glibc 2.3.3:"
 msgstr "glibc 2.3.3 より前:"
 
 #. type: Plain text
 #, no-wrap
 msgid "Before glibc 2.3.3:"
 msgstr "glibc 2.3.3 より前:"
 
 #. type: Plain text
-#: build/C/man3/getw.3:54
+#: build/C/man3/getw.3:56
 msgid "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE"
 msgstr "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE"
 
 #. type: Plain text
 msgid "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE"
 msgstr "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE"
 
 #. type: Plain text
-#: build/C/man3/getw.3:64
+#: build/C/man3/getw.3:66
 msgid ""
 "B<getw>()  reads a word (that is, an I<int>) from I<stream>.  It's provided "
 "for compatibility with SVr4.  We recommend you use B<fread>(3)  instead."
 msgid ""
 "B<getw>()  reads a word (that is, an I<int>) from I<stream>.  It's provided "
 "for compatibility with SVr4.  We recommend you use B<fread>(3)  instead."
@@ -4759,7 +4978,7 @@ msgstr ""
 "ことを勧める。"
 
 #. type: Plain text
 "ことを勧める。"
 
 #. type: Plain text
-#: build/C/man3/getw.3:71
+#: build/C/man3/getw.3:73
 msgid ""
 "B<putw>()  writes the word I<w> (that is, an I<int>) to I<stream>.  It is "
 "provided for compatibility with SVr4, but we recommend you use B<fwrite>(3)  "
 msgid ""
 "B<putw>()  writes the word I<w> (that is, an I<int>) to I<stream>.  It is "
 "provided for compatibility with SVr4, but we recommend you use B<fwrite>(3)  "
@@ -4770,7 +4989,7 @@ msgstr ""
 "使用することを勧める。"
 
 #. type: Plain text
 "使用することを勧める。"
 
 #. type: Plain text
-#: build/C/man3/getw.3:78
+#: build/C/man3/getw.3:80
 msgid ""
 "Normally, B<getw>()  returns the word read, and B<putw>()  returns 0.  On "
 "error, they return B<EOF>."
 msgid ""
 "Normally, B<getw>()  returns the word read, and B<putw>()  returns 0.  On "
 "error, they return B<EOF>."
@@ -4779,55 +4998,89 @@ msgstr ""
 "が発生した場合、これらの関数は B<EOF> を返す。"
 
 #. type: Plain text
 "が発生した場合、これらの関数は B<EOF> を返す。"
 
 #. type: Plain text
-#: build/C/man3/getw.3:80
+#: build/C/man3/getw.3:83
 msgid "SVr4, SUSv2.  Not present in POSIX.1-2001."
 msgstr "SVr4, SUSv2.  POSIX.1-2001 には存在しない。"
 
 #. type: Plain text
 msgid "SVr4, SUSv2.  Not present in POSIX.1-2001."
 msgstr "SVr4, SUSv2.  POSIX.1-2001 には存在しない。"
 
 #. type: Plain text
-#: build/C/man3/getw.3:84
+#: build/C/man3/getw.3:87
 msgid ""
 "The value returned on error is also a legitimate data value.  B<ferror>(3)  "
 "can be used to distinguish between the two cases."
 msgstr ""
 msgid ""
 "The value returned on error is also a legitimate data value.  B<ferror>(3)  "
 "can be used to distinguish between the two cases."
 msgstr ""
-"エラーの時に返される値は、正しいデータとして返されることもある。 B<ferror>"
-"(3)  を用いると、この二つの場合を区別することが出来る。"
+"エラーの時に返される値は、正しいデータとして返されることもある。 "
+"B<ferror>(3)  を用いると、この二つの場合を区別することが出来る。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/getw.3:90
+#: build/C/man3/getw.3:93
 msgid "B<ferror>(3), B<fread>(3), B<fwrite>(3), B<getc>(3), B<putc>(3)"
 msgstr "B<ferror>(3), B<fread>(3), B<fwrite>(3), B<getc>(3), B<putc>(3)"
 
 #. type: TH
 msgid "B<ferror>(3), B<fread>(3), B<fwrite>(3), B<getc>(3), B<putc>(3)"
 msgstr "B<ferror>(3), B<fread>(3), B<fwrite>(3), B<getc>(3), B<putc>(3)"
 
 #. type: TH
-#: build/C/man2/link.2:31
+#: build/C/man2/link.2:32
 #, no-wrap
 msgid "LINK"
 msgstr "LINK"
 
 #. type: TH
 #, no-wrap
 msgid "LINK"
 msgstr "LINK"
 
 #. type: TH
-#: build/C/man2/link.2:31
+#: build/C/man2/link.2:32 build/C/man2/open.2:51 build/C/man2/readlink.2:44
 #, no-wrap
 #, no-wrap
-msgid "2008-08-21"
-msgstr "2008-08-21"
+msgid "2014-05-10"
+msgstr "2014-05-10"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/link.2:34
-msgid "link - make a new name for a file"
-msgstr "link - ファイルの新しい名前を作成する"
+#: build/C/man2/link.2:35
+msgid "link, linkat - make a new name for a file"
+msgstr "link, linkat - ファイルの新しい名前を作成する"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/link.2:36 build/C/man2/lseek.2:52 build/C/man3/lseek64.3:32
-#: build/C/man2/readlink.2:46 build/C/man2/rmdir.2:35
-#: build/C/man2/symlink.2:37 build/C/man2/unlink.2:37 build/C/man2/write.2:44
-msgid "B<#include E<lt>unistd.hE<gt>>"
-msgstr "B<#include E<lt>unistd.hE<gt>>"
+#: build/C/man2/link.2:38 build/C/man2/pipe.2:42 build/C/man2/read.2:41
+#: build/C/man2/readlink.2:50 build/C/man2/symlink.2:39
+#: build/C/man2/unlink.2:39
+#, no-wrap
+msgid "B<#include E<lt>unistd.hE<gt>>\n"
+msgstr "B<#include E<lt>unistd.hE<gt>>\n"
+
+#. type: Plain text
+#: build/C/man2/link.2:40
+#, no-wrap
+msgid "B<int link(const char *>I<oldpath>B<, const char *>I<newpath>B<);>\n"
+msgstr "B<int link(const char *>I<oldpath>B<, const char *>I<newpath>B<);>\n"
+
+#. type: Plain text
+#: build/C/man2/link.2:43 build/C/man2/readlink.2:56 build/C/man2/symlink.2:44
+#: build/C/man2/unlink.2:44
+#, no-wrap
+msgid ""
+"B<#include E<lt>fcntl.hE<gt>           >/* Definition of AT_* constants */\n"
+"B<#include E<lt>unistd.hE<gt>>\n"
+msgstr ""
+"B<#include E<lt>fcntl.hE<gt>           >/* AT_* 定数の定義 */\n"
+"B<#include E<lt>unistd.hE<gt>>\n"
+
+#. type: Plain text
+#: build/C/man2/link.2:46
+#, no-wrap
+msgid ""
+"B<int linkat(int >I<olddirfd>B<, const char *>I<oldpath>B<,>\n"
+"B<           int >I<newdirfd>B<, const char *>I<newpath>B<, int >I<flags>B<);>\n"
+msgstr ""
+"B<int linkat(int >I<olddirfd>B<, const char *>I<oldpath>B<,>\n"
+"B<           int >I<newdirfd>B<, const char *>I<newpath>B<, int >I<flags>B<);>\n"
+
+#. type: Plain text
+#: build/C/man2/link.2:54
+msgid "B<linkat>():"
+msgstr "B<linkat>():"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/link.2:38
-msgid "B<int link(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
-msgstr "B<int link(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
+#: build/C/man2/link.2:63 build/C/man2/open.2:85 build/C/man2/readlink.2:83
+#: build/C/man2/rename.2:69 build/C/man2/symlink.2:71 build/C/man2/unlink.2:63
+msgid "_ATFILE_SOURCE"
+msgstr "_ATFILE_SOURCE"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/link.2:41
+#: build/C/man2/link.2:69
 msgid ""
 "B<link>()  creates a new link (also known as a hard link) to an existing "
 "file."
 msgid ""
 "B<link>()  creates a new link (also known as a hard link) to an existing "
 "file."
@@ -4836,12 +5089,12 @@ msgstr ""
 "link) ともいう) を作成する。"
 
 #. type: Plain text
 "link) ともいう) を作成する。"
 
 #. type: Plain text
-#: build/C/man2/link.2:47 build/C/man2/symlink.2:84
-msgid "If I<newpath> exists it will I<not> be overwritten."
-msgstr "I<newpath> が存在する場合には上書きはI<されない>。"
+#: build/C/man2/link.2:75
+msgid "If I<newpath> exists, it will I<not> be overwritten."
+msgstr "I<newpath> が存在する場合には上書きはI<されない>。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/link.2:52
+#: build/C/man2/link.2:80
 msgid ""
 "This new name may be used exactly as the old one for any operation; both "
 "names refer to the same file (and so have the same permissions and "
 msgid ""
 "This new name may be used exactly as the old one for any operation; both "
 "names refer to the same file (and so have the same permissions and "
@@ -4851,10 +5104,160 @@ msgstr ""
 "の名前は同じファイルを参照しており (それで同じ許可 (permission) や所有者 "
 "(ownership) となるので)、 どちらの名前が本来のものであるか判別できない。"
 
 "の名前は同じファイルを参照しており (それで同じ許可 (permission) や所有者 "
 "(ownership) となるので)、 どちらの名前が本来のものであるか判別できない。"
 
+#. type: SS
+#: build/C/man2/link.2:80
+#, no-wrap
+msgid "linkat()"
+msgstr "linkat()"
+
+#. type: Plain text
+#: build/C/man2/link.2:86
+msgid ""
+"The B<linkat>()  system call operates in exactly the same way as B<link>(), "
+"except for the differences described here."
+msgstr ""
+"B<linkat>() システムコールは B<link>() と全く同様に動作するが、以下で説明する"
+"点が異なる。"
+
+#. type: Plain text
+#: build/C/man2/link.2:96
+msgid ""
+"If the pathname given in I<oldpath> is relative, then it is interpreted "
+"relative to the directory referred to by the file descriptor I<olddirfd> "
+"(rather than relative to the current working directory of the calling "
+"process, as is done by B<link>()  for a relative pathname)."
+msgstr ""
+"I<oldpath> で指定されたパス名が相対パスの場合、このパス名はファイルディスクリ"
+"プター I<olddirfd> が参照するディレクトリに対する相対パスと解釈される "
+"(B<link>(2) に相対パス名を渡した場合のように、呼び出したプロセスのカレント"
+"ワーキングディレクトリに対する相対パスではない)。"
+
+#. type: Plain text
+#: build/C/man2/link.2:108
+msgid ""
+"If I<oldpath> is relative and I<olddirfd> is the special value B<AT_FDCWD>, "
+"then I<oldpath> is interpreted relative to the current working directory of "
+"the calling process (like B<link>())."
+msgstr ""
+"I<oldpath> で指定されたパス名が相対パスで、 I<olddirfd> が特別な値 "
+"B<AT_FDCWD> の場合、 (B<link>(2) と同様に) I<oldpath> は呼び出したプロセスの"
+"カレントワーキングディレクトリに対する相対パスと解釈される。"
+
+#. type: Plain text
+#: build/C/man2/link.2:114 build/C/man2/rename.2:158
+msgid "If I<oldpath> is absolute, then I<olddirfd> is ignored."
+msgstr ""
+"I<oldpath> で指定されたパス名が絶対パスの場合、 I<olddirfd> は無視される。"
+
+#. type: Plain text
+#: build/C/man2/link.2:122 build/C/man2/rename.2:166
+msgid ""
+"The interpretation of I<newpath> is as for I<oldpath>, except that a "
+"relative pathname is interpreted relative to the directory referred to by "
+"the file descriptor I<newdirfd>."
+msgstr ""
+"I<newpath> の解釈は I<oldpath> と同じである。 相対パスのパス名がファイルディ"
+"スクリプター I<newdirfd> が参照するディレクトリと解釈される点だけが異なる。"
+
+#. type: Plain text
+#: build/C/man2/link.2:125
+msgid "The following values can be bitwise ORed in I<flags>:"
+msgstr "以下の値のビット単位の論理和を I<flags> に指定できる。"
+
+#. type: TP
+#: build/C/man2/link.2:125
+#, no-wrap
+msgid "B<AT_EMPTY_PATH> (since Linux 2.6.39)"
+msgstr "B<AT_EMPTY_PATH> (Linux 2.6.39 以降)"
+
+#.  commit 11a7b371b64ef39fc5fb1b6f2218eef7c4d035e3
+#.  Before glibc 2.16, defining _ATFILE_SOURCE sufficed
+#. type: Plain text
+#: build/C/man2/link.2:152
+#, fuzzy
+#| msgid ""
+#| "If I<oldpath> is an empty string, create a link to the file referenced by "
+#| "I<olddirfd> (which may have been obtained using the B<open>(2)  B<O_PATH> "
+#| "flag).  In this case, I<olddirfd> must refer to a file other than a "
+#| "directory.  The caller must have the B<CAP_DAC_READ_SEARCH> capability in "
+#| "order to use this flag; this prevents arbitrary users from creating hard "
+#| "links using file descriptors received via a UNIX domain socket (see the "
+#| "discussion of B<SCM_RIGHTS> in B<unix>(7)).  This flag is Linux-specific; "
+#| "define B<_GNU_SOURCE> to obtain its definition."
+msgid ""
+"If I<oldpath> is an empty string, create a link to the file referenced by "
+"I<olddirfd> (which may have been obtained using the B<open>(2)  B<O_PATH> "
+"flag).  In this case, I<olddirfd> can refer to any type of file, not just a "
+"directory.  This will generally not work if the file has a link count of "
+"zero (files created with B<O_TMPFILE> and without B<O_EXCL> are an "
+"exception).  The caller must have the B<CAP_DAC_READ_SEARCH> capability in "
+"order to use this flag.  This flag is Linux-specific; define B<_GNU_SOURCE> "
+"to obtain its definition."
+msgstr ""
+"I<oldpath> が空文字列の場合、 I<olddirfd> が参照するファイルへのリンクを作成"
+"する (I<olddirfd> は B<open>(2) の B<O_PATH> フラグを使って取得する)。 この場"
+"合、 I<olddirfd> はディレクトリではなくファイルを参照していなければならな"
+"い。 このフラグを使用するためには、 呼び出し元は B<CAP_DAC_READ_SEARCH> ケー"
+"パビリティを持っていなければならない。 これにより、 任意のユーザーが UNIX ド"
+"メインソケット経由で受信したファイルディスクリプターを使ってハードリンクを作"
+"成することがないようになっている (B<unix>(7) の B<SCM_RIGHTS> の議論を参"
+"照)。 このフラグは Linux 固有で、 この定義を得るには B<_GNU_SOURCE> を定義す"
+"ること。"
+
+#. type: TP
+#: build/C/man2/link.2:152
+#, no-wrap
+msgid "B<AT_SYMLINK_FOLLOW> (since Linux 2.6.18)"
+msgstr "B<AT_SYMLINK_FOLLOW> (Linux 2.6.18 以降)"
+
+#. type: Plain text
+#: build/C/man2/link.2:171
+#, fuzzy
+#| msgid ""
+#| "By default, B<linkat>(), does not dereference I<oldpath> if it is a "
+#| "symbolic link (like B<link>()).  The flag B<AT_SYMLINK_FOLLOW> can be "
+#| "specified in I<flags> to cause I<oldpath> to be dereferenced if it is a "
+#| "symbolic link."
+msgid ""
+"By default, B<linkat>(), does not dereference I<oldpath> if it is a symbolic "
+"link (like B<link>()).  The flag B<AT_SYMLINK_FOLLOW> can be specified in "
+"I<flags> to cause I<oldpath> to be dereferenced if it is a symbolic link.  "
+"If procfs is mounted, this can be used as an alternative to "
+"B<AT_EMPTY_PATH>, like this:"
+msgstr ""
+"B<linkat>() は (B<link>() 同様) デフォルトでは I<oldpath> がシンボリックリン"
+"クの場合リンクの展開を行わない。 フラグ B<AT_SYMLINK_FOLLOW> を I<flags> に指"
+"定することができ、指定した場合 I<oldpath> がシンボリックリンクの場合リンクの"
+"展開が行われる。"
+
+#. type: Plain text
+#: build/C/man2/link.2:176
+#, no-wrap
+msgid ""
+"linkat(AT_FDCWD, \"/proc/self/fd/E<lt>fdE<gt>\", newdirfd,\n"
+"       newname, AT_SYMLINK_FOLLOW);\n"
+msgstr ""
+"linkat(AT_FDCWD, \"/proc/self/fd/E<lt>fdE<gt>\", newdirfd,\n"
+"       newname, AT_SYMLINK_FOLLOW);\n"
+
+#. type: Plain text
+#: build/C/man2/link.2:182
+msgid ""
+"Before kernel 2.6.18, the I<flags> argument was unused, and had to be "
+"specified as 0."
+msgstr ""
+"カーネル 2.6.18 より前では、 I<flags> 引き数は未使用で、 0 を指定しなければな"
+"らなかった。"
+
+#. type: Plain text
+#: build/C/man2/link.2:187
+msgid "See B<openat>(2)  for an explanation of the need for B<linkat>()."
+msgstr "B<linkat>() の必要性についての説明については B<openat>(2) を参照。"
+
 #. type: Plain text
 #. type: Plain text
-#: build/C/man2/link.2:57 build/C/man2/pipe.2:97 build/C/man3/remove.3:65
-#: build/C/man2/rename.2:96 build/C/man2/rmdir.2:45 build/C/man2/symlink.2:89
-#: build/C/man2/unlink.2:60
+#: build/C/man2/link.2:192 build/C/man2/pipe.2:134 build/C/man3/remove.3:65
+#: build/C/man2/rename.2:208 build/C/man2/rmdir.2:45
+#: build/C/man2/symlink.2:145 build/C/man2/unlink.2:158
 msgid ""
 "On success, zero is returned.  On error, -1 is returned, and I<errno> is set "
 "appropriately."
 msgid ""
 "On success, zero is returned.  On error, -1 is returned, and I<errno> is set "
 "appropriately."
@@ -4863,15 +5266,16 @@ msgstr ""
 "定される。"
 
 #. type: TP
 "定される。"
 
 #. type: TP
-#: build/C/man2/link.2:58 build/C/man2/open.2:473 build/C/man2/readlink.2:84
-#: build/C/man2/rename.2:97 build/C/man2/rmdir.2:46 build/C/man2/symlink.2:90
-#: build/C/man3/tmpfile.3:53 build/C/man2/unlink.2:61
+#: build/C/man2/link.2:193 build/C/man2/open.2:796 build/C/man2/readlink.2:160
+#: build/C/man2/rename.2:209 build/C/man2/rmdir.2:46
+#: build/C/man2/symlink.2:146 build/C/man3/tmpfile.3:57
+#: build/C/man2/unlink.2:159
 #, no-wrap
 msgid "B<EACCES>"
 msgstr "B<EACCES>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<EACCES>"
 msgstr "B<EACCES>"
 
 #. type: Plain text
-#: build/C/man2/link.2:69
+#: build/C/man2/link.2:204
 msgid ""
 "Write access to the directory containing I<newpath> is denied, or search "
 "permission is denied for one of the directories in the path prefix of "
 msgid ""
 "Write access to the directory containing I<newpath> is denied, or search "
 "permission is denied for one of the directories in the path prefix of "
@@ -4882,57 +5286,72 @@ msgstr ""
 "(B<path_resolution>(7)  を参照)。"
 
 #. type: TP
 "(B<path_resolution>(7)  を参照)。"
 
 #. type: TP
-#: build/C/man2/link.2:69 build/C/man2/open.2:482 build/C/man2/symlink.2:99
-#: build/C/man3/tmpfile.3:56
+#: build/C/man2/link.2:204 build/C/man2/open.2:805 build/C/man2/rename.2:245
+#: build/C/man2/symlink.2:155 build/C/man2/write.2:135
+#, no-wrap
+msgid "B<EDQUOT>"
+msgstr "B<EDQUOT>"
+
+#. type: Plain text
+#: build/C/man2/link.2:207 build/C/man2/rename.2:248
+msgid "The user's quota of disk blocks on the filesystem has been exhausted."
+msgstr ""
+"ディスクブロックか inode がそのファイルシステムのユーザクォータに達していた。"
+
+#. type: TP
+#: build/C/man2/link.2:207 build/C/man2/open.2:811 build/C/man2/rename.2:368
+#: build/C/man2/symlink.2:160 build/C/man3/tmpfile.3:60
 #, no-wrap
 msgid "B<EEXIST>"
 msgstr "B<EEXIST>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<EEXIST>"
 msgstr "B<EEXIST>"
 
 #. type: Plain text
-#: build/C/man2/link.2:73 build/C/man2/symlink.2:103
+#: build/C/man2/link.2:211
 msgid "I<newpath> already exists."
 msgstr "I<newpath> が既に存在する。"
 
 #. type: TP
 msgid "I<newpath> already exists."
 msgstr "I<newpath> が既に存在する。"
 
 #. type: TP
-#: build/C/man2/link.2:73 build/C/man2/llseek.2:69 build/C/man2/open.2:488
-#: build/C/man2/pipe.2:98 build/C/man2/read.2:100 build/C/man2/readlink.2:89
-#: build/C/man2/rename.2:133 build/C/man2/rmdir.2:64
-#: build/C/man2/symlink.2:103 build/C/man2/unlink.2:80
-#: build/C/man2/write.2:135 build/C/man2/process_vm_readv.2:249
-#: build/C/man2/process_vm_readv.2:254
+#: build/C/man2/link.2:211 build/C/man2/llseek.2:74 build/C/man2/open.2:817
+#: build/C/man2/open_by_handle_at.2:266 build/C/man2/open_by_handle_at.2:321
+#: build/C/man2/pipe.2:135 build/C/man2/read.2:118 build/C/man2/readlink.2:165
+#: build/C/man2/rename.2:248 build/C/man2/rmdir.2:64
+#: build/C/man2/symlink.2:164 build/C/man2/unlink.2:178
+#: build/C/man2/write.2:141
 #, no-wrap
 msgid "B<EFAULT>"
 msgstr "B<EFAULT>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<EFAULT>"
 msgstr "B<EFAULT>"
 
 #. type: Plain text
-#: build/C/man2/link.2:76 build/C/man2/rename.2:136 build/C/man2/symlink.2:106
+#: build/C/man2/link.2:214 build/C/man2/rename.2:251
 msgid "I<oldpath> or I<newpath> points outside your accessible address space."
 msgstr ""
 "I<oldpath> や I<newpath> がアクセス可能なアドレス空間の外を指している。"
 
 #. type: TP
 msgid "I<oldpath> or I<newpath> points outside your accessible address space."
 msgstr ""
 "I<oldpath> や I<newpath> がアクセス可能なアドレス空間の外を指している。"
 
 #. type: TP
-#: build/C/man2/link.2:76 build/C/man2/read.2:129 build/C/man2/readlink.2:105
-#: build/C/man2/symlink.2:106 build/C/man2/unlink.2:84
-#: build/C/man2/write.2:159
+#: build/C/man2/link.2:214 build/C/man2/read.2:147 build/C/man2/readlink.2:181
+#: build/C/man2/symlink.2:167 build/C/man2/unlink.2:182
+#: build/C/man2/write.2:165
 #, no-wrap
 msgid "B<EIO>"
 msgstr "B<EIO>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<EIO>"
 msgstr "B<EIO>"
 
 #. type: Plain text
-#: build/C/man2/link.2:79 build/C/man2/symlink.2:109 build/C/man2/unlink.2:87
+#: build/C/man2/link.2:217 build/C/man2/symlink.2:170
+#: build/C/man2/unlink.2:185
 msgid "An I/O error occurred."
 msgstr "I/O エラーが発生した。"
 
 #. type: TP
 msgid "An I/O error occurred."
 msgstr "I/O エラーが発生した。"
 
 #. type: TP
-#: build/C/man2/link.2:79 build/C/man2/open.2:512 build/C/man2/readlink.2:108
-#: build/C/man2/rename.2:146 build/C/man2/rmdir.2:73
-#: build/C/man2/symlink.2:109 build/C/man2/unlink.2:92
+#: build/C/man2/link.2:217 build/C/man2/open.2:878 build/C/man2/open.2:882
+#: build/C/man2/open_by_handle_at.2:331 build/C/man2/readlink.2:184
+#: build/C/man2/rename.2:261 build/C/man2/rmdir.2:73
+#: build/C/man2/symlink.2:170 build/C/man2/unlink.2:190
 #, no-wrap
 msgid "B<ELOOP>"
 msgstr "B<ELOOP>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<ELOOP>"
 msgstr "B<ELOOP>"
 
 #. type: Plain text
-#: build/C/man2/link.2:83 build/C/man2/rename.2:150
+#: build/C/man2/link.2:221 build/C/man2/rename.2:265
 msgid ""
 "Too many symbolic links were encountered in resolving I<oldpath> or "
 "I<newpath>."
 msgid ""
 "Too many symbolic links were encountered in resolving I<oldpath> or "
 "I<newpath>."
@@ -4941,13 +5360,13 @@ msgstr ""
 "る。"
 
 #. type: TP
 "る。"
 
 #. type: TP
-#: build/C/man2/link.2:83 build/C/man2/rename.2:150
+#: build/C/man2/link.2:221 build/C/man2/rename.2:265
 #, no-wrap
 msgid "B<EMLINK>"
 msgstr "B<EMLINK>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<EMLINK>"
 msgstr "B<EMLINK>"
 
 #. type: Plain text
-#: build/C/man2/link.2:88
+#: build/C/man2/link.2:226
 msgid ""
 "The file referred to by I<oldpath> already has the maximum number of links "
 "to it."
 msgid ""
 "The file referred to by I<oldpath> already has the maximum number of links "
 "to it."
@@ -4955,28 +5374,31 @@ msgstr ""
 "I<oldpath> によって参照されるファイルは 既に最大数までのリンクを持っている。"
 
 #. type: TP
 "I<oldpath> によって参照されるファイルは 既に最大数までのリンクを持っている。"
 
 #. type: TP
-#: build/C/man2/link.2:88 build/C/man2/open.2:522 build/C/man2/readlink.2:111
-#: build/C/man2/rename.2:157 build/C/man2/rmdir.2:77
-#: build/C/man2/symlink.2:113 build/C/man2/unlink.2:96
+#: build/C/man2/link.2:226 build/C/man2/open.2:894 build/C/man2/readlink.2:187
+#: build/C/man2/rename.2:272 build/C/man2/rmdir.2:77
+#: build/C/man2/symlink.2:174 build/C/man2/unlink.2:194
 #, no-wrap
 msgid "B<ENAMETOOLONG>"
 msgstr "B<ENAMETOOLONG>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<ENAMETOOLONG>"
 msgstr "B<ENAMETOOLONG>"
 
 #. type: Plain text
-#: build/C/man2/link.2:91 build/C/man2/rename.2:160 build/C/man2/symlink.2:116
+#: build/C/man2/link.2:229 build/C/man2/rename.2:275
 msgid "I<oldpath> or I<newpath> was too long."
 msgstr "I<oldpath> または I<newpath> が長過ぎる。"
 
 #. type: TP
 msgid "I<oldpath> or I<newpath> was too long."
 msgstr "I<oldpath> または I<newpath> が長過ぎる。"
 
 #. type: TP
-#: build/C/man2/link.2:91 build/C/man2/open.2:536 build/C/man2/readlink.2:114
-#: build/C/man2/rename.2:160 build/C/man2/rmdir.2:80
-#: build/C/man2/symlink.2:116 build/C/man2/unlink.2:99
+#: build/C/man2/link.2:229 build/C/man2/link.2:286 build/C/man2/link.2:294
+#: build/C/man2/link.2:304 build/C/man2/open.2:908 build/C/man2/open.2:915
+#: build/C/man2/open_by_handle_at.2:282 build/C/man2/readlink.2:190
+#: build/C/man2/rename.2:275 build/C/man2/rename.2:389 build/C/man2/rmdir.2:80
+#: build/C/man2/symlink.2:177 build/C/man2/symlink.2:212
+#: build/C/man2/unlink.2:197
 #, no-wrap
 msgid "B<ENOENT>"
 msgstr "B<ENOENT>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<ENOENT>"
 msgstr "B<ENOENT>"
 
 #. type: Plain text
-#: build/C/man2/link.2:96
+#: build/C/man2/link.2:234
 msgid ""
 "A directory component in I<oldpath> or I<newpath> does not exist or is a "
 "dangling symbolic link."
 msgid ""
 "A directory component in I<oldpath> or I<newpath> does not exist or is a "
 "dangling symbolic link."
@@ -4985,47 +5407,50 @@ msgstr ""
 "(dangling)シンボリックリンクである。"
 
 #. type: TP
 "(dangling)シンボリックリンクである。"
 
 #. type: TP
-#: build/C/man2/link.2:96 build/C/man2/open.2:543 build/C/man2/readlink.2:117
-#: build/C/man2/rename.2:173 build/C/man2/rmdir.2:85 build/C/man3/scanf.3:568
-#: build/C/man2/symlink.2:123 build/C/man3/tempnam.3:91
-#: build/C/man2/unlink.2:106 build/C/man2/process_vm_readv.2:260
+#: build/C/man2/link.2:234 build/C/man2/open.2:929 build/C/man2/readlink.2:193
+#: build/C/man2/rename.2:288 build/C/man2/rmdir.2:85 build/C/man3/scanf.3:570
+#: build/C/man2/symlink.2:184 build/C/man3/tempnam.3:102
+#: build/C/man2/unlink.2:204
 #, no-wrap
 msgid "B<ENOMEM>"
 msgstr "B<ENOMEM>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<ENOMEM>"
 msgstr "B<ENOMEM>"
 
 #. type: Plain text
-#: build/C/man2/link.2:99 build/C/man2/open.2:546 build/C/man2/readlink.2:120
-#: build/C/man2/rename.2:176 build/C/man2/rmdir.2:88
-#: build/C/man2/symlink.2:126 build/C/man2/unlink.2:109
+#: build/C/man2/link.2:237 build/C/man2/open.2:932 build/C/man2/readlink.2:196
+#: build/C/man2/rename.2:291 build/C/man2/rmdir.2:88
+#: build/C/man2/symlink.2:187 build/C/man2/unlink.2:207
 msgid "Insufficient kernel memory was available."
 msgstr "十分なカーネルメモリーがない。"
 
 #. type: TP
 msgid "Insufficient kernel memory was available."
 msgstr "十分なカーネルメモリーがない。"
 
 #. type: TP
-#: build/C/man2/link.2:99 build/C/man2/open.2:546 build/C/man2/rename.2:176
-#: build/C/man2/symlink.2:126 build/C/man3/tmpfile.3:68
-#: build/C/man2/write.2:162
+#: build/C/man2/link.2:237 build/C/man2/open.2:932 build/C/man2/rename.2:291
+#: build/C/man2/symlink.2:187 build/C/man3/tmpfile.3:72
+#: build/C/man2/write.2:168
 #, no-wrap
 msgid "B<ENOSPC>"
 msgstr "B<ENOSPC>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<ENOSPC>"
 msgstr "B<ENOSPC>"
 
 #. type: Plain text
-#: build/C/man2/link.2:103 build/C/man2/rename.2:180
-#: build/C/man2/symlink.2:130
+#: build/C/man2/link.2:241 build/C/man2/rename.2:295
+#: build/C/man2/symlink.2:191
 msgid "The device containing the file has no room for the new directory entry."
 msgstr ""
 "そのファイルを含んでいるデバイスに新しいディレクトリエントリを 作成するための"
 "空きがない。"
 
 #. type: TP
 msgid "The device containing the file has no room for the new directory entry."
 msgstr ""
 "そのファイルを含んでいるデバイスに新しいディレクトリエントリを 作成するための"
 "空きがない。"
 
 #. type: TP
-#: build/C/man2/link.2:103 build/C/man2/open.2:552 build/C/man2/readlink.2:120
-#: build/C/man2/rename.2:180 build/C/man2/rmdir.2:88
-#: build/C/man2/symlink.2:130 build/C/man2/unlink.2:109
+#: build/C/man2/link.2:241 build/C/man2/link.2:315 build/C/man2/open.2:938
+#: build/C/man2/open.2:1009 build/C/man2/open_by_handle_at.2:289
+#: build/C/man2/readlink.2:196 build/C/man2/readlink.2:206
+#: build/C/man2/rename.2:295 build/C/man2/rename.2:355 build/C/man2/rmdir.2:88
+#: build/C/man2/symlink.2:191 build/C/man2/symlink.2:218
+#: build/C/man2/unlink.2:207 build/C/man2/unlink.2:263
 #, no-wrap
 msgid "B<ENOTDIR>"
 msgstr "B<ENOTDIR>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<ENOTDIR>"
 msgstr "B<ENOTDIR>"
 
 #. type: Plain text
-#: build/C/man2/link.2:108
+#: build/C/man2/link.2:246
 msgid ""
 "A component used as a directory in I<oldpath> or I<newpath> is not, in fact, "
 "a directory."
 msgid ""
 "A component used as a directory in I<oldpath> or I<newpath> is not, in fact, "
 "a directory."
@@ -5034,53 +5459,68 @@ msgstr ""
 "い。"
 
 #. type: TP
 "い。"
 
 #. type: TP
-#: build/C/man2/link.2:108 build/C/man2/link.2:112 build/C/man2/open.2:585
+#: build/C/man2/link.2:246 build/C/man2/link.2:250 build/C/man2/link.2:325
+#: build/C/man2/open.2:977 build/C/man2/open_by_handle_at.2:338
 #: build/C/man2/rmdir.2:107 build/C/man2/rmdir.2:118
 #: build/C/man2/rmdir.2:107 build/C/man2/rmdir.2:118
-#: build/C/man2/symlink.2:135 build/C/man2/unlink.2:114
-#: build/C/man2/process_vm_readv.2:265
+#: build/C/man2/symlink.2:196 build/C/man2/unlink.2:212
 #, no-wrap
 msgid "B<EPERM>"
 msgstr "B<EPERM>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<EPERM>"
 msgstr "B<EPERM>"
 
 #. type: Plain text
-#: build/C/man2/link.2:112
+#: build/C/man2/link.2:250
 msgid "I<oldpath> is a directory."
 msgstr "I<oldpath> がディレクトリである。"
 
 #. type: Plain text
 msgid "I<oldpath> is a directory."
 msgstr "I<oldpath> がディレクトリである。"
 
 #. type: Plain text
-#: build/C/man2/link.2:117
+#: build/C/man2/link.2:255
 msgid ""
 msgid ""
-"The file system containing I<oldpath> and I<newpath> does not support the "
+"The filesystem containing I<oldpath> and I<newpath> does not support the "
 "creation of hard links."
 msgstr ""
 "I<oldpath> と I<newpath> を含んでいるファイルシステムがハードリンクをサポート"
 "していない。"
 
 #. type: TP
 "creation of hard links."
 msgstr ""
 "I<oldpath> と I<newpath> を含んでいるファイルシステムがハードリンクをサポート"
 "していない。"
 
 #. type: TP
-#: build/C/man2/link.2:117 build/C/man2/open.2:593 build/C/man2/rename.2:218
-#: build/C/man2/rmdir.2:123 build/C/man2/symlink.2:140
-#: build/C/man3/tmpfile.3:71 build/C/man2/unlink.2:137
+#: build/C/man2/link.2:255
+#, no-wrap
+msgid "B<EPERM> (since Linux 3.6)"
+msgstr "B<EPERM> (Linux 3.6 以降)"
+
+#. type: Plain text
+#: build/C/man2/link.2:262
+msgid ""
+"The caller does not have permission to create a hard link to this file (see "
+"the description of I</proc/sys/fs/protected_hardlinks> in B<proc>(5))."
+msgstr ""
+"呼び出し元にこのファイルへのハードリンクを作成する許可がなかった (B<proc>(5) "
+"の I</proc/sys/fs/protected_hardlinks> の説明を参照)。"
+
+#. type: TP
+#: build/C/man2/link.2:262 build/C/man2/open.2:985 build/C/man2/rename.2:333
+#: build/C/man2/rmdir.2:123 build/C/man2/symlink.2:201
+#: build/C/man3/tmpfile.3:75 build/C/man2/unlink.2:235
 #, no-wrap
 msgid "B<EROFS>"
 msgstr "B<EROFS>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<EROFS>"
 msgstr "B<EROFS>"
 
 #. type: Plain text
-#: build/C/man2/link.2:120 build/C/man2/rename.2:221
-msgid "The file is on a read-only file system."
+#: build/C/man2/link.2:265 build/C/man2/rename.2:336
+msgid "The file is on a read-only filesystem."
 msgstr "ファイルが読み込み専用のファイルシステムに存在する。"
 
 #. type: TP
 msgstr "ファイルが読み込み専用のファイルシステムに存在する。"
 
 #. type: TP
-#: build/C/man2/link.2:120 build/C/man2/rename.2:221
+#: build/C/man2/link.2:265 build/C/man2/rename.2:336
 #, no-wrap
 msgid "B<EXDEV>"
 msgstr "B<EXDEV>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<EXDEV>"
 msgstr "B<EXDEV>"
 
 #. type: Plain text
-#: build/C/man2/link.2:128
+#: build/C/man2/link.2:273
 msgid ""
 msgid ""
-"I<oldpath> and I<newpath> are not on the same mounted file system.  (Linux "
-"permits a file system to be mounted at multiple points, but B<link>()  does "
-"not work across different mount points, even if the same file system is "
+"I<oldpath> and I<newpath> are not on the same mounted filesystem.  (Linux "
+"permits a filesystem to be mounted at multiple points, but B<link>()  does "
+"not work across different mount points, even if the same filesystem is "
 "mounted on both.)"
 msgstr ""
 "I<oldpath> と I<newpath> が同じマウントされたファイルシステムに存在しない。 "
 "mounted on both.)"
 msgstr ""
 "I<oldpath> と I<newpath> が同じマウントされたファイルシステムに存在しない。 "
@@ -5088,18 +5528,103 @@ msgstr ""
 "している。 しかし B<link>()  は、たとえ同じファイルシステムであっても、 別々"
 "のマウント位置を跨いでは動作しない。)"
 
 "している。 しかし B<link>()  は、たとえ同じファイルシステムであっても、 別々"
 "のマウント位置を跨いでは動作しない。)"
 
+#. type: Plain text
+#: build/C/man2/link.2:276
+msgid "The following additional errors can occur for B<linkat>():"
+msgstr "B<linkat>() では以下のエラーも発生する。"
+
+#. type: Plain text
+#: build/C/man2/link.2:282 build/C/man2/rename.2:355
+msgid "I<olddirfd> or I<newdirfd> is not a valid file descriptor."
+msgstr "I<olddirfd> か I<newdirfd> が有効なファイルディスクリプタでない。"
+
+#. type: Plain text
+#: build/C/man2/link.2:286 build/C/man2/unlink.2:256
+msgid "An invalid flag value was specified in I<flags>."
+msgstr "無効なフラグ値が I<flags> に指定された。"
+
+#. type: Plain text
+#: build/C/man2/link.2:294
+msgid ""
+"B<AT_EMPTY_PATH> was specified in I<flags>, but the caller did not have the "
+"B<CAP_DAC_READ_SEARCH> capability."
+msgstr ""
+"B<AT_EMPTY_PATH> が I<flags> に指定されたが、呼び出し元が "
+"B<CAP_DAC_READ_SEARCH> ケーパビリティを持っていなかった。"
+
+#. type: Plain text
+#: build/C/man2/link.2:299
+msgid ""
+"An attempt was made to link to the I</proc/self/fd/NN> file corresponding to "
+"a file descriptor created with"
+msgstr ""
+"以下の呼び出しで作成されたファイルディスクリプターに対応する I</proc/self/fd/"
+"NN> ファイルに対してリンクを行おおうとした。"
+
+#. type: Plain text
+#: build/C/man2/link.2:301
+#, no-wrap
+msgid "    open(path, O_TMPFILE | O_EXCL, mode);\n"
+msgstr "    open(path, O_TMPFILE | O_EXCL, mode);\n"
+
+#. type: Plain text
+#: build/C/man2/link.2:304
+msgid "See B<open>(2)."
+msgstr "B<open>(2) 参照。"
+
+#. type: Plain text
+#: build/C/man2/link.2:315
+msgid ""
+"I<oldpath> is a relative pathname and I<olddirfd> refers to a directory that "
+"has been deleted, or I<newpath> is a relative pathname and I<newdirfd> "
+"refers to a directory that has been deleted."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/link.2:325 build/C/man2/rename.2:365
+msgid ""
+"I<oldpath> is relative and I<olddirfd> is a file descriptor referring to a "
+"file other than a directory; or similar for I<newpath> and I<newdirfd>"
+msgstr ""
+"I<oldpath> が相対パスで、 I<olddirfd> がディレクトリ以外のファイルを参照して"
+"いる。または I<newpath> と I<newdirfd> に関して同じ状況である。"
+
+#. type: Plain text
+#: build/C/man2/link.2:334
+msgid ""
+"B<AT_EMPTY_PATH> was specified in I<flags>, I<oldpath> is an empty string, "
+"and I<olddirfd> refers to a directory."
+msgstr ""
+"I<flags> に B<AT_EMPTY_PATH> が指定され、 I<oldpath> が空文字列で、 "
+"I<olddirfd> がディレクトリを参照している。"
+
+#. type: Plain text
+#: build/C/man2/link.2:338
+msgid ""
+"B<linkat>()  was added to Linux in kernel 2.6.16; library support was added "
+"to glibc in version 2.4."
+msgstr ""
+"B<linkat>()  はカーネル 2.6.16 で Linux に追加された。 ライブラリによるサポー"
+"トはバージョン 2.4 で glibc に追加された。"
+
 #.  SVr4 documents additional ENOLINK and
 #.  EMULTIHOP error conditions; POSIX.1 does not document ELOOP.
 #.  X/OPEN does not document EFAULT, ENOMEM or EIO.
 #. type: Plain text
 #.  SVr4 documents additional ENOLINK and
 #.  EMULTIHOP error conditions; POSIX.1 does not document ELOOP.
 #.  X/OPEN does not document EFAULT, ENOMEM or EIO.
 #. type: Plain text
-#: build/C/man2/link.2:133
-msgid "SVr4, 4.3BSD, POSIX.1-2001 (but see NOTES)."
-msgstr "SVr4, 4.3BSD, POSIX.1-2001 (但し「注意」を参照)。"
+#: build/C/man2/link.2:344
+msgid "B<link>(): SVr4, 4.3BSD, POSIX.1-2001 (but see NOTES), POSIX.1-2008."
+msgstr ""
+"B<link>(): SVr4, 4.3BSD, POSIX.1-2001 (但し「注意」を参照), POSIX.1-2008."
+
+#. type: Plain text
+#: build/C/man2/link.2:347
+msgid "B<linkat>(): POSIX.1-2008."
+msgstr "B<linkat>(): POSIX.1-2008."
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/link.2:140
+#: build/C/man2/link.2:354
 msgid ""
 msgid ""
-"Hard links, as created by B<link>(), cannot span file systems.  Use "
+"Hard links, as created by B<link>(), cannot span filesystems.  Use "
 "B<symlink>(2)  if this is required."
 msgstr ""
 "B<link>()  でファイルシステムを超えてハードリンクを作成することはできない。 "
 "B<symlink>(2)  if this is required."
 msgstr ""
 "B<link>()  でファイルシステムを超えてハードリンクを作成することはできない。 "
@@ -5111,7 +5636,7 @@ msgstr ""
 #.  thread in the Austin mailing list reported that some
 #.  other (System V) implementations did/do the same -- MTK, Apr 05
 #. type: Plain text
 #.  thread in the Austin mailing list reported that some
 #.  other (System V) implementations did/do the same -- MTK, Apr 05
 #. type: Plain text
-#: build/C/man2/link.2:171
+#: build/C/man2/link.2:385
 msgid ""
 "POSIX.1-2001 says that B<link>()  should dereference I<oldpath> if it is a "
 "symbolic link.  However, since kernel 2.0, Linux does not do so: if "
 msgid ""
 "POSIX.1-2001 says that B<link>()  should dereference I<oldpath> if it is a "
 "symbolic link.  However, since kernel 2.0, Linux does not do so: if "
@@ -5121,7 +5646,7 @@ msgid ""
 "in the same manner as Linux.  POSIX.1-2008 changes the specification of "
 "B<link>(), making it implementation-dependent whether or not I<oldpath> is "
 "dereferenced if it is a symbolic link.  For precise control over the "
 "in the same manner as Linux.  POSIX.1-2008 changes the specification of "
 "B<link>(), making it implementation-dependent whether or not I<oldpath> is "
 "dereferenced if it is a symbolic link.  For precise control over the "
-"treatment of symbolic links when creating a link, see B<linkat>(2)."
+"treatment of symbolic links when creating a link, use B<linkat>(2)."
 msgstr ""
 "POSIX.1-2001 では、 I<oldpath> がシンボリックリンクである場合、 B<link>()  "
 "は I<oldpath> の参照を解決すべきであると記述されている。 しかし、カーネル "
 msgstr ""
 "POSIX.1-2001 では、 I<oldpath> がシンボリックリンクである場合、 B<link>()  "
 "は I<oldpath> の参照を解決すべきであると記述されている。 しかし、カーネル "
@@ -5131,13 +5656,13 @@ msgstr ""
 "へのシンボリックリンクになる)。 他のいくつかの実装でも Linux と同じように動作"
 "する。 POSIX.1-2008 では B<link>()  の仕様が変更され、 I<oldpath> がシンボ"
 "リックリンクの場合にシンボリックリンクの参照を 解決するかどうかは実装依存と"
 "へのシンボリックリンクになる)。 他のいくつかの実装でも Linux と同じように動作"
 "する。 POSIX.1-2008 では B<link>()  の仕様が変更され、 I<oldpath> がシンボ"
 "リックリンクの場合にシンボリックリンクの参照を 解決するかどうかは実装依存と"
-"ã\81ªã\81£ã\81\9fã\80\82 ã\83ªã\83³ã\82¯ä½\9cæ\88\90æ\99\82ã\81®ã\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯ã\83ªã\83³ã\82¯ã\81®æ\89±ã\81\84ã\81«ã\81¤ã\81\84ã\81¦ã\81®è©³ç´°ã\81ªå\88¶å¾¡ã\81« é\96¢ã\81\97ã\81¦"
-"ã\81¯ B<linkat>(2)  ã\82\92å\8f\82ç\85§ã\81®こと。"
+"ã\81ªã\81£ã\81\9fã\80\82 ã\83ªã\83³ã\82¯ä½\9cæ\88\90æ\99\82ã\81®ã\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯ã\83ªã\83³ã\82¯ã\81®æ\89±ã\81\84ã\81«ã\81¤ã\81\84ã\81¦ã\81®è©³ç´°ã\81ªå\88¶å¾¡ã\82\92è¡\8cã\81\86å ´å\90\88"
+"ã\81«ã\81¯ B<linkat>(2) ã\82\92使ç\94¨ã\81\99ã\82\8bこと。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/link.2:177
+#: build/C/man2/link.2:391
 msgid ""
 msgid ""
-"On NFS file systems, the return code may be wrong in case the NFS server "
+"On NFS filesystems, the return code may be wrong in case the NFS server "
 "performs the link creation and dies before it can say so.  Use B<stat>(2)  "
 "to find out if the link got created."
 msgstr ""
 "performs the link creation and dies before it can say so.  Use B<stat>(2)  "
 "to find out if the link got created."
 msgstr ""
@@ -5146,33 +5671,33 @@ msgstr ""
 "ためには B<stat>(2)  を使用すること。"
 
 #. type: Plain text
 "ためには B<stat>(2)  を使用すること。"
 
 #. type: Plain text
-#: build/C/man2/link.2:187
+#: build/C/man2/link.2:400
 msgid ""
 msgid ""
-"B<ln>(1), B<linkat>(2), B<open>(2), B<rename>(2), B<stat>(2), B<symlink>(2), "
-"B<unlink>(2), B<path_resolution>(7), B<symlink>(7)"
+"B<ln>(1), B<open>(2), B<rename>(2), B<stat>(2), B<symlink>(2), B<unlink>(2), "
+"B<path_resolution>(7), B<symlink>(7)"
 msgstr ""
 msgstr ""
-"B<ln>(1), B<linkat>(2), B<open>(2), B<rename>(2), B<stat>(2), B<symlink>(2), "
-"B<unlink>(2), B<path_resolution>(7), B<symlink>(7)"
+"B<ln>(1), B<open>(2), B<rename>(2), B<stat>(2), B<symlink>(2), B<unlink>(2), "
+"B<path_resolution>(7), B<symlink>(7)"
 
 #. type: TH
 
 #. type: TH
-#: build/C/man2/llseek.2:26
+#: build/C/man2/llseek.2:28
 #, no-wrap
 msgid "LLSEEK"
 msgstr "LLSEEK"
 
 #. type: TH
 #, no-wrap
 msgid "LLSEEK"
 msgstr "LLSEEK"
 
 #. type: TH
-#: build/C/man2/llseek.2:26
+#: build/C/man2/llseek.2:28
 #, no-wrap
 #, no-wrap
-msgid "2007-06-01"
-msgstr "2007-06-01"
+msgid "2012-07-13"
+msgstr "2012-07-13"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/llseek.2:29
+#: build/C/man2/llseek.2:31
 msgid "_llseek - reposition read/write file offset"
 msgstr "_llseek - ファイルの読み書きオフセットの位置を変える"
 
 #. type: Plain text
 msgid "_llseek - reposition read/write file offset"
 msgstr "_llseek - ファイルの読み書きオフセットの位置を変える"
 
 #. type: Plain text
-#: build/C/man2/llseek.2:33
+#: build/C/man2/llseek.2:35
 #, no-wrap
 msgid ""
 "B<#include E<lt>sys/types.hE<gt>>\n"
 #, no-wrap
 msgid ""
 "B<#include E<lt>sys/types.hE<gt>>\n"
@@ -5182,7 +5707,7 @@ msgstr ""
 "B<#include E<lt>unistd.hE<gt>>\n"
 
 #. type: Plain text
 "B<#include E<lt>unistd.hE<gt>>\n"
 
 #. type: Plain text
-#: build/C/man2/llseek.2:37
+#: build/C/man2/llseek.2:39
 #, no-wrap
 msgid ""
 "B<int _llseek(unsigned int >I<fd>B<, unsigned long >I<offset_high>B<,>\n"
 #, no-wrap
 msgid ""
 "B<int _llseek(unsigned int >I<fd>B<, unsigned long >I<offset_high>B<,>\n"
@@ -5194,7 +5719,14 @@ msgstr ""
 "B<            unsigned int >I<whence>B<);>\n"
 
 #. type: Plain text
 "B<            unsigned int >I<whence>B<);>\n"
 
 #. type: Plain text
-#: build/C/man2/llseek.2:57
+#: build/C/man2/llseek.2:43
+msgid "I<Note>: There is no glibc wrapper for this system call; see NOTES."
+msgstr ""
+"I<注>: このシステムコールには glibc のラッパー関数は存在しない。「注意」の節"
+"を参照。"
+
+#. type: Plain text
+#: build/C/man2/llseek.2:62
 msgid ""
 "The B<_llseek>()  function repositions the offset of the open file "
 "associated with the file descriptor I<fd> to I<(offset_highE<lt>E<lt>32) | "
 msgid ""
 "The B<_llseek>()  function repositions the offset of the open file "
 "associated with the file descriptor I<fd> to I<(offset_highE<lt>E<lt>32) | "
@@ -5204,14 +5736,14 @@ msgid ""
 "resulting file position in the argument I<result>."
 msgstr ""
 "B<_llseek>()  関数は、ファイルディスクリプタ (descriptor)  I<fd> に関連づけら"
 "resulting file position in the argument I<result>."
 msgstr ""
 "B<_llseek>()  関数は、ファイルディスクリプタ (descriptor)  I<fd> に関連づけら"
-"れたオープンされたファイルのオフセットの位置を、相対的に I<"
-"(offset_highE<lt>E<lt>32) | offset_low> バイトだけ変更する。 基準となる位置を"
-"表す I<whence> には B<SEEK_SET>, B<SEEK_CUR>, B<SEEK_END> のいずれかを指定"
+"れたオープンされたファイルのオフセットの位置を、相対的に "
+"I<(offset_highE<lt>E<lt>32) | offset_low> バイトだけ変更する。 基準となる位置"
+"表す I<whence> には B<SEEK_SET>, B<SEEK_CUR>, B<SEEK_END> のいずれかを指定"
 "し、それぞれ ファイルの先頭、ファイルの現在位置、 ファイルの最後を表す。 結果"
 "のファイル位置を I<result> 引き数に返す。"
 
 #. type: Plain text
 "し、それぞれ ファイルの先頭、ファイルの現在位置、 ファイルの最後を表す。 結果"
 "のファイル位置を I<result> 引き数に返す。"
 
 #. type: Plain text
-#: build/C/man2/llseek.2:64
+#: build/C/man2/llseek.2:69
 msgid ""
 "Upon successful completion, B<_llseek>()  returns 0.  Otherwise, a value of "
 "-1 is returned and I<errno> is set to indicate the error."
 msgid ""
 "Upon successful completion, B<_llseek>()  returns 0.  Otherwise, a value of "
 "-1 is returned and I<errno> is set to indicate the error."
@@ -5220,22 +5752,22 @@ msgstr ""
 "エラーを示す I<errno> が設定される。"
 
 #. type: Plain text
 "エラーを示す I<errno> が設定される。"
 
 #. type: Plain text
-#: build/C/man2/llseek.2:69 build/C/man2/lseek.2:164
+#: build/C/man2/llseek.2:74 build/C/man2/lseek.2:192
 msgid "I<fd> is not an open file descriptor."
 msgstr "I<fd> がオープンされたファイルディスクリプタでない。"
 
 #. type: Plain text
 msgid "I<fd> is not an open file descriptor."
 msgstr "I<fd> がオープンされたファイルディスクリプタでない。"
 
 #. type: Plain text
-#: build/C/man2/llseek.2:72
+#: build/C/man2/llseek.2:77
 msgid "Problem with copying results to user space."
 msgstr "結果をユーザ空間にコピーするときに問題があった。"
 
 #. type: Plain text
 msgid "Problem with copying results to user space."
 msgstr "結果をユーザ空間にコピーするときに問題があった。"
 
 #. type: Plain text
-#: build/C/man2/llseek.2:76
+#: build/C/man2/llseek.2:81
 msgid "I<whence> is invalid."
 msgstr "I<whence> が不正である。"
 
 #. type: Plain text
 msgid "I<whence> is invalid."
 msgstr "I<whence> が不正である。"
 
 #. type: Plain text
-#: build/C/man2/llseek.2:79
+#: build/C/man2/llseek.2:84
 msgid ""
 "This function is Linux-specific, and should not be used in programs intended "
 "to be portable."
 msgid ""
 "This function is Linux-specific, and should not be used in programs intended "
 "to be portable."
@@ -5243,48 +5775,54 @@ msgstr ""
 "この関数は Linux 特有であり、移植性の必要なプログラムでは使用してはいけない。"
 
 #. type: Plain text
 "この関数は Linux 特有であり、移植性の必要なプログラムでは使用してはいけない。"
 
 #. type: Plain text
-#: build/C/man2/llseek.2:82
+#: build/C/man2/llseek.2:87
 msgid ""
 "Glibc does not provide a wrapper for this system call; call it using "
 "B<syscall>(2)."
 msgstr ""
 msgid ""
 "Glibc does not provide a wrapper for this system call; call it using "
 "B<syscall>(2)."
 msgstr ""
-"glibc はこのシステムコールに対するラッパー関数を提供していない。 B<syscall>"
-"(2)  を使って呼び出すこと。"
+"glibc はこのシステムコールに対するラッパー関数を提供していない。 "
+"B<syscall>(2)  を使って呼び出すこと。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/llseek.2:85
+#: build/C/man2/llseek.2:90
 msgid "B<lseek>(2), B<lseek64>(3)"
 msgstr "B<lseek>(2), B<lseek64>(3)"
 
 #. type: TH
 msgid "B<lseek>(2), B<lseek64>(3)"
 msgstr "B<lseek>(2), B<lseek64>(3)"
 
 #. type: TH
-#: build/C/man2/lseek.2:45
+#: build/C/man2/lseek.2:47
 #, no-wrap
 msgid "LSEEK"
 msgstr "LSEEK"
 
 #. type: TH
 #, no-wrap
 msgid "LSEEK"
 msgstr "LSEEK"
 
 #. type: TH
-#: build/C/man2/lseek.2:45
+#: build/C/man2/lseek.2:47
 #, no-wrap
 #, no-wrap
-msgid "2011-09-25"
-msgstr "2011-09-25"
+msgid "2014-01-22"
+msgstr "2014-01-22"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/lseek.2:48
+#: build/C/man2/lseek.2:50
 msgid "lseek - reposition read/write file offset"
 msgstr "lseek - ファイルの読み書きオフセットの位置を変える"
 
 #. type: Plain text
 msgid "lseek - reposition read/write file offset"
 msgstr "lseek - ファイルの読み書きオフセットの位置を変える"
 
 #. type: Plain text
-#: build/C/man2/lseek.2:50 build/C/man3/lseek64.3:30
+#: build/C/man2/lseek.2:52 build/C/man3/lseek64.3:32
 msgid "B<#include E<lt>sys/types.hE<gt>>"
 msgstr "B<#include E<lt>sys/types.hE<gt>>"
 
 #. type: Plain text
 msgid "B<#include E<lt>sys/types.hE<gt>>"
 msgstr "B<#include E<lt>sys/types.hE<gt>>"
 
 #. type: Plain text
-#: build/C/man2/lseek.2:54
+#: build/C/man2/lseek.2:54 build/C/man3/lseek64.3:34 build/C/man2/rmdir.2:35
+#: build/C/man2/write.2:44
+msgid "B<#include E<lt>unistd.hE<gt>>"
+msgstr "B<#include E<lt>unistd.hE<gt>>"
+
+#. type: Plain text
+#: build/C/man2/lseek.2:56
 msgid "B<off_t lseek(int >I<fd>B<, off_t >I<offset>B<, int >I<whence>B<);>"
 msgstr "B<off_t lseek(int >I<fd>B<, off_t >I<offset>B<, int >I<whence>B<);>"
 
 #. type: Plain text
 msgid "B<off_t lseek(int >I<fd>B<, off_t >I<offset>B<, int >I<whence>B<);>"
 msgstr "B<off_t lseek(int >I<fd>B<, off_t >I<offset>B<, int >I<whence>B<);>"
 
 #. type: Plain text
-#: build/C/man2/lseek.2:65
+#: build/C/man2/lseek.2:67
 msgid ""
 "The B<lseek>()  function repositions the offset of the open file associated "
 "with the file descriptor I<fd> to the argument I<offset> according to the "
 msgid ""
 "The B<lseek>()  function repositions the offset of the open file associated "
 "with the file descriptor I<fd> to the argument I<offset> according to the "
@@ -5295,22 +5833,22 @@ msgstr ""
 "へ以下のように変更する:"
 
 #. type: Plain text
 "へ以下のように変更する:"
 
 #. type: Plain text
-#: build/C/man2/lseek.2:70
+#: build/C/man2/lseek.2:72
 msgid "The offset is set to I<offset> bytes."
 msgstr "オフセットは I<offset> バイトに設定される。"
 
 #. type: Plain text
 msgid "The offset is set to I<offset> bytes."
 msgstr "オフセットは I<offset> バイトに設定される。"
 
 #. type: Plain text
-#: build/C/man2/lseek.2:75
+#: build/C/man2/lseek.2:77
 msgid "The offset is set to its current location plus I<offset> bytes."
 msgstr "オフセットは現在位置に I<offset> バイトを足した位置になる。"
 
 #. type: Plain text
 msgid "The offset is set to its current location plus I<offset> bytes."
 msgstr "オフセットは現在位置に I<offset> バイトを足した位置になる。"
 
 #. type: Plain text
-#: build/C/man2/lseek.2:80
+#: build/C/man2/lseek.2:82
 msgid "The offset is set to the size of the file plus I<offset> bytes."
 msgstr "オフセットはファイルのサイズに I<offset> バイトを足した位置になる。"
 
 #. type: Plain text
 msgid "The offset is set to the size of the file plus I<offset> bytes."
 msgstr "オフセットはファイルのサイズに I<offset> バイトを足した位置になる。"
 
 #. type: Plain text
-#: build/C/man2/lseek.2:88
+#: build/C/man2/lseek.2:90
 msgid ""
 "The B<lseek>()  function allows the file offset to be set beyond the end of "
 "the file (but this does not change the size of the file).  If data is later "
 msgid ""
 "The B<lseek>()  function allows the file offset to be set beyond the end of "
 "the file (but this does not change the size of the file).  If data is later "
@@ -5321,44 +5859,48 @@ msgstr ""
 "B<lseek>()  関数は、オフセットをファイルの末尾を越えた位置に設定できる (但"
 "し、これによりファイルのサイズが変わらない)。 もしデータがこのオフセット位置"
 "以降に書き込まれた場合、 間の空隙の部分 (\"穴 (hole)\") の読み出しがあると、 "
 "B<lseek>()  関数は、オフセットをファイルの末尾を越えた位置に設定できる (但"
 "し、これによりファイルのサイズが変わらない)。 もしデータがこのオフセット位置"
 "以降に書き込まれた場合、 間の空隙の部分 (\"穴 (hole)\") の読み出しがあると、 "
-"実際にそこにデータを書き込まれるまでは NULL バイト (\\(aq\\e0\\(aq) の列が返"
-"ã\81\95ã\82\8cã\82\8bã\80\82"
+"実際にそこにデータを書き込まれるまではヌルバイト (\\(aq\\e0\\(aq) の列が返さ"
+"れる。"
 
 #. type: SS
 
 #. type: SS
-#: build/C/man2/lseek.2:88
+#: build/C/man2/lseek.2:90
 #, no-wrap
 msgid "Seeking file data and holes"
 #, no-wrap
 msgid "Seeking file data and holes"
-msgstr ""
+msgstr "ファイルのデータとホールの探索"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/lseek.2:91
+#: build/C/man2/lseek.2:93
 msgid ""
 "Since version 3.1, Linux supports the following additional values for "
 "I<whence>:"
 msgstr ""
 msgid ""
 "Since version 3.1, Linux supports the following additional values for "
 "I<whence>:"
 msgstr ""
+"Linux バージョン 3.1 以降では、 I<whence> に以下の値も指定することができる。"
 
 #. type: TP
 
 #. type: TP
-#: build/C/man2/lseek.2:91
+#: build/C/man2/lseek.2:93
 #, no-wrap
 msgid "B<SEEK_DATA>"
 msgstr "B<SEEK_DATA>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<SEEK_DATA>"
 msgstr "B<SEEK_DATA>"
 
 #. type: Plain text
-#: build/C/man2/lseek.2:102
+#: build/C/man2/lseek.2:104
 msgid ""
 "Adjust the file offset to the next location in the file greater than or "
 "equal to I<offset> containing data.  If I<offset> points to data, then the "
 "file offset is set to I<offset>."
 msgstr ""
 msgid ""
 "Adjust the file offset to the next location in the file greater than or "
 "equal to I<offset> containing data.  If I<offset> points to data, then the "
 "file offset is set to I<offset>."
 msgstr ""
+"ファイルオフセットを I<offset> 以上で次にデータがある位置に設定する。 "
+"I<offset> がデータを指している場合には、 ファイルオフセットは I<offset> に設"
+"定される。"
 
 #. type: TP
 
 #. type: TP
-#: build/C/man2/lseek.2:102
+#: build/C/man2/lseek.2:104
 #, no-wrap
 msgid "B<SEEK_HOLE>"
 msgstr "B<SEEK_HOLE>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<SEEK_HOLE>"
 msgstr "B<SEEK_HOLE>"
 
 #. type: Plain text
-#: build/C/man2/lseek.2:116
+#: build/C/man2/lseek.2:118
 msgid ""
 "Adjust the file offset to the next hole in the file greater than or equal to "
 "I<offset>.  If I<offset> points into the middle of a hole, then the file "
 msgid ""
 "Adjust the file offset to the next hole in the file greater than or equal to "
 "I<offset>.  If I<offset> points into the middle of a hole, then the file "
@@ -5366,44 +5908,111 @@ msgid ""
 "file offset is adjusted to the end of the file (i.e., there is an implicit "
 "hole at the end of any file)."
 msgstr ""
 "file offset is adjusted to the end of the file (i.e., there is an implicit "
 "hole at the end of any file)."
 msgstr ""
+"ファイルオフセットを、 位置が I<offset> 以上の次のホール (hole) に設定する。 "
+"I<offset> がホールの内部にある場合は、ファイルシステムは I<offset> に設定され"
+"る。 I<offset> 以降にホールがない場合は、 ファイルオフセットはファイル末尾に"
+"設定される (つまり、 どのファイルの末尾にも暗黙のホールが存在するということ"
+"だ)。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/lseek.2:122
+#: build/C/man2/lseek.2:124
 msgid ""
 "In both of the above cases, B<lseek>()  fails if I<offset> points past the "
 "end of the file."
 msgstr ""
 msgid ""
 "In both of the above cases, B<lseek>()  fails if I<offset> points past the "
 "end of the file."
 msgstr ""
+"上記のどちらの場合も、 I<offset> がファイル末尾よりも先を指している場合には "
+"B<lseek>() は失敗する。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/lseek.2:128
+#: build/C/man2/lseek.2:130
 msgid ""
 "These operations allow applications to map holes in a sparsely allocated "
 "file.  This can be useful for applications such as file backup tools, which "
 "can save space when creating backups and preserve holes, if they have a "
 "mechanism for discovering holes."
 msgstr ""
 msgid ""
 "These operations allow applications to map holes in a sparsely allocated "
 "file.  This can be useful for applications such as file backup tools, which "
 "can save space when creating backups and preserve holes, if they have a "
 "mechanism for discovering holes."
 msgstr ""
+"これらの操作を使うことで、 アプリケーションが、 まばら (sparse ) にページが割"
+"り当てられたファイルでホールをマップすることができる。 この機能はファイルバッ"
+"クアップツールなどのアプリケーションで有用である。 ホールを見つける仕組みがあ"
+"れば、 ファイルバックアップツールで、 バックアップを作成する際に保存領域を節"
+"約し、ホールを保持することができる。"
 
 #.  https://lkml.org/lkml/2011/4/22/79
 #.  http://lwn.net/Articles/440255/
 #.  http://blogs.oracle.com/bonwick/entry/seek_hole_and_seek_data
 #. type: Plain text
 
 #.  https://lkml.org/lkml/2011/4/22/79
 #.  http://lwn.net/Articles/440255/
 #.  http://blogs.oracle.com/bonwick/entry/seek_hole_and_seek_data
 #. type: Plain text
-#: build/C/man2/lseek.2:151
+#: build/C/man2/lseek.2:153
 msgid ""
 "For the purposes of these operations, a hole is a sequence of zeros that "
 "(normally) has not been allocated in the underlying file storage.  However, "
 msgid ""
 "For the purposes of these operations, a hole is a sequence of zeros that "
 "(normally) has not been allocated in the underlying file storage.  However, "
-"a file system is not obliged to report holes, so these operations are not a "
+"a filesystem is not obliged to report holes, so these operations are not a "
 "guaranteed mechanism for mapping the storage space actually allocated to a "
 "file.  (Furthermore, a sequence of zeros that actually has been written to "
 "the underlying storage may not be reported as a hole.)  In the simplest "
 "guaranteed mechanism for mapping the storage space actually allocated to a "
 "file.  (Furthermore, a sequence of zeros that actually has been written to "
 "the underlying storage may not be reported as a hole.)  In the simplest "
-"implementation, a file system can support the operations by making "
+"implementation, a filesystem can support the operations by making "
 "B<SEEK_HOLE> always return the offset of the end of the file, and making "
 "B<SEEK_DATA> always return I<offset> (i.e., even if the location referred to "
 "by I<offset> is a hole, it can be considered to consist of data that is a "
 "sequence of zeros)."
 msgstr ""
 "B<SEEK_HOLE> always return the offset of the end of the file, and making "
 "B<SEEK_DATA> always return I<offset> (i.e., even if the location referred to "
 "by I<offset> is a hole, it can be considered to consist of data that is a "
 "sequence of zeros)."
 msgstr ""
+"これらの操作の目的としては、 ホールは (通常は) バックエンドのファイルストレー"
+"ジには割り当てられていない連続する 0 の列である。 しかし、ファイルシステムに"
+"はホールを報告する義務はなく、 そのため、 これらの操作は、 ファイルに実際に割"
+"り当てられたストレージ領域をマッピングする方法としては確実性のある仕組みでは"
+"ない。 (また、バックエンドのストレージに実際に書き込まれた連続する 0 の列は"
+"ホールとして報告されないこともある。) 最も単純な実装としては、 B<SEEK_HOLE> "
+"は常にファイル末尾のオフセットを返すようにし、 B<SEEK_DATA> は常に I<offset> "
+"を返すようにすることで、 ファイルシステムはこれらの操作をサポートすることがで"
+"きる (B<SEEK_DATA> は常に I<offset> を返すというのは、 I<offset> が参照する場"
+"所がホールであったとしても、 連続する 0 の列のデータで構成されているとみなす"
+"ということである)。"
+
+#. type: Plain text
+#: build/C/man2/lseek.2:162
+msgid ""
+"The B<_GNU_SOURCE> feature test macro must be defined in order to obtain the "
+"definitions of B<SEEK_DATA> and B<SEEK_HOLE> from I<E<lt>unistd.hE<gt>>."
+msgstr ""
+"I<E<lt>unistd.hE<gt>> から B<SEEK_DATA> と B<SEEK_HOLE> の定義を得るには、 機"
+"能検査マクロ B<_GNU_SOURCE> を定義しなければならない。"
+
+#. type: Plain text
+#: build/C/man2/lseek.2:168
+msgid ""
+"The B<SEEK_HOLE> and B<SEEK_DATA> operations are supported for the following "
+"filesystems:"
+msgstr ""
+"B<SEEK_HOLE>, B<SEEK_DATA> 操作に対応しているのは以下のファイルシステムであ"
+"る。"
+
+#. type: Plain text
+#: build/C/man2/lseek.2:170
+msgid "Btrfs (since Linux 3.1)"
+msgstr "Btrfs (Linux 3.1 以降)"
+
+#.  commit 93862d5e1ab875664c6cc95254fc365028a48bb1
+#. type: Plain text
+#: build/C/man2/lseek.2:173
+msgid "OCFS (since Linux 3.2)"
+msgstr "OCFS (Linux 3.2 以降)"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/lseek.2:159
+#: build/C/man2/lseek.2:175
+msgid "XFS (since Linux 3.5)"
+msgstr "XFS (Linux 3.5 以降)"
+
+#. type: Plain text
+#: build/C/man2/lseek.2:177
+msgid "ext4 (since Linux 3.8)"
+msgstr "ext4 (Linux 3.8 以降)"
+
+#. type: Plain text
+#: build/C/man2/lseek.2:179
+msgid "tmpfs (since Linux 3.8)"
+msgstr "tmpfs (Linux 3.8 以降)"
+
+#. type: Plain text
+#: build/C/man2/lseek.2:187
 msgid ""
 "Upon successful completion, B<lseek>()  returns the resulting offset "
 "location as measured in bytes from the beginning of the file.  On error, the "
 msgid ""
 "Upon successful completion, B<lseek>()  returns the resulting offset "
 "location as measured in bytes from the beginning of the file.  On error, the "
@@ -5414,9 +6023,9 @@ msgstr ""
 "される。"
 
 #.  Some systems may allow negative offsets for character devices
 "される。"
 
 #.  Some systems may allow negative offsets for character devices
-#.  and/or for remote file systems.
+#.  and/or for remote filesystems.
 #. type: Plain text
 #. type: Plain text
-#: build/C/man2/lseek.2:172
+#: build/C/man2/lseek.2:200
 msgid ""
 "I<whence> is not valid.  Or: the resulting file offset would be negative, or "
 "beyond the end of a seekable device."
 msgid ""
 "I<whence> is not valid.  Or: the resulting file offset would be negative, or "
 "beyond the end of a seekable device."
@@ -5425,36 +6034,37 @@ msgstr ""
 "なってしまうか、 seek 可能なデバイスの末尾を越えてしまう。"
 
 #. type: TP
 "なってしまうか、 seek 可能なデバイスの末尾を越えてしまう。"
 
 #. type: TP
-#: build/C/man2/lseek.2:172 build/C/man2/open.2:565
+#: build/C/man2/lseek.2:200 build/C/man2/open.2:957
+#: build/C/man2/open_by_handle_at.2:304
 #, no-wrap
 msgid "B<EOVERFLOW>"
 msgstr "B<EOVERFLOW>"
 
 #.  HP-UX 11 says EINVAL for this case (but POSIX.1 says EOVERFLOW)
 #. type: Plain text
 #, no-wrap
 msgid "B<EOVERFLOW>"
 msgstr "B<EOVERFLOW>"
 
 #.  HP-UX 11 says EINVAL for this case (but POSIX.1 says EOVERFLOW)
 #. type: Plain text
-#: build/C/man2/lseek.2:177
+#: build/C/man2/lseek.2:205
 msgid "The resulting file offset cannot be represented in an I<off_t>."
 msgstr "結果のファイルオフセットを I<off_t> 型で表現することができない。"
 
 #. type: TP
 msgid "The resulting file offset cannot be represented in an I<off_t>."
 msgstr "結果のファイルオフセットを I<off_t> 型で表現することができない。"
 
 #. type: TP
-#: build/C/man2/lseek.2:177
+#: build/C/man2/lseek.2:205
 #, no-wrap
 msgid "B<ESPIPE>"
 msgstr "B<ESPIPE>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<ESPIPE>"
 msgstr "B<ESPIPE>"
 
 #. type: Plain text
-#: build/C/man2/lseek.2:181
+#: build/C/man2/lseek.2:209
 msgid "I<fd> is associated with a pipe, socket, or FIFO."
 msgstr "I<fd> がパイプ、ソケット、FIFO を参照している。"
 
 #. type: TP
 msgid "I<fd> is associated with a pipe, socket, or FIFO."
 msgstr "I<fd> がパイプ、ソケット、FIFO を参照している。"
 
 #. type: TP
-#: build/C/man2/lseek.2:181 build/C/man2/open.2:559
+#: build/C/man2/lseek.2:209 build/C/man2/open.2:945
 #, no-wrap
 msgid "B<ENXIO>"
 msgstr "B<ENXIO>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<ENXIO>"
 msgstr "B<ENXIO>"
 
 #. type: Plain text
-#: build/C/man2/lseek.2:189
+#: build/C/man2/lseek.2:217
 msgid ""
 "I<whence> is B<SEEK_DATA> or B<SEEK_HOLE>, and the current file offset is "
 "beyond the end of the file."
 msgid ""
 "I<whence> is B<SEEK_DATA> or B<SEEK_HOLE>, and the current file offset is "
 "beyond the end of the file."
@@ -5465,23 +6075,25 @@ msgstr ""
 #.  SVr4 documents additional error
 #.  conditions EDEADLK, ENOLCK, ENOLNK, ENOSR, ENXIO, or ERANGE.
 #. type: Plain text
 #.  SVr4 documents additional error
 #.  conditions EDEADLK, ENOLCK, ENOLNK, ENOSR, ENXIO, or ERANGE.
 #. type: Plain text
-#: build/C/man2/lseek.2:191 build/C/man2/read.2:157 build/C/man2/rmdir.2:129
-#: build/C/man2/symlink.2:150 build/C/man2/unlink.2:145
-#: build/C/man2/write.2:183
+#: build/C/man2/lseek.2:219 build/C/man2/read.2:175 build/C/man2/rmdir.2:129
+#: build/C/man2/write.2:189
 msgid "SVr4, 4.3BSD, POSIX.1-2001."
 msgstr "SVr4, 4.3BSD, POSIX.1-2001."
 
 #.  FIXME . Review http://austingroupbugs.net/view.php?id=415 in the future
 #. type: Plain text
 msgid "SVr4, 4.3BSD, POSIX.1-2001."
 msgstr "SVr4, 4.3BSD, POSIX.1-2001."
 
 #.  FIXME . Review http://austingroupbugs.net/view.php?id=415 in the future
 #. type: Plain text
-#: build/C/man2/lseek.2:199
+#: build/C/man2/lseek.2:227
 msgid ""
 "B<SEEK_DATA> and B<SEEK_HOLE> are nonstandard extensions also present in "
 "Solaris, FreeBSD, and DragonFly BSD; they are proposed for inclusion in the "
 "next POSIX revision (Issue 8)."
 msgstr ""
 msgid ""
 "B<SEEK_DATA> and B<SEEK_HOLE> are nonstandard extensions also present in "
 "Solaris, FreeBSD, and DragonFly BSD; they are proposed for inclusion in the "
 "next POSIX revision (Issue 8)."
 msgstr ""
+"B<SEEK_DATA> と B<SEEK_HOLE> は非標準の拡張で、 Solaris, FreeBSD, DragonFly "
+"BSD にも存在する。 これらは POSIX の次の版 (Issue 8) に入れるよう提案されてい"
+"る。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/lseek.2:203
+#: build/C/man2/lseek.2:231
 msgid ""
 "Some devices are incapable of seeking and POSIX does not specify which "
 "devices must support B<lseek>()."
 msgid ""
 "Some devices are incapable of seeking and POSIX does not specify which "
 "devices must support B<lseek>()."
@@ -5492,62 +6104,63 @@ msgstr ""
 #.  Other systems return the number of written characters,
 #.  using SEEK_SET to set the counter. (Of written characters.)
 #. type: Plain text
 #.  Other systems return the number of written characters,
 #.  using SEEK_SET to set the counter. (Of written characters.)
 #. type: Plain text
-#: build/C/man2/lseek.2:210
-msgid "On Linux, using B<lseek>()  on a tty device returns B<ESPIPE>."
+#: build/C/man2/lseek.2:238
+msgid "On Linux, using B<lseek>()  on a terminal device returns B<ESPIPE>."
 msgstr ""
 msgstr ""
-"Linux では、 tty デバイスに B<lseek>()  を使用すると B<ESPIPE> を返す。"
+"Linux では、端末 (terminal) デバイスに B<lseek>() を使用すると B<ESPIPE> が返"
+"る。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/lseek.2:213
+#: build/C/man2/lseek.2:241
 msgid ""
 "When converting old code, substitute values for I<whence> with the following "
 "macros:"
 msgstr "古いコードを変換する時は I<whence> の値を以下のマクロに置き換えること:"
 
 #. type: tbl table
 msgid ""
 "When converting old code, substitute values for I<whence> with the following "
 "macros:"
 msgstr "古いコードを変換する時は I<whence> の値を以下のマクロに置き換えること:"
 
 #. type: tbl table
-#: build/C/man2/lseek.2:216
+#: build/C/man2/lseek.2:244
 #, no-wrap
 msgid "old\tnew\n"
 msgstr "old \tnew\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "old\tnew\n"
 msgstr "old \tnew\n"
 
 #. type: tbl table
-#: build/C/man2/lseek.2:217
+#: build/C/man2/lseek.2:245
 #, no-wrap
 msgid "0\tSEEK_SET\n"
 msgstr "0\tSEEK_SET\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "0\tSEEK_SET\n"
 msgstr "0\tSEEK_SET\n"
 
 #. type: tbl table
-#: build/C/man2/lseek.2:218
+#: build/C/man2/lseek.2:246
 #, no-wrap
 msgid "1\tSEEK_CUR\n"
 msgstr "1\tSEEK_CUR\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "1\tSEEK_CUR\n"
 msgstr "1\tSEEK_CUR\n"
 
 #. type: tbl table
-#: build/C/man2/lseek.2:219
+#: build/C/man2/lseek.2:247
 #, no-wrap
 msgid "2\tSEEK_END\n"
 msgstr "2\tSEEK_END\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "2\tSEEK_END\n"
 msgstr "2\tSEEK_END\n"
 
 #. type: tbl table
-#: build/C/man2/lseek.2:220
+#: build/C/man2/lseek.2:248
 #, no-wrap
 msgid "L_SET\tSEEK_SET\n"
 msgstr "L_SET\tSEEK_SET\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "L_SET\tSEEK_SET\n"
 msgstr "L_SET\tSEEK_SET\n"
 
 #. type: tbl table
-#: build/C/man2/lseek.2:221
+#: build/C/man2/lseek.2:249
 #, no-wrap
 msgid "L_INCR\tSEEK_CUR\n"
 msgstr "L_INCR\tSEEK_CUR\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "L_INCR\tSEEK_CUR\n"
 msgstr "L_INCR\tSEEK_CUR\n"
 
 #. type: tbl table
-#: build/C/man2/lseek.2:222
+#: build/C/man2/lseek.2:250
 #, no-wrap
 msgid "L_XTND\tSEEK_END\n"
 msgstr "L_XTND\tSEEK_END\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "L_XTND\tSEEK_END\n"
 msgstr "L_XTND\tSEEK_END\n"
 
 #. type: Plain text
-#: build/C/man2/lseek.2:234
+#: build/C/man2/lseek.2:262
 msgid ""
 "Note that file descriptors created by B<dup>(2)  or B<fork>(2)  share the "
 "current file position pointer, so seeking on such files may be subject to "
 msgid ""
 "Note that file descriptors created by B<dup>(2)  or B<fork>(2)  share the "
 "current file position pointer, so seeking on such files may be subject to "
@@ -5558,7 +6171,7 @@ msgstr ""
 "なファイルで移動を行うと競合状態を引き起こす可能性がある。"
 
 #. type: Plain text
 "なファイルで移動を行うと競合状態を引き起こす可能性がある。"
 
 #. type: Plain text
-#: build/C/man2/lseek.2:241
+#: build/C/man2/lseek.2:269
 msgid ""
 "B<dup>(2), B<fork>(2), B<open>(2), B<fseek>(3), B<lseek64>(3), "
 "B<posix_fallocate>(3)"
 msgid ""
 "B<dup>(2), B<fork>(2), B<open>(2), B<fseek>(3), B<lseek64>(3), "
 "B<posix_fallocate>(3)"
@@ -5567,36 +6180,36 @@ msgstr ""
 "B<posix_fallocate>(3)"
 
 #. type: TH
 "B<posix_fallocate>(3)"
 
 #. type: TH
-#: build/C/man3/lseek64.3:23
+#: build/C/man3/lseek64.3:25
 #, no-wrap
 msgid "LSEEK64"
 msgstr "LSEEK64"
 
 #. type: TH
 #, no-wrap
 msgid "LSEEK64"
 msgstr "LSEEK64"
 
 #. type: TH
-#: build/C/man3/lseek64.3:23
+#: build/C/man3/lseek64.3:25
 #, no-wrap
 #, no-wrap
-msgid "2004-12-11"
-msgstr "2004-12-11"
+msgid "2013-08-19"
+msgstr "2013-08-19"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/lseek64.3:26
+#: build/C/man3/lseek64.3:28
 msgid "lseek64 - reposition 64-bit read/write file offset"
 msgstr "lseek64 - ファイルの 64 ビットの読み書きオフセットの位置を変える"
 
 #. type: Plain text
 msgid "lseek64 - reposition 64-bit read/write file offset"
 msgstr "lseek64 - ファイルの 64 ビットの読み書きオフセットの位置を変える"
 
 #. type: Plain text
-#: build/C/man3/lseek64.3:28
+#: build/C/man3/lseek64.3:30
 msgid "B<#define _LARGEFILE64_SOURCE> /* See feature_test_macros(7) */"
 msgstr "B<#define _LARGEFILE64_SOURCE> /* feature_test_macros(7) 参照 */"
 
 #. type: Plain text
 msgid "B<#define _LARGEFILE64_SOURCE> /* See feature_test_macros(7) */"
 msgstr "B<#define _LARGEFILE64_SOURCE> /* feature_test_macros(7) 参照 */"
 
 #. type: Plain text
-#: build/C/man3/lseek64.3:34
+#: build/C/man3/lseek64.3:36
 msgid ""
 "B<off64_t lseek64(int >I<fd>B<, off64_t >I<offset>B<, int >I<whence>B<);>"
 msgstr ""
 "B<off64_t lseek64(int >I<fd>B<, off64_t >I<offset>B<, int >I<whence>B<);>"
 
 #. type: Plain text
 msgid ""
 "B<off64_t lseek64(int >I<fd>B<, off64_t >I<offset>B<, int >I<whence>B<);>"
 msgstr ""
 "B<off64_t lseek64(int >I<fd>B<, off64_t >I<offset>B<, int >I<whence>B<);>"
 
 #. type: Plain text
-#: build/C/man3/lseek64.3:51
+#: build/C/man3/lseek64.3:53
 msgid ""
 "The B<lseek>(2)  family of functions reposition the offset of the open file "
 "associated with the file descriptor I<fd> to I<offset> bytes relative to the "
 msgid ""
 "The B<lseek>(2)  family of functions reposition the offset of the open file "
 "associated with the file descriptor I<fd> to I<offset> bytes relative to the "
@@ -5609,39 +6222,39 @@ msgstr ""
 "B<SEEK_CUR>, B<SEEK_END> の場合に対応する。"
 
 #. type: Plain text
 "B<SEEK_CUR>, B<SEEK_END> の場合に対応する。"
 
 #. type: Plain text
-#: build/C/man3/lseek64.3:54
+#: build/C/man3/lseek64.3:56
 msgid "For more details, return value, and errors, see B<lseek>(2)."
 msgstr "更に詳しい説明・返り値・エラーは、 B<lseek>(2)  を参照すること。"
 
 #. type: Plain text
 msgid "For more details, return value, and errors, see B<lseek>(2)."
 msgstr "更に詳しい説明・返り値・エラーは、 B<lseek>(2)  を参照すること。"
 
 #. type: Plain text
-#: build/C/man3/lseek64.3:61
+#: build/C/man3/lseek64.3:63
 msgid ""
 "Four interfaces are available: B<lseek>(2), B<lseek64>(), B<llseek>(2), and "
 "the raw system call B<_llseek>(2)."
 msgstr ""
 msgid ""
 "Four interfaces are available: B<lseek>(2), B<lseek64>(), B<llseek>(2), and "
 "the raw system call B<_llseek>(2)."
 msgstr ""
-"4 つのインタフェースが使用可能である: B<lseek>(2), B<lseek64>(), B<llseek>"
-"(2)  と元となるシステムコール B<_llseek>(2)  である。"
+"4 つのインタフェースが使用可能である: B<lseek>(2), B<lseek64>(), "
+"B<llseek>(2)  と元となるシステムコール B<_llseek>(2)  である。"
 
 #. type: SS
 
 #. type: SS
-#: build/C/man3/lseek64.3:61
+#: build/C/man3/lseek64.3:63
 #, no-wrap
 msgid "lseek"
 msgstr "lseek"
 
 #. type: Plain text
 #, no-wrap
 msgid "lseek"
 msgstr "lseek"
 
 #. type: Plain text
-#: build/C/man3/lseek64.3:63 build/C/man3/lseek64.3:85
-#: build/C/man3/lseek64.3:114
+#: build/C/man3/lseek64.3:65 build/C/man3/lseek64.3:87
+#: build/C/man3/lseek64.3:116
 msgid "Prototype:"
 msgstr "プロトタイプ:"
 
 #. type: Plain text
 msgid "Prototype:"
 msgstr "プロトタイプ:"
 
 #. type: Plain text
-#: build/C/man3/lseek64.3:67
+#: build/C/man3/lseek64.3:69
 #, no-wrap
 msgid "B<off_t lseek(int >I<fd>B<, off_t >I<offset>B<, int >I<whence>B<);>\n"
 msgstr "B<off_t lseek(int >I<fd>B<, off_t >I<offset>B<, int >I<whence>B<);>\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<off_t lseek(int >I<fd>B<, off_t >I<offset>B<, int >I<whence>B<);>\n"
 msgstr "B<off_t lseek(int >I<fd>B<, off_t >I<offset>B<, int >I<whence>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/lseek64.3:75
+#: build/C/man3/lseek64.3:77
 msgid ""
 "B<lseek>(2)  uses the type I<off_t>.  This is a 32-bit signed type on 32-bit "
 "architectures, unless one compiles with"
 msgid ""
 "B<lseek>(2)  uses the type I<off_t>.  This is a 32-bit signed type on 32-bit "
 "architectures, unless one compiles with"
@@ -5650,24 +6263,24 @@ msgstr ""
 "ビット符号付き型である。 ただし、"
 
 #. type: Plain text
 "ビット符号付き型である。 ただし、"
 
 #. type: Plain text
-#: build/C/man3/lseek64.3:83
+#: build/C/man3/lseek64.3:85
 msgid "in which case it is a 64-bit signed type."
 msgstr "を定義してコンパイルした場合は 64 ビット符号付き型である。"
 
 #. type: SS
 msgid "in which case it is a 64-bit signed type."
 msgstr "を定義してコンパイルした場合は 64 ビット符号付き型である。"
 
 #. type: SS
-#: build/C/man3/lseek64.3:83
+#: build/C/man3/lseek64.3:85
 #, no-wrap
 msgid "lseek64"
 msgstr "lseek64"
 
 #. type: Plain text
 #, no-wrap
 msgid "lseek64"
 msgstr "lseek64"
 
 #. type: Plain text
-#: build/C/man3/lseek64.3:89
+#: build/C/man3/lseek64.3:91
 #, no-wrap
 msgid "B<off64_t lseek64(int >I<fd>B<, off64_t >I<offset>B<, int >I<whence>B<);>\n"
 msgstr "B<off64_t lseek64(int >I<fd>B<, off64_t >I<offset>B<, int >I<whence>B<);>\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<off64_t lseek64(int >I<fd>B<, off64_t >I<offset>B<, int >I<whence>B<);>\n"
 msgstr "B<off64_t lseek64(int >I<fd>B<, off64_t >I<offset>B<, int >I<whence>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/lseek64.3:100
+#: build/C/man3/lseek64.3:102
 msgid ""
 "The library routine B<lseek64>()  uses a 64-bit type even when I<off_t> is a "
 "32-bit type.  Its prototype (and the type I<off64_t>)  is available only "
 msgid ""
 "The library routine B<lseek64>()  uses a 64-bit type even when I<off_t> is a "
 "32-bit type.  Its prototype (and the type I<off64_t>)  is available only "
@@ -5678,14 +6291,14 @@ msgstr ""
 "ルした場合にのみ使用可能である。"
 
 #. type: Plain text
 "ルした場合にのみ使用可能である。"
 
 #. type: Plain text
-#: build/C/man3/lseek64.3:104
+#: build/C/man3/lseek64.3:106
 #, no-wrap
 msgid "#define _LARGEFILE64_SOURCE\n"
 msgstr "#define _LARGEFILE64_SOURCE\n"
 
 #.  in glibc 2.0.94, not in 2.0.6
 #. type: Plain text
 #, no-wrap
 msgid "#define _LARGEFILE64_SOURCE\n"
 msgstr "#define _LARGEFILE64_SOURCE\n"
 
 #.  in glibc 2.0.94, not in 2.0.6
 #. type: Plain text
-#: build/C/man3/lseek64.3:112
+#: build/C/man3/lseek64.3:114
 msgid ""
 "The function B<lseek64>()  is available since glibc 2.1, and is defined to "
 "be an alias for B<llseek>()."
 msgid ""
 "The function B<lseek64>()  is available since glibc 2.1, and is defined to "
 "be an alias for B<llseek>()."
@@ -5694,28 +6307,28 @@ msgstr ""
 "アスとして定義されている。"
 
 #. type: SS
 "アスとして定義されている。"
 
 #. type: SS
-#: build/C/man3/lseek64.3:112
+#: build/C/man3/lseek64.3:114
 #, no-wrap
 msgid "llseek"
 msgstr "llseek"
 
 #. type: Plain text
 #, no-wrap
 msgid "llseek"
 msgstr "llseek"
 
 #. type: Plain text
-#: build/C/man3/lseek64.3:118
+#: build/C/man3/lseek64.3:120
 #, no-wrap
 msgid "B<loff_t llseek(int >I<fd>B<, loff_t >I<offset>B<, int >I<whence>B<);>\n"
 msgstr "B<loff_t llseek(int >I<fd>B<, loff_t >I<offset>B<, int >I<whence>B<);>\n"
 
 #.  in libc 5.0.9, not in 4.7.6
 #. type: Plain text
 #, no-wrap
 msgid "B<loff_t llseek(int >I<fd>B<, loff_t >I<offset>B<, int >I<whence>B<);>\n"
 msgstr "B<loff_t llseek(int >I<fd>B<, loff_t >I<offset>B<, int >I<whence>B<);>\n"
 
 #.  in libc 5.0.9, not in 4.7.6
 #. type: Plain text
-#: build/C/man3/lseek64.3:137
+#: build/C/man3/lseek64.3:139
 msgid ""
 msgid ""
-"The type I<loff_t> is a 64-bit signed type.  The library routine B<llseek>"
-"()  is available in libc5 and glibc and works without special defines.  Its "
-"prototype was given in I<E<lt>unistd.hE<gt>> with libc5, but glibc does not "
-"provide a prototype.  This is bad, since a prototype is needed.  Users "
-"should add the above prototype, or something equivalent, to their own "
-"source.  When users complained about data loss caused by a miscompilation of "
-"B<e2fsck>(8), glibc 2.1.3 added the link-time warning"
+"The type I<loff_t> is a 64-bit signed type.  The library routine "
+"B<llseek>()  is available in libc5 and glibc and works without special "
+"defines.  Its prototype was given in I<E<lt>unistd.hE<gt>> with libc5, but "
+"glibc does not provide a prototype.  This is bad, since a prototype is "
+"needed.  Users should add the above prototype, or something equivalent, to "
+"their own source.  When users complained about data loss caused by a "
+"miscompilation of B<e2fsck>(8), glibc 2.1.3 added the link-time warning"
 msgstr ""
 "型 I<loff_t> は 64 ビット符号付き型である。 ライブラリルーチン B<llseek>()  "
 "は libc5 と glibc で使用可能であり、特別な定義なしに動作する。 このプロトタイ"
 msgstr ""
 "型 I<loff_t> は 64 ビット符号付き型である。 ライブラリルーチン B<llseek>()  "
 "は libc5 と glibc で使用可能であり、特別な定義なしに動作する。 このプロトタイ"
@@ -5726,25 +6339,25 @@ msgstr ""
 "ユーザから出たので、 glibc 2.1.3 では以下のようなリンク時の警告が追加された。"
 
 #. type: Plain text
 "ユーザから出たので、 glibc 2.1.3 では以下のようなリンク時の警告が追加された。"
 
 #. type: Plain text
-#: build/C/man3/lseek64.3:140
+#: build/C/man3/lseek64.3:142
 msgid "the \\`llseek\\' function may be dangerous; use \\`lseek64\\' instead."
 msgstr "the \\`llseek\\' function may be dangerous; use \\`lseek64\\' instead."
 
 #. type: Plain text
 msgid "the \\`llseek\\' function may be dangerous; use \\`lseek64\\' instead."
 msgstr "the \\`llseek\\' function may be dangerous; use \\`lseek64\\' instead."
 
 #. type: Plain text
-#: build/C/man3/lseek64.3:144
+#: build/C/man3/lseek64.3:146
 msgid ""
 "This makes this function unusable if one desires a warning-free compilation."
 msgstr ""
 "これにより、警告なしでコンパイルしたい場合には、この関数を使用不可にできる。"
 
 #. type: SS
 msgid ""
 "This makes this function unusable if one desires a warning-free compilation."
 msgstr ""
 "これにより、警告なしでコンパイルしたい場合には、この関数を使用不可にできる。"
 
 #. type: SS
-#: build/C/man3/lseek64.3:144
+#: build/C/man3/lseek64.3:146
 #, no-wrap
 msgid "_llseek"
 msgstr "_llseek"
 
 #. type: Plain text
 #, no-wrap
 msgid "_llseek"
 msgstr "_llseek"
 
 #. type: Plain text
-#: build/C/man3/lseek64.3:147
+#: build/C/man3/lseek64.3:149
 msgid ""
 "All the above functions are implemented in terms of this system call.  The "
 "prototype is:"
 msgid ""
 "All the above functions are implemented in terms of this system call.  The "
 "prototype is:"
@@ -5753,7 +6366,7 @@ msgstr ""
 "下の通り:"
 
 #. type: Plain text
 "下の通り:"
 
 #. type: Plain text
-#: build/C/man3/lseek64.3:152
+#: build/C/man3/lseek64.3:154
 #, no-wrap
 msgid ""
 "B<int _llseek(int >I<fd>B<, off_t >I<offset_hi>B<, off_t >I<offset_lo>B<,>\n"
 #, no-wrap
 msgid ""
 "B<int _llseek(int >I<fd>B<, off_t >I<offset_hi>B<, off_t >I<offset_lo>B<,>\n"
@@ -5763,34 +6376,33 @@ msgstr ""
 "B<            loff_t *>I<result>B<, int >I<whence>B<);>\n"
 
 #. type: Plain text
 "B<            loff_t *>I<result>B<, int >I<whence>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/lseek64.3:157
+#: build/C/man3/lseek64.3:159
 msgid "For more details, see B<llseek>(2)."
 msgstr "更に詳しい情報は、 B<llseek>(2)  を参照すること。"
 
 #. type: Plain text
 msgid "For more details, see B<llseek>(2)."
 msgstr "更に詳しい情報は、 B<llseek>(2)  を参照すること。"
 
 #. type: Plain text
-#: build/C/man3/lseek64.3:160
+#: build/C/man3/lseek64.3:164
+msgid "The B<lseek64>()  function is thread-safe."
+msgstr "関数 B<lseek64>() はスレッドセーフである。"
+
+#. type: Plain text
+#: build/C/man3/lseek64.3:167
 msgid "B<llseek>(2), B<lseek>(2)"
 msgstr "B<llseek>(2), B<lseek>(2)"
 
 #. type: TH
 msgid "B<llseek>(2), B<lseek>(2)"
 msgstr "B<llseek>(2), B<lseek>(2)"
 
 #. type: TH
-#: build/C/man2/open.2:52
+#: build/C/man2/open.2:51
 #, no-wrap
 msgid "OPEN"
 msgstr "OPEN"
 
 #, no-wrap
 msgid "OPEN"
 msgstr "OPEN"
 
-#. type: TH
-#: build/C/man2/open.2:52
-#, no-wrap
-msgid "2012-02-27"
-msgstr "2012-02-27"
-
 #. type: Plain text
 #. type: Plain text
-#: build/C/man2/open.2:55
-msgid "open, creat - open and possibly create a file or device"
-msgstr "open, creat - ファイルやデバイスのオープン、作成を行う"
+#: build/C/man2/open.2:54
+msgid "open, openat, creat - open and possibly create a file"
+msgstr "open, openat, creat - ファイルのオープン、作成を行う"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/open.2:60
+#: build/C/man2/open.2:59
 #, no-wrap
 msgid ""
 "B<#include E<lt>sys/types.hE<gt>>\n"
 #, no-wrap
 msgid ""
 "B<#include E<lt>sys/types.hE<gt>>\n"
@@ -5802,7 +6414,7 @@ msgstr ""
 "B<#include E<lt>fcntl.hE<gt>>\n"
 
 #. type: Plain text
 "B<#include E<lt>fcntl.hE<gt>>\n"
 
 #. type: Plain text
-#: build/C/man2/open.2:63
+#: build/C/man2/open.2:62
 #, no-wrap
 msgid ""
 "B<int open(const char *>I<pathname>B<, int >I<flags>B<);>\n"
 #, no-wrap
 msgid ""
 "B<int open(const char *>I<pathname>B<, int >I<flags>B<);>\n"
@@ -5812,13 +6424,28 @@ msgstr ""
 "B<int open(const char *>I<pathname>B<, int >I<flags>B<, mode_t >I<mode>B<);>\n"
 
 #. type: Plain text
 "B<int open(const char *>I<pathname>B<, int >I<flags>B<, mode_t >I<mode>B<);>\n"
 
 #. type: Plain text
-#: build/C/man2/open.2:65
+#: build/C/man2/open.2:64
 #, no-wrap
 msgid "B<int creat(const char *>I<pathname>B<, mode_t >I<mode>B<);>\n"
 msgstr "B<int creat(const char *>I<pathname>B<, mode_t >I<mode>B<);>\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<int creat(const char *>I<pathname>B<, mode_t >I<mode>B<);>\n"
 msgstr "B<int creat(const char *>I<pathname>B<, mode_t >I<mode>B<);>\n"
 
 #. type: Plain text
+#: build/C/man2/open.2:68
+#, no-wrap
+msgid ""
+"B<int openat(int >I<dirfd>B<, const char *>I<pathname>B<, int >I<flags>B<);>\n"
+"B<int openat(int >I<dirfd>B<, const char *>I<pathname>B<, int >I<flags>B<, mode_t >I<mode>B<);>\n"
+msgstr ""
+"B<int openat(int >I<dirfd>B<, const char *>I<pathname>B<, int >I<flags>B<);>\n"
+"B<int openat(int >I<dirfd>B<, const char *>I<pathname>B<, int >I<flags>B<, mode_t >I<mode>B<);>\n"
+
+#. type: Plain text
 #: build/C/man2/open.2:76
 #: build/C/man2/open.2:76
+msgid "B<openat>():"
+msgstr "B<openat>():"
+
+#. type: Plain text
+#: build/C/man2/open.2:98
 msgid ""
 "Given a I<pathname> for a file, B<open>()  returns a file descriptor, a "
 "small, nonnegative integer for use in subsequent system calls (B<read>(2), "
 msgid ""
 "Given a I<pathname> for a file, B<open>()  returns a file descriptor, a "
 "small, nonnegative integer for use in subsequent system calls (B<read>(2), "
@@ -5834,13 +6461,13 @@ msgstr ""
 "のものとなる。"
 
 #. type: Plain text
 "のものとなる。"
 
 #. type: Plain text
-#: build/C/man2/open.2:88
+#: build/C/man2/open.2:110
 msgid ""
 msgid ""
-"By default, the new file descriptor is set to remain open across an B<execve>"
-"(2)  (i.e., the B<FD_CLOEXEC> file descriptor flag described in B<fcntl>(2)  "
-"is initially disabled; the B<O_CLOEXEC> flag, described below, can be used "
-"to change this default).  The file offset is set to the beginning of the "
-"file (see B<lseek>(2))."
+"By default, the new file descriptor is set to remain open across an "
+"B<execve>(2)  (i.e., the B<FD_CLOEXEC> file descriptor flag described in "
+"B<fcntl>(2))  is initially disabled; the B<O_CLOEXEC> flag, described below, "
+"can be used to change this default.  The file offset is set to the beginning "
+"of the file (see B<lseek>(2))."
 msgstr ""
 "デフォルトでは、新しいファイルディスクリプタは B<execve>(2) を実行した後も\n"
 "オープンされたままとなる (つまり、 B<fcntl>(2) に説明がある B<FD_CLOEXEC> \n"
 msgstr ""
 "デフォルトでは、新しいファイルディスクリプタは B<execve>(2) を実行した後も\n"
 "オープンされたままとなる (つまり、 B<fcntl>(2) に説明がある B<FD_CLOEXEC> \n"
@@ -5849,15 +6476,28 @@ msgstr ""
 "(file offset) はファイルの先頭に設定される (B<lseek>(2) 参照)。"
 
 #. type: Plain text
 "(file offset) はファイルの先頭に設定される (B<lseek>(2) 参照)。"
 
 #. type: Plain text
-#: build/C/man2/open.2:107
+#: build/C/man2/open.2:131
+#, fuzzy
+#| msgid ""
+#| "A call to B<open>()  creates a new I<open file description>, an entry in "
+#| "the system-wide table of open files.  This entry records the file offset "
+#| "and the file status flags (modifiable via the B<fcntl>(2)  B<F_SETFL> "
+#| "operation).  A file descriptor is a reference to one of these entries; "
+#| "this reference is unaffected if I<pathname> is subsequently removed or "
+#| "modified to refer to a different file.  The new open file description is "
+#| "initially not shared with any other process, but sharing may arise via "
+#| "B<fork>(2)."
 msgid ""
 "A call to B<open>()  creates a new I<open file description>, an entry in the "
 msgid ""
 "A call to B<open>()  creates a new I<open file description>, an entry in the "
-"system-wide table of open files.  This entry records the file offset and the "
-"file status flags (modifiable via the B<fcntl>(2)  B<F_SETFL> operation).  A "
-"file descriptor is a reference to one of these entries; this reference is "
-"unaffected if I<pathname> is subsequently removed or modified to refer to a "
-"different file.  The new open file description is initially not shared with "
-"any other process, but sharing may arise via B<fork>(2)."
+"system-wide table of open files.  (This object is variously also called an "
+"\"open file object\", a \"file handle\", an \"open file table entry\", or"
+"\\(emin kernel-developer parlance\\(ema I<struct file>.  The term \"open "
+"file description\" is used by POSIX.)  The open file description records the "
+"file offset and the file status flags (see below).  A file descriptor is a "
+"reference to an open file description; this reference is unaffected if "
+"I<pathname> is subsequently removed or modified to refer to a different "
+"file.  The new open file description is initially not shared with any other "
+"process, but sharing may arise via B<fork>(2)."
 msgstr ""
 "B<open>()  を呼び出すと、「オープンファイル記述」 I<(open file description)> "
 "が作成される。ファイル記述とは、システム全体の オープン中のファイルのテーブル"
 msgstr ""
 "B<open>()  を呼び出すと、「オープンファイル記述」 I<(open file description)> "
 "が作成される。ファイル記述とは、システム全体の オープン中のファイルのテーブル"
@@ -5869,7 +6509,7 @@ msgstr ""
 "が、 B<fork>(2)  で共有が起こる場合がある。"
 
 #. type: Plain text
 "が、 B<fork>(2)  で共有が起こる場合がある。"
 
 #. type: Plain text
-#: build/C/man2/open.2:115
+#: build/C/man2/open.2:139
 msgid ""
 "The argument I<flags> must include one of the following I<access modes>: "
 "B<O_RDONLY>, B<O_WRONLY>, or B<O_RDWR>.  These request opening the file read-"
 msgid ""
 "The argument I<flags> must include one of the following I<access modes>: "
 "B<O_RDONLY>, B<O_WRONLY>, or B<O_RDWR>.  These request opening the file read-"
@@ -5879,36 +6519,45 @@ msgstr ""
 "れかひとつが入っていなければならない。 これらはそれぞれ読み込み専用、書き込み"
 "専用、読み書き用に ファイルをオープンすることを要求するものである。"
 
 "れかひとつが入っていなければならない。 これらはそれぞれ読み込み専用、書き込み"
 "専用、読み書き用に ファイルをオープンすることを要求するものである。"
 
-#.  FIXME . Actually is it true that the "file status flags" are all of the
-#.  remaining flags listed below?  SUSv4 divides the flags into:
+#.  SUSv4 divides the flags into:
 #.  * Access mode
 #.  * File creation
 #.  * File status
 #.  * Other (O_CLOEXEC, O_DIRECTORY, O_NOFOLLOW)
 #.  though it's not clear what the difference between "other" and
 #.  * Access mode
 #.  * File creation
 #.  * File status
 #.  * Other (O_CLOEXEC, O_DIRECTORY, O_NOFOLLOW)
 #.  though it's not clear what the difference between "other" and
-#.  "File creation" flags is.  (I've raised an Aardvark to see if this
-#.  can be clarified in SUSv4; 10 Oct 2008.)
+#.  "File creation" flags is.  I raised an Aardvark to see if this
+#.  can be clarified in SUSv4; 10 Oct 2008.
+#.  http://thread.gmane.org/gmane.comp.standards.posix.austin.general/64/focus=67
+#.  TC1 (balloted in 2013), resolved this, so that those three constants
+#.  are also categorized" as file status flags.
 #. type: Plain text
 #. type: Plain text
-#: build/C/man2/open.2:142
+#: build/C/man2/open.2:178
 msgid ""
 "In addition, zero or more file creation flags and file status flags can be "
 msgid ""
 "In addition, zero or more file creation flags and file status flags can be "
-"bitwise-I<or>'d in I<flags>.  The I<file creation flags> are B<O_CREAT>, "
-"B<O_EXCL>, B<O_NOCTTY>, and B<O_TRUNC>.  The I<file status flags> are all of "
-"the remaining flags listed below.  The distinction between these two groups "
-"of flags is that the file status flags can be retrieved and (in some cases)  "
-"modified using B<fcntl>(2).  The full list of file creation flags and file "
-"status flags is as follows:"
+"bitwise-I<or>'d in I<flags>.  The I<file creation flags> are B<O_CLOEXEC>, "
+"B<O_CREAT>, B<O_DIRECTORY>, B<O_EXCL>, B<O_NOCTTY>, B<O_NOFOLLOW>, "
+"B<O_TMPFILE>, B<O_TRUNC>, and B<O_TTY_INIT>.  The I<file status flags> are "
+"all of the remaining flags listed below.  The distinction between these two "
+"groups of flags is that the file status flags can be retrieved and (in some "
+"cases)  modified; see B<fcntl>(2)  for details."
 msgstr ""
 "さらに、 I<flags> には、ファイル作成フラグ (file creation flag) とファイル状"
 "態フラグ (file status flag) を 0 個以上「ビット単位の OR (bitwise-or)」で 指"
 msgstr ""
 "さらに、 I<flags> には、ファイル作成フラグ (file creation flag) とファイル状"
 "態フラグ (file status flag) を 0 個以上「ビット単位の OR (bitwise-or)」で 指"
-"定することができる。 I<ファイル作成フラグ> は B<O_CREAT>, B<O_EXCL>, "
-"B<O_NOCTTY>, B<O_TRUNC> である。 I<ファイル状態フラグ> は以下のリストのうち上"
-"記以外の残りのものである。 二種類のフラグの違いは、ファイル状態フラグの方は "
-"B<fcntl>(2)  を使ってその内容を取得したり (場合によっては) 変更したりできる点"
-"にある。 ファイル作成フラグとファイル状態フラグの全リストを以下に示す:"
+"定することができる。 I<ファイル作成フラグ> は B<O_CLOEXEC>, B<O_CREAT>, "
+"B<O_DIRECTORY>, B<O_EXCL>, B<O_NOCTTY>, B<O_NOFOLLOW>, B<O_TMPFILE>, "
+"B<O_TRUNC>, B<O_TTY_INIT> である。 I<ファイル状態フラグ> は以下のリストのうち"
+"上記以外の残りのものである。 二種類のフラグの違いは、ファイル状態フラグの方は"
+"その内容を取得したり (場合によっては) 変更したりできる点にある。詳細は "
+"B<fcntl>(2) を参照。"
+
+#. type: Plain text
+#: build/C/man2/open.2:180
+msgid ""
+"The full list of file creation flags and file status flags is as follows:"
+msgstr "すべてのファイル作成フラグとファイル状態フラグを以下のリストに示す。"
 
 #. type: TP
 
 #. type: TP
-#: build/C/man2/open.2:142
+#: build/C/man2/open.2:180
 #, no-wrap
 msgid "B<O_APPEND>"
 msgstr "B<O_APPEND>"
 #, no-wrap
 msgid "B<O_APPEND>"
 msgstr "B<O_APPEND>"
@@ -5917,11 +6566,11 @@ msgstr "B<O_APPEND>"
 #.  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=453946
 #.  http://nfs.sourceforge.net/
 #. type: Plain text
 #.  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=453946
 #.  http://nfs.sourceforge.net/
 #. type: Plain text
-#: build/C/man2/open.2:159
+#: build/C/man2/open.2:197
 msgid ""
 "The file is opened in append mode.  Before each B<write>(2), the file offset "
 "is positioned at the end of the file, as if with B<lseek>(2).  B<O_APPEND> "
 msgid ""
 "The file is opened in append mode.  Before each B<write>(2), the file offset "
 "is positioned at the end of the file, as if with B<lseek>(2).  B<O_APPEND> "
-"may lead to corrupted files on NFS file systems if more than one process "
+"may lead to corrupted files on NFS filesystems if more than one process "
 "appends data to a file at once.  This is because NFS does not support "
 "appending to a file, so the client kernel has to simulate it, which can't be "
 "done without a race condition."
 "appends data to a file at once.  This is because NFS does not support "
 "appending to a file, so the client kernel has to simulate it, which can't be "
 "done without a race condition."
@@ -5935,57 +6584,78 @@ msgstr ""
 "とはできないからである。"
 
 #. type: TP
 "とはできないからである。"
 
 #. type: TP
-#: build/C/man2/open.2:159
+#: build/C/man2/open.2:197
 #, no-wrap
 msgid "B<O_ASYNC>"
 msgstr "B<O_ASYNC>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<O_ASYNC>"
 msgstr "B<O_ASYNC>"
 
 #. type: Plain text
-#: build/C/man2/open.2:172
+#: build/C/man2/open.2:211
 msgid ""
 "Enable signal-driven I/O: generate a signal (B<SIGIO> by default, but this "
 "can be changed via B<fcntl>(2))  when input or output becomes possible on "
 msgid ""
 "Enable signal-driven I/O: generate a signal (B<SIGIO> by default, but this "
 "can be changed via B<fcntl>(2))  when input or output becomes possible on "
-"this file descriptor.  This feature is only available for terminals, "
+"this file descriptor.  This feature is available only for terminals, "
 "pseudoterminals, sockets, and (since Linux 2.6) pipes and FIFOs.  See "
 "pseudoterminals, sockets, and (since Linux 2.6) pipes and FIFOs.  See "
-"B<fcntl>(2)  for further details."
+"B<fcntl>(2)  for further details.  See also BUGS, below."
 msgstr ""
 "シグナル駆動 I/O (signal-driven I/O) を有効にする: このファイルディスクリプタ"
 "への 入力または出力が可能になった場合に、シグナルを生成する (デフォルトは "
 "B<SIGIO> であるが、 B<fcntl>(2)  によって変更可能である)。 この機能が使用可能"
 "なのは端末、疑似端末、ソケットのみであり、 (Linux 2.6 以降では) パイプと "
 msgstr ""
 "シグナル駆動 I/O (signal-driven I/O) を有効にする: このファイルディスクリプタ"
 "への 入力または出力が可能になった場合に、シグナルを生成する (デフォルトは "
 "B<SIGIO> であるが、 B<fcntl>(2)  によって変更可能である)。 この機能が使用可能"
 "なのは端末、疑似端末、ソケットのみであり、 (Linux 2.6 以降では) パイプと "
-"FIFO に対しても使用できる。 さらに詳しい説明は B<fcntl>(2)  を参照すること。"
+"FIFO に対しても使用できる。 さらに詳しい説明は B<fcntl>(2)  を参照すること。 "
+"下記の「バグ」も参照。"
 
 #. type: TP
 
 #. type: TP
-#: build/C/man2/open.2:172
+#: build/C/man2/open.2:211
 #, no-wrap
 #, no-wrap
-msgid "B<O_CLOEXEC> (Since Linux 2.6.23)"
+msgid "B<O_CLOEXEC> (since Linux 2.6.23)"
 msgstr "B<O_CLOEXEC> (Linux 2.6.23 以降)"
 
 msgstr "B<O_CLOEXEC> (Linux 2.6.23 以降)"
 
-#.  This flag fixes only one form of the race condition;
-#.  The race can also occur with, for example, descriptors
-#.  returned by accept(), pipe(), etc.
+#.  NOTE! several other man pages refer to this text
 #. type: Plain text
 #. type: Plain text
-#: build/C/man2/open.2:197
+#: build/C/man2/open.2:221
 msgid ""
 "Enable the close-on-exec flag for the new file descriptor.  Specifying this "
 "flag permits a program to avoid additional B<fcntl>(2)  B<F_SETFD> "
 msgid ""
 "Enable the close-on-exec flag for the new file descriptor.  Specifying this "
 "flag permits a program to avoid additional B<fcntl>(2)  B<F_SETFD> "
-"operations to set the B<FD_CLOEXEC> flag.  Additionally, use of this flag is "
-"essential in some multithreaded programs since using a separate B<fcntl>(2)  "
-"B<F_SETFD> operation to set the B<FD_CLOEXEC> flag does not suffice to avoid "
-"race conditions where one thread opens a file descriptor at the same time as "
-"another thread does a B<fork>(2)  plus B<execve>(2)."
+"operations to set the B<FD_CLOEXEC> flag."
 msgstr ""
 "新しいファイルディスクリプタに対して close-on-exec フラグを有効にする。 この"
 msgstr ""
 "新しいファイルディスクリプタに対して close-on-exec フラグを有効にする。 この"
-"フラグを指定することで、プログラムは B<FD_CLOEXEC> フラグをセットするための "
-"B<fcntl>(2)  B<F_SETFD> 操作を別途呼び出す必要がなくなる。 また、ある種のマル"
-"チスレッドのプログラムはこのフラグの使用は 不可欠である。なぜなら、個別に "
-"B<FD_CLOEXEC> フラグを設定する B<fcntl>(2)  B<F_SETFD> 操作を呼び出したとして"
-"も、あるスレッドがファイルディスクリプタを オープンするのと同時に別のスレッド"
-"が B<fork>(2)  と B<execve>(2)  を実行するという競合条件を避けるのには十分で"
-"はないからである。"
+"フラグを指定することで、 プログラムは B<FD_CLOEXEC> フラグをセットするために "
+"B<fcntl>(2) B<F_SETFD> 操作を別途呼び出す必要がなくなる。"
+
+#.  This flag fixes only one form of the race condition;
+#.  The race can also occur with, for example, descriptors
+#.  returned by accept(), pipe(), etc.
+#. type: Plain text
+#: build/C/man2/open.2:250
+msgid ""
+"Note that the use of this flag is essential in some multithreaded programs, "
+"because using a separate B<fcntl>(2)  B<F_SETFD> operation to set the "
+"B<FD_CLOEXEC> flag does not suffice to avoid race conditions where one "
+"thread opens a file descriptor and attempts to set its close-on-exec flag "
+"using B<fcntl>(2)  at the same time as another thread does a B<fork>(2)  "
+"plus B<execve>(2).  Depending on the order of execution, the race may lead "
+"to the file descriptor returned by B<open>()  being unintentionally leaked "
+"to the program executed by the child process created by B<fork>(2).  (This "
+"kind of race is in principle possible for any system call that creates a "
+"file descriptor whose close-on-exec flag should be set, and various other "
+"Linux system calls provide an equivalent of the B<O_CLOEXEC> flag to deal "
+"with this problem.)"
+msgstr ""
+"ある種のマルチスレッドのプログラムはこのフラグの使用は不可欠である点に注意す"
+"ること。 なぜなら、個別に B<FD_CLOEXEC> フラグを設定する B<fcntl>(2) "
+"B<F_SETFD> 操作を呼び出したとしても、あるスレッドがファイルディスクリプタを "
+"オープンするのと同時に別のスレッドが B<fork>(2) と B<execve>(2) を実行すると"
+"いう競合条件を避けるのには十分ではないからである。 実行の順序に依存して、この"
+"競合条件の結果、 B<open>() が返したファイルディスクリプタが B<fork>(2) で作成"
+"された子プロセスにより実行されるプログラムに意図せず見えてしまう可能性があ"
+"る。 (この種の競合は、 本質的に、 close-on-exec フラグをセットすべきファイル"
+"ディスクリプタを作成するどのシステムコールでも起こり得るものであり、 他のいろ"
+"いろな Linux システムコールでこの問題に対処するために B<O_CLOEXEC> と同等の機"
+"能が提供されている。)"
 
 #. type: TP
 
 #. type: TP
-#: build/C/man2/open.2:197
+#: build/C/man2/open.2:250
 #, no-wrap
 msgid "B<O_CREAT>"
 msgstr "B<O_CREAT>"
 #, no-wrap
 msgid "B<O_CREAT>"
 msgstr "B<O_CREAT>"
@@ -5993,13 +6663,13 @@ msgstr "B<O_CREAT>"
 #.  As at 2.6.25, bsdgroups is supported by ext2, ext3, ext4, and
 #.  XFS (since 2.6.14).
 #. type: Plain text
 #.  As at 2.6.25, bsdgroups is supported by ext2, ext3, ext4, and
 #.  XFS (since 2.6.14).
 #. type: Plain text
-#: build/C/man2/open.2:213
+#: build/C/man2/open.2:266
 msgid ""
 msgid ""
-"If the file does not exist it will be created.  The owner (user ID) of the "
+"If the file does not exist, it will be created.  The owner (user ID) of the "
 "file is set to the effective user ID of the process.  The group ownership "
 "(group ID) is set either to the effective group ID of the process or to the "
 "file is set to the effective user ID of the process.  The group ownership "
 "(group ID) is set either to the effective group ID of the process or to the "
-"group ID of the parent directory (depending on file system type and mount "
-"options, and the mode of the parent directory, see the mount options "
+"group ID of the parent directory (depending on filesystem type and mount "
+"options, and the mode of the parent directory; see the mount options "
 "I<bsdgroups> and I<sysvgroups> described in B<mount>(8))."
 msgstr ""
 "ファイルが存在しなかった場合は作成 (create) する。 ファイルの所有者 (ユー"
 "I<bsdgroups> and I<sysvgroups> described in B<mount>(8))."
 msgstr ""
 "ファイルが存在しなかった場合は作成 (create) する。 ファイルの所有者 (ユー"
@@ -6010,198 +6680,193 @@ msgstr ""
 "I<bsdgroups> と I<sysvgroups> を参照)。"
 
 #. type: Plain text
 "I<bsdgroups> と I<sysvgroups> を参照)。"
 
 #. type: Plain text
-#: build/C/man2/open.2:236
+#: build/C/man2/open.2:293
 msgid ""
 "I<mode> specifies the permissions to use in case a new file is created.  "
 msgid ""
 "I<mode> specifies the permissions to use in case a new file is created.  "
-"This argument must be supplied when B<O_CREAT> is specified in I<flags>; if "
-"B<O_CREAT> is not specified, then I<mode> is ignored.  The effective "
-"permissions are modified by the process's I<umask> in the usual way: The "
-"permissions of the created file are I<(mode\\ &\\ ~umask)>.  Note that this "
-"mode only applies to future accesses of the newly created file; the B<open>"
-"()  call that creates a read-only file may well return a read/write file "
-"descriptor."
+"This argument must be supplied when B<O_CREAT> or B<O_TMPFILE> is specified "
+"in I<flags>; if neither B<O_CREAT> nor B<O_TMPFILE> is specified, then "
+"I<mode> is ignored.  The effective permissions are modified by the process's "
+"I<umask> in the usual way: The permissions of the created file are I<(mode\\ "
+"&\\ ~umask)>.  Note that this mode applies only to future accesses of the "
+"newly created file; the B<open>()  call that creates a read-only file may "
+"well return a read/write file descriptor."
 msgstr ""
 "I<mode> は新しいファイルを作成する場合に使用するアクセス許可 (permission) を"
 msgstr ""
 "I<mode> は新しいファイルを作成する場合に使用するアクセス許可 (permission) を"
-"指定する。 I<flags> に B<O_CREAT> が指定されている場合、 I<mode> を指定しなけ"
-"ればならない。 B<O_CREAT> が指定されていない場合、 I<mode> は無視される。 有"
-"効なアクセス許可は、普段と同じようにプロセスの I<umask> によって修正され、作"
-"成されたファイルの許可は I<(mode\\ &\\ ~umask)> となる。 このモードは、新しく"
-"作成されたファイルに対するそれ以降のアクセス にのみ適用される点に注意するこ"
-"と。 読み取り専用のファイルを作成する B<open>()  コールであっても、 読み書き"
-"可能なファイルディスクリプタを返すことがありうる。"
+"指定する。 I<flags> に B<O_CREAT> か B<O_TMPFILE> が指定されている場合、 "
+"I<mode> を指定しなければならない。 B<O_CREAT> も B<O_TMPFILE> も指定されてい"
+"ない場合、 I<mode> は無視される。 有効なアクセス許可は、普段と同じようにプロ"
+"セスの I<umask> によって修正され、作成されたファイルの許可は I<(mode\\ &\\ "
+"~umask)> となる。 このモードは、新しく作成されたファイルに対するそれ以降のア"
+"クセス にのみ適用される点に注意すること。 読み取り専用のファイルを作成する "
+"B<open>()  コールであっても、 読み書き可能なファイルディスクリプタを返すこと"
+"がありうる。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/open.2:239
+#: build/C/man2/open.2:296
 msgid "The following symbolic constants are provided for I<mode>:"
 msgstr "I<mode> のために以下のシンボル定数が提供されている :"
 
 #. type: TP
 msgid "The following symbolic constants are provided for I<mode>:"
 msgstr "I<mode> のために以下のシンボル定数が提供されている :"
 
 #. type: TP
-#: build/C/man2/open.2:239
+#: build/C/man2/open.2:296
 #, no-wrap
 msgid "B<S_IRWXU>"
 msgstr "B<S_IRWXU>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<S_IRWXU>"
 msgstr "B<S_IRWXU>"
 
 #. type: Plain text
-#: build/C/man2/open.2:242
+#: build/C/man2/open.2:299
 msgid "00700 user (file owner) has read, write and execute permission"
 msgstr ""
 "00700 ユーザー (ファイルの所有者) に読み込み、書き込み、 実行の許可がある。"
 
 #. type: TP
 msgid "00700 user (file owner) has read, write and execute permission"
 msgstr ""
 "00700 ユーザー (ファイルの所有者) に読み込み、書き込み、 実行の許可がある。"
 
 #. type: TP
-#: build/C/man2/open.2:242
+#: build/C/man2/open.2:299
 #, no-wrap
 msgid "B<S_IRUSR>"
 msgstr "B<S_IRUSR>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<S_IRUSR>"
 msgstr "B<S_IRUSR>"
 
 #. type: Plain text
-#: build/C/man2/open.2:245
+#: build/C/man2/open.2:302
 msgid "00400 user has read permission"
 msgstr "00400 ユーザーに読み込みの許可がある。"
 
 #. type: TP
 msgid "00400 user has read permission"
 msgstr "00400 ユーザーに読み込みの許可がある。"
 
 #. type: TP
-#: build/C/man2/open.2:245
+#: build/C/man2/open.2:302
 #, no-wrap
 msgid "B<S_IWUSR>"
 msgstr "B<S_IWUSR>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<S_IWUSR>"
 msgstr "B<S_IWUSR>"
 
 #. type: Plain text
-#: build/C/man2/open.2:248
+#: build/C/man2/open.2:305
 msgid "00200 user has write permission"
 msgstr "00200 ユーザーに書き込みの許可がある。"
 
 #. type: TP
 msgid "00200 user has write permission"
 msgstr "00200 ユーザーに書き込みの許可がある。"
 
 #. type: TP
-#: build/C/man2/open.2:248
+#: build/C/man2/open.2:305
 #, no-wrap
 msgid "B<S_IXUSR>"
 msgstr "B<S_IXUSR>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<S_IXUSR>"
 msgstr "B<S_IXUSR>"
 
 #. type: Plain text
-#: build/C/man2/open.2:251
+#: build/C/man2/open.2:308
 msgid "00100 user has execute permission"
 msgstr "00100 ユーザーに実行の許可がある。"
 
 #. type: TP
 msgid "00100 user has execute permission"
 msgstr "00100 ユーザーに実行の許可がある。"
 
 #. type: TP
-#: build/C/man2/open.2:251
+#: build/C/man2/open.2:308
 #, no-wrap
 msgid "B<S_IRWXG>"
 msgstr "B<S_IRWXG>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<S_IRWXG>"
 msgstr "B<S_IRWXG>"
 
 #. type: Plain text
-#: build/C/man2/open.2:254
+#: build/C/man2/open.2:311
 msgid "00070 group has read, write and execute permission"
 msgstr "00070 グループに読み込み、書き込み、実行の許可がある。"
 
 #. type: TP
 msgid "00070 group has read, write and execute permission"
 msgstr "00070 グループに読み込み、書き込み、実行の許可がある。"
 
 #. type: TP
-#: build/C/man2/open.2:254
+#: build/C/man2/open.2:311
 #, no-wrap
 msgid "B<S_IRGRP>"
 msgstr "B<S_IRGRP>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<S_IRGRP>"
 msgstr "B<S_IRGRP>"
 
 #. type: Plain text
-#: build/C/man2/open.2:257
+#: build/C/man2/open.2:314
 msgid "00040 group has read permission"
 msgstr "00040 グループに読み込みの許可がある。"
 
 #. type: TP
 msgid "00040 group has read permission"
 msgstr "00040 グループに読み込みの許可がある。"
 
 #. type: TP
-#: build/C/man2/open.2:257
+#: build/C/man2/open.2:314
 #, no-wrap
 msgid "B<S_IWGRP>"
 msgstr "B<S_IWGRP>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<S_IWGRP>"
 msgstr "B<S_IWGRP>"
 
 #. type: Plain text
-#: build/C/man2/open.2:260
+#: build/C/man2/open.2:317
 msgid "00020 group has write permission"
 msgstr "00020 グループに書き込みの許可がある。"
 
 #. type: TP
 msgid "00020 group has write permission"
 msgstr "00020 グループに書き込みの許可がある。"
 
 #. type: TP
-#: build/C/man2/open.2:260
+#: build/C/man2/open.2:317
 #, no-wrap
 msgid "B<S_IXGRP>"
 msgstr "B<S_IXGRP>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<S_IXGRP>"
 msgstr "B<S_IXGRP>"
 
 #. type: Plain text
-#: build/C/man2/open.2:263
+#: build/C/man2/open.2:320
 msgid "00010 group has execute permission"
 msgstr "00010 グループに実行の許可がある。"
 
 #. type: TP
 msgid "00010 group has execute permission"
 msgstr "00010 グループに実行の許可がある。"
 
 #. type: TP
-#: build/C/man2/open.2:263
+#: build/C/man2/open.2:320
 #, no-wrap
 msgid "B<S_IRWXO>"
 msgstr "B<S_IRWXO>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<S_IRWXO>"
 msgstr "B<S_IRWXO>"
 
 #. type: Plain text
-#: build/C/man2/open.2:266
+#: build/C/man2/open.2:323
 msgid "00007 others have read, write and execute permission"
 msgstr "00007 他人 (others) に読み込み、書き込み、実行の許可がある。"
 
 #. type: TP
 msgid "00007 others have read, write and execute permission"
 msgstr "00007 他人 (others) に読み込み、書き込み、実行の許可がある。"
 
 #. type: TP
-#: build/C/man2/open.2:266
+#: build/C/man2/open.2:323
 #, no-wrap
 msgid "B<S_IROTH>"
 msgstr "B<S_IROTH>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<S_IROTH>"
 msgstr "B<S_IROTH>"
 
 #. type: Plain text
-#: build/C/man2/open.2:269
+#: build/C/man2/open.2:326
 msgid "00004 others have read permission"
 msgstr "00004 他人に読み込みの許可がある。"
 
 #. type: TP
 msgid "00004 others have read permission"
 msgstr "00004 他人に読み込みの許可がある。"
 
 #. type: TP
-#: build/C/man2/open.2:269
+#: build/C/man2/open.2:326
 #, no-wrap
 msgid "B<S_IWOTH>"
 msgstr "B<S_IWOTH>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<S_IWOTH>"
 msgstr "B<S_IWOTH>"
 
 #. type: Plain text
-#: build/C/man2/open.2:272
+#: build/C/man2/open.2:329
 msgid "00002 others have write permission"
 msgstr "00002 他人に書き込みの許可がある。"
 
 #. type: TP
 msgid "00002 others have write permission"
 msgstr "00002 他人に書き込みの許可がある。"
 
 #. type: TP
-#: build/C/man2/open.2:272
+#: build/C/man2/open.2:329
 #, no-wrap
 msgid "B<S_IXOTH>"
 msgstr "B<S_IXOTH>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<S_IXOTH>"
 msgstr "B<S_IXOTH>"
 
 #. type: Plain text
-#: build/C/man2/open.2:275
+#: build/C/man2/open.2:332
 msgid "00001 others have execute permission"
 msgstr "00001 他人に実行の許可がある。"
 
 #. type: TP
 msgid "00001 others have execute permission"
 msgstr "00001 他人に実行の許可がある。"
 
 #. type: TP
-#: build/C/man2/open.2:276
+#: build/C/man2/open.2:333
 #, no-wrap
 #, no-wrap
-msgid "B<O_DIRECT> (Since Linux 2.4.10)"
+msgid "B<O_DIRECT> (since Linux 2.4.10)"
 msgstr "B<O_DIRECT> (Linux 2.4.10 以降)"
 
 #. type: Plain text
 msgstr "B<O_DIRECT> (Linux 2.4.10 以降)"
 
 #. type: Plain text
-#: build/C/man2/open.2:293
+#: build/C/man2/open.2:350
 msgid ""
 "Try to minimize cache effects of the I/O to and from this file.  In general "
 "this will degrade performance, but it is useful in special situations, such "
 "as when applications do their own caching.  File I/O is done directly to/"
 msgid ""
 "Try to minimize cache effects of the I/O to and from this file.  In general "
 "this will degrade performance, but it is useful in special situations, such "
 "as when applications do their own caching.  File I/O is done directly to/"
-"from user space buffers.  The B<O_DIRECT> flag on its own makes an effort to "
+"from user-space buffers.  The B<O_DIRECT> flag on its own makes an effort to "
 "transfer data synchronously, but does not give the guarantees of the "
 "B<O_SYNC> flag that data and necessary metadata are transferred.  To "
 "guarantee synchronous I/O, B<O_SYNC> must be used in addition to "
 "B<O_DIRECT>.  See NOTES below for further discussion."
 msgstr ""
 "transfer data synchronously, but does not give the guarantees of the "
 "B<O_SYNC> flag that data and necessary metadata are transferred.  To "
 "guarantee synchronous I/O, B<O_SYNC> must be used in addition to "
 "B<O_DIRECT>.  See NOTES below for further discussion."
 msgstr ""
-"このファイルに対する I/O のキャッシュの効果を最小化しようとする。このフラグ"
-"を\n"
-"使うと、一般的に性能が低下する。 しかしアプリケーションが独自にキャッシング"
-"を\n"
+"このファイルに対する I/O のキャッシュの効果を最小化しようとする。このフラグを"
+"使うと、一般的に性能が低下する。 しかしアプリケーションが独自にキャッシングを"
 "行っているような 特別な場合には役に立つ。 ファイルの I/O はユーザー空間バッ"
 "行っているような 特別な場合には役に立つ。 ファイルの I/O はユーザー空間バッ"
-"ファ\n"
-"に対して直接行われる。 B<O_DIRECT> フラグ自身はデータを同期で転送しようとは"
-"す\n"
-"るが、 B<O_SYNC> フラグのようにデータと必要なメタデータの転送が保証されるわ"
-"け\n"
-"ではない。同期 I/O を保証するためには、 B<O_DIRECT> に加えて B<O_SYNC> を使"
-"用\n"
-"しなければならない。下記の「注意」の節の議論も参照。"
+"ファに対して直接行われる。 B<O_DIRECT> フラグ自身はデータを同期で転送しようと"
+"はするが、 B<O_SYNC> フラグのようにデータと必要なメタデータの転送が保証される"
+"わけではない。同期 I/O を保証するためには、 B<O_DIRECT> に加えて B<O_SYNC> を"
+"使用しなければならない。下記の「注意」の節の議論も参照。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/open.2:297
+#: build/C/man2/open.2:354
 msgid ""
 "A semantically similar (but deprecated) interface for block devices is "
 "described in B<raw>(8)."
 msgid ""
 "A semantically similar (but deprecated) interface for block devices is "
 "described in B<raw>(8)."
@@ -6210,7 +6875,7 @@ msgstr ""
 "れている (但し、このインタフェースは非推奨である)。"
 
 #. type: TP
 "れている (但し、このインタフェースは非推奨である)。"
 
 #. type: TP
-#: build/C/man2/open.2:297
+#: build/C/man2/open.2:354
 #, no-wrap
 msgid "B<O_DIRECTORY>"
 msgstr "B<O_DIRECTORY>"
 #, no-wrap
 msgid "B<O_DIRECTORY>"
 msgstr "B<O_DIRECTORY>"
@@ -6220,26 +6885,52 @@ msgstr "B<O_DIRECTORY>"
 #.  [PATCH] open: O_DIRECTORY and O_CREAT together should fail
 #.  O_DIRECTORY | O_CREAT causes O_DIRECTORY to be ignored.
 #. type: Plain text
 #.  [PATCH] open: O_DIRECTORY and O_CREAT together should fail
 #.  O_DIRECTORY | O_CREAT causes O_DIRECTORY to be ignored.
 #. type: Plain text
-#: build/C/man2/open.2:311
+#: build/C/man2/open.2:366
 msgid ""
 msgid ""
-"If I<pathname> is not a directory, cause the open to fail.  This flag is "
-"Linux-specific, and was added in kernel version 2.1.126, to avoid denial-of-"
-"service problems if B<opendir>(3)  is called on a FIFO or tape device, but "
-"should not be used outside of the implementation of B<opendir>(3)."
+"If I<pathname> is not a directory, cause the open to fail.  This flag was "
+"added in kernel version 2.1.126, to avoid denial-of-service problems if "
+"B<opendir>(3)  is called on a FIFO or tape device."
 msgstr ""
 msgstr ""
-"I<pathname> がディレクトリでなければオープンは失敗する。 このフラグは Linux "
-"特有であり、 B<opendir>(3)  が FIFO やテープデバイスに対してコールされた場合"
-"の サービス不能 (denial-of-service) 攻撃を避けるために カーネル 2.1.126 で追"
-"加された。 しかしこれは B<opendir>(3)  の実装以外では使用するべきではない。"
+"I<pathname> がディレクトリでなければオープンは失敗する。 このフラグは、 "
+"B<opendir>(3)  が FIFO やテープデバイスに対してコールされた場合の サービス不"
+"能 (denial-of-service) 攻撃を避けるために カーネル 2.1.126 で追加された。"
 
 #. type: TP
 
 #. type: TP
-#: build/C/man2/open.2:311
+#: build/C/man2/open.2:366
+#, no-wrap
+msgid "B<O_DSYNC>"
+msgstr "B<O_DSYNC>"
+
+#. type: Plain text
+#: build/C/man2/open.2:372
+msgid ""
+"Write operations on the file will complete according to the requirements of "
+"synchronized I/O I<data> integrity completion."
+msgstr ""
+"ファイルに対する書き込み操作は、同期 I/O のI<データ>完全性完了の要件に基づい"
+"て行われる。"
+
+#. type: Plain text
+#: build/C/man2/open.2:384
+msgid ""
+"By the time B<write>(2)  (and similar)  return, the output data has been "
+"transferred to the underlying hardware, along with any file metadata that "
+"would be required to retrieve that data (i.e., as though each B<write>(2)  "
+"was followed by a call to B<fdatasync>(2)).  I<See NOTES below>."
+msgstr ""
+"B<write>(2) (や同様のコール) が返るまでに、 書き込まれたデータおよびデータを"
+"取得するのに必要なファイルメタデータが裏で利用されているハードウェアに転送さ"
+"れる (つまり、B<write>(2) の後に B<fdatasync>(2) を呼び出したのと同じようにな"
+"る)。 I<下記の「注意」も参照のこと>。"
+
+#. type: TP
+#: build/C/man2/open.2:384
 #, no-wrap
 msgid "B<O_EXCL>"
 msgstr "B<O_EXCL>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<O_EXCL>"
 msgstr "B<O_EXCL>"
 
 #. type: Plain text
-#: build/C/man2/open.2:321
+#: build/C/man2/open.2:394
 msgid ""
 "Ensure that this call creates the file: if this flag is specified in "
 "conjunction with B<O_CREAT>, and I<pathname> already exists, then B<open>()  "
 msgid ""
 "Ensure that this call creates the file: if this flag is specified in "
 "conjunction with B<O_CREAT>, and I<pathname> already exists, then B<open>()  "
@@ -6253,7 +6944,7 @@ msgstr ""
 
 #.  POSIX.1-2001 explicitly requires this behavior.
 #. type: Plain text
 
 #.  POSIX.1-2001 explicitly requires this behavior.
 #. type: Plain text
-#: build/C/man2/open.2:329
+#: build/C/man2/open.2:402
 msgid ""
 "When these two flags are specified, symbolic links are not followed: if "
 "I<pathname> is a symbolic link, then B<open>()  fails regardless of where "
 msgid ""
 "When these two flags are specified, symbolic links are not followed: if "
 "I<pathname> is a symbolic link, then B<open>()  fails regardless of where "
@@ -6264,7 +6955,7 @@ msgstr ""
 "かに関わらず B<open>()  は失敗する。"
 
 #. type: Plain text
 "かに関わらず B<open>()  は失敗する。"
 
 #. type: Plain text
-#: build/C/man2/open.2:345
+#: build/C/man2/open.2:418
 msgid ""
 "In general, the behavior of B<O_EXCL> is undefined if it is used without "
 "B<O_CREAT>.  There is one exception: on Linux 2.6 and later, B<O_EXCL> can "
 msgid ""
 "In general, the behavior of B<O_EXCL> is undefined if it is used without "
 "B<O_CREAT>.  There is one exception: on Linux 2.6 and later, B<O_EXCL> can "
@@ -6272,20 +6963,27 @@ msgid ""
 "block device is in use by the system (e.g., mounted), B<open>()  fails with "
 "the error B<EBUSY>."
 msgstr ""
 "block device is in use by the system (e.g., mounted), B<open>()  fails with "
 "the error B<EBUSY>."
 msgstr ""
+"一般的には、 B<O_CREAT> を指定せずに B<O_EXCL> を使用した場合の\n"
+"B<O_EXCL> の動作は規定されていない。\n"
+"これには一つ例外があり、Linux 2.6 以降では、\n"
+"I<pathname> がブロックデバイスを参照している場合、\n"
+"B<O_CREAT> なしで B<O_EXCL> を使用することができる。\n"
+"システムがそのブロックデバイスを使用中の場合 (例えば、\n"
+"マウントされているなど)、 B<open>() はエラー B<EBUSY> で失敗する。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/open.2:367
+#: build/C/man2/open.2:440
 msgid ""
 msgid ""
-"On NFS, B<O_EXCL> is only supported when using NFSv3 or later on kernel 2.6 "
+"On NFS, B<O_EXCL> is supported only when using NFSv3 or later on kernel 2.6 "
 "or later.  In NFS environments where B<O_EXCL> support is not provided, "
 "programs that rely on it for performing locking tasks will contain a race "
 "condition.  Portable programs that want to perform atomic file locking using "
 "a lockfile, and need to avoid reliance on NFS support for B<O_EXCL>, can "
 "or later.  In NFS environments where B<O_EXCL> support is not provided, "
 "programs that rely on it for performing locking tasks will contain a race "
 "condition.  Portable programs that want to perform atomic file locking using "
 "a lockfile, and need to avoid reliance on NFS support for B<O_EXCL>, can "
-"create a unique file on the same file system (e.g., incorporating hostname "
-"and PID), and use B<link>(2)  to make a link to the lockfile.  If B<link>"
-"(2)  returns 0, the lock is successful.  Otherwise, use B<stat>(2)  on the "
-"unique file to check if its link count has increased to 2, in which case the "
-"lock is also successful."
+"create a unique file on the same filesystem (e.g., incorporating hostname "
+"and PID), and use B<link>(2)  to make a link to the lockfile.  If "
+"B<link>(2)  returns 0, the lock is successful.  Otherwise, use B<stat>(2)  "
+"on the unique file to check if its link count has increased to 2, in which "
+"case the lock is also successful."
 msgstr ""
 "NFS では、 B<O_EXCL> は、Linux 2.6 以降で NFSv3 以降を使っている場合でのみサ"
 "ポートされる。 B<O_EXCL> サポートが提供されていない NFS 環境では、このフラグ"
 msgstr ""
 "NFS では、 B<O_EXCL> は、Linux 2.6 以降で NFSv3 以降を使っている場合でのみサ"
 "ポートされる。 B<O_EXCL> サポートが提供されていない NFS 環境では、このフラグ"
@@ -6300,13 +6998,13 @@ msgstr ""
 "じくロックに成功しているということである。"
 
 #. type: TP
 "じくロックに成功しているということである。"
 
 #. type: TP
-#: build/C/man2/open.2:367
+#: build/C/man2/open.2:440
 #, no-wrap
 msgid "B<O_LARGEFILE>"
 msgstr "B<O_LARGEFILE>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<O_LARGEFILE>"
 msgstr "B<O_LARGEFILE>"
 
 #. type: Plain text
-#: build/C/man2/open.2:389
+#: build/C/man2/open.2:462
 msgid ""
 "(LFS)  Allow files whose sizes cannot be represented in an I<off_t> (but can "
 "be represented in an I<off64_t>)  to be opened.  The B<_LARGEFILE64_SOURCE> "
 msgid ""
 "(LFS)  Allow files whose sizes cannot be represented in an I<off_t> (but can "
 "be represented in an I<off64_t>)  to be opened.  The B<_LARGEFILE64_SOURCE> "
@@ -6327,40 +7025,40 @@ msgstr ""
 "セットする方が望ましい方法である (B<feature_test_macros>(7) を参照)。"
 
 #. type: TP
 "セットする方が望ましい方法である (B<feature_test_macros>(7) を参照)。"
 
 #. type: TP
-#: build/C/man2/open.2:389
+#: build/C/man2/open.2:462
 #, no-wrap
 #, no-wrap
-msgid "B<O_NOATIME> (Since Linux 2.6.8)"
+msgid "B<O_NOATIME> (since Linux 2.6.8)"
 msgstr "B<O_NOATIME> (Linux 2.6.8 以降)"
 
 #.  The O_NOATIME flag also affects the treatment of st_atime
 #.  by mmap() and readdir(2), MTK, Dec 04.
 #. type: Plain text
 msgstr "B<O_NOATIME> (Linux 2.6.8 以降)"
 
 #.  The O_NOATIME flag also affects the treatment of st_atime
 #.  by mmap() and readdir(2), MTK, Dec 04.
 #. type: Plain text
-#: build/C/man2/open.2:400
+#: build/C/man2/open.2:475
 msgid ""
 msgid ""
-"Do not update the file last access time (st_atime in the inode)  when the "
+"Do not update the file last access time (I<st_atime> in the inode)  when the "
 "file is B<read>(2).  This flag is intended for use by indexing or backup "
 "programs, where its use can significantly reduce the amount of disk "
 "file is B<read>(2).  This flag is intended for use by indexing or backup "
 "programs, where its use can significantly reduce the amount of disk "
-"activity.  This flag may not be effective on all file systems.  One example "
+"activity.  This flag may not be effective on all filesystems.  One example "
 "is NFS, where the server maintains the access time."
 msgstr ""
 "ファイルに対して B<read>(2)  が実行されたときに、最終アクセス時刻 (inode の "
 "is NFS, where the server maintains the access time."
 msgstr ""
 "ファイルに対して B<read>(2)  が実行されたときに、最終アクセス時刻 (inode の "
-"st_atime) を更新しない。 このフラグはインデックス作成やバックアッププログラム"
-"ã\81§ä½¿ã\81\86ã\81\93ã\81¨ã\82\92æ\84\8få\9b³ã\81\97ã\81¦ã\81\84ã\82\8bã\80\82 ã\81\93ã\82\8cã\82\92使ã\81\86ã\81¨ã\83\87ã\82£ã\82¹ã\82¯ã\81«å¯¾ã\81\99ã\82\8bæ\93\8dä½\9cã\82\92大å¹\85ã\81«æ¸\9bã\82\89ã\81\99ã\81\93ã\81¨"
-"ができる。 このフラグは全てのファイルシステムに対して有効であるわけではな"
+"I<st_atime>) を更新しない。 このフラグはインデックス作成やバックアッププログ"
+"ã\83©ã\83 ã\81§ä½¿ã\81\86ã\81\93ã\81¨ã\82\92æ\84\8få\9b³ã\81\97ã\81¦ã\81\84ã\82\8bã\80\82 ã\81\93ã\82\8cã\82\92使ã\81\86ã\81¨ã\83\87ã\82£ã\82¹ã\82¯ã\81«å¯¾ã\81\99ã\82\8bæ\93\8dä½\9cã\82\92大å¹\85ã\81«æ¸\9bã\82\89ã\81\99"
+"ã\81\93ã\81¨ã\81\8cã\81§ã\81\8dã\82\8bã\80\82 ã\81\93ã\81®ã\83\95ã\83©ã\82°ã\81¯å\85¨ã\81¦ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\82·ã\82¹ã\83\86ã\83 ã\81«å¯¾ã\81\97ã\81¦æ\9c\89å\8a¹ã\81§ã\81\82ã\82\8bã\82\8fã\81\91ã\81§ã\81¯ã\81ª"
 "い。 その一例が NFS であり、サーバがアクセス時刻を管理している。"
 
 #. type: TP
 "い。 その一例が NFS であり、サーバがアクセス時刻を管理している。"
 
 #. type: TP
-#: build/C/man2/open.2:400
+#: build/C/man2/open.2:475
 #, no-wrap
 msgid "B<O_NOCTTY>"
 msgstr "B<O_NOCTTY>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<O_NOCTTY>"
 msgstr "B<O_NOCTTY>"
 
 #. type: Plain text
-#: build/C/man2/open.2:408
+#: build/C/man2/open.2:483
 msgid ""
 msgid ""
-"If I<pathname> refers to a terminal device\\(emsee B<tty>(4)\\(em it will "
-"not become the process's controlling terminal even if the process does not "
-"have one."
+"If I<pathname> refers to a terminal device\\(emsee B<tty>(4)\\(emit will not "
+"become the process's controlling terminal even if the process does not have "
+"one."
 msgstr ""
 "I<pathname> が端末 (terminal) デバイス \\(em B<tty>(4) 参照 \\(em を指してい"
 "る\n"
 msgstr ""
 "I<pathname> が端末 (terminal) デバイス \\(em B<tty>(4) 参照 \\(em を指してい"
 "る\n"
@@ -6369,7 +7067,7 @@ msgstr ""
 "は制御端末にはならない。"
 
 #. type: TP
 "は制御端末にはならない。"
 
 #. type: TP
-#: build/C/man2/open.2:408
+#: build/C/man2/open.2:483
 #, no-wrap
 msgid "B<O_NOFOLLOW>"
 msgstr "B<O_NOFOLLOW>"
 #, no-wrap
 msgid "B<O_NOFOLLOW>"
 msgstr "B<O_NOFOLLOW>"
@@ -6378,30 +7076,32 @@ msgstr "B<O_NOFOLLOW>"
 #.  definition of this flag; \fIkernels before 2.1.126 will ignore it if
 #.  used\fP.
 #. type: Plain text
 #.  definition of this flag; \fIkernels before 2.1.126 will ignore it if
 #.  used\fP.
 #. type: Plain text
-#: build/C/man2/open.2:417
+#: build/C/man2/open.2:495
 msgid ""
 "If I<pathname> is a symbolic link, then the open fails.  This is a FreeBSD "
 "extension, which was added to Linux in version 2.1.126.  Symbolic links in "
 msgid ""
 "If I<pathname> is a symbolic link, then the open fails.  This is a FreeBSD "
 "extension, which was added to Linux in version 2.1.126.  Symbolic links in "
-"earlier components of the pathname will still be followed."
+"earlier components of the pathname will still be followed.  See also "
+"B<O_PATH> below."
 msgstr ""
 "I<pathname> がシンボリックリンクだった場合、オープンは失敗する。 これは "
 msgstr ""
 "I<pathname> がシンボリックリンクだった場合、オープンは失敗する。 これは "
-"FreeBSD の拡張で、Linux には 2.1.126 より追加された。 pathname の前のコンポー"
-"ネント (earlier component; 訳註: 最後のディレクトリセパレータより前の部分) "
-"が シンボリックリンクである場合には、それが指す先が参照される。"
+"FreeBSD の拡張で、Linux には バージョン 2.1.126 で追加された。 このフラグが指"
+"定された場合でも I<pathname> の前の方の要素 (最後のディレクトリセパレータより"
+"前の部分) にあるシンボリックリンクについてはリンクが辿られる。 下記の "
+"B<O_PATH> も参照のこと。"
 
 #. type: TP
 
 #. type: TP
-#: build/C/man2/open.2:417
+#: build/C/man2/open.2:495
 #, no-wrap
 msgid "B<O_NONBLOCK> or B<O_NDELAY>"
 msgstr "B<O_NONBLOCK> または B<O_NDELAY>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<O_NONBLOCK> or B<O_NDELAY>"
 msgstr "B<O_NONBLOCK> または B<O_NDELAY>"
 
 #. type: Plain text
-#: build/C/man2/open.2:430
+#: build/C/man2/open.2:508
 msgid ""
 msgid ""
-"When possible, the file is opened in nonblocking mode.  Neither the B<open>"
-"()  nor any subsequent operations on the file descriptor which is returned "
-"will cause the calling process to wait.  For the handling of FIFOs (named "
-"pipes), see also B<fifo>(7).  For a discussion of the effect of "
+"When possible, the file is opened in nonblocking mode.  Neither the "
+"B<open>()  nor any subsequent operations on the file descriptor which is "
+"returned will cause the calling process to wait.  For the handling of FIFOs "
+"(named pipes), see also B<fifo>(7).  For a discussion of the effect of "
 "B<O_NONBLOCK> in conjunction with mandatory file locks and with file leases, "
 "see B<fcntl>(2)."
 msgstr ""
 "B<O_NONBLOCK> in conjunction with mandatory file locks and with file leases, "
 "see B<fcntl>(2)."
 msgstr ""
@@ -6415,54 +7115,314 @@ msgstr ""
 "議論は、 B<fcntl>(2) を参照すること。"
 
 #. type: TP
 "議論は、 B<fcntl>(2) を参照すること。"
 
 #. type: TP
-#: build/C/man2/open.2:430
+#: build/C/man2/open.2:508
+#, no-wrap
+msgid "B<O_PATH> (since Linux 2.6.39)"
+msgstr "B<O_PATH> (Linux 2.6.39 以降)"
+
+#
+#.  commit 1abf0c718f15a56a0a435588d1b104c7a37dc9bd
+#.  commit 326be7b484843988afe57566b627fb7a70beac56
+#.  commit 65cfc6722361570bfe255698d9cd4dccaf47570d
+#.  http://thread.gmane.org/gmane.linux.man/2790/focus=3496
+#.     Subject: Re: [PATCH] open(2): document O_PATH
+#.     Newsgroups: gmane.linux.man, gmane.linux.kernel
+#. type: Plain text
+#: build/C/man2/open.2:530
+msgid ""
+"Obtain a file descriptor that can be used for two purposes: to indicate a "
+"location in the filesystem tree and to perform operations that act purely at "
+"the file descriptor level.  The file itself is not opened, and other file "
+"operations (e.g., B<read>(2), B<write>(2), B<fchmod>(2), B<fchown>(2), "
+"B<fgetxattr>(2), B<mmap>(2))  fail with the error B<EBADF>."
+msgstr ""
+"このフラグを指定して取得したファイルディスクリプタは、 ファイルシステムツリー"
+"内での場所を示すため、 純粋にファイルディスクリプタレベルでの作用する操作を実"
+"行するため、 の二つの目的で使用することができる。 ファイル自身はオープンされ"
+"ず、 他のファイル操作 (例えば B<read>(2), B<write>(2), B<fchmod>(2), "
+"B<fchown>(2), B<fgetxattr>(2), B<mmap>(2)) はエラー B<EBADF> で失敗する。"
+
+#. type: Plain text
+#: build/C/man2/open.2:534
+msgid ""
+"The following operations I<can> be performed on the resulting file "
+"descriptor:"
+msgstr ""
+"取得したファイルディスクリプタに対して以下の操作を行うことが「できる」。"
+
+#.  commit 332a2e1244bd08b9e3ecd378028513396a004a24
+#.  fstat(): commit 55815f70147dcfa3ead5738fd56d3574e2e3c1c2
+#. type: Plain text
+#: build/C/man2/open.2:543
+msgid ""
+"B<close>(2); B<fchdir>(2)  (since Linux 3.5); B<fstat>(2)  (since Linux 3.6)."
+msgstr ""
+"B<close>(2); B<fchdir>(2)  (Linux 3.5 以降); B<fstat>(2)  (Linux 3.6 以降)"
+
+#. type: Plain text
+#: build/C/man2/open.2:549
+msgid ""
+"Duplicating the file descriptor (B<dup>(2), B<fcntl>(2)  B<F_DUPFD>, etc.)."
+msgstr "ファイルディスクリプタの複製 (B<dup>(2), B<fcntl>(2)  B<F_DUPFD> など)"
+
+#. type: Plain text
+#: build/C/man2/open.2:555
+msgid ""
+"Getting and setting file descriptor flags (B<fcntl>(2)  B<F_GETFD> and "
+"B<F_SETFD>)."
+msgstr ""
+"ファイルディスクリプタフラグの取得と設定 (B<fcntl>(2) の B<F_GETFD> と "
+"B<F_SETFD>)"
+
+#. type: Plain text
+#: build/C/man2/open.2:561
+msgid ""
+"Retrieving open file status flags using the B<fcntl>(2)  B<F_GETFL> "
+"operation: the returned flags will include the bit B<O_PATH>."
+msgstr ""
+"B<fcntl>(2) の B<F_GETFL> 操作を使ったオープンされたファイルの状態フラグの取"
+"得。 返されるフラグには B<O_PATH> ビットが含まれる。"
+
+#. type: Plain text
+#: build/C/man2/open.2:574
+#, fuzzy
+#| msgid ""
+#| "Passing the file descriptor as the I<dirfd> argument of B<openat>(2)  and "
+#| "the other \"*at()\" system calls."
+msgid ""
+"Passing the file descriptor as the I<dirfd> argument of B<openat>(2)  and "
+"the other \"*at()\" system calls.  This includes B<linkat>(2)  with "
+"B<AT_EMPTY_PATH> (or via procfs using B<AT_SYMLINK_FOLLOW>)  even if the "
+"file is not a directory."
+msgstr ""
+"B<openat>(2) や他の \"*at()\" 系のシステムコールの I<dirfd> 引数としてその"
+"ファイルディスクリプタを渡す。"
+
+#. type: Plain text
+#: build/C/man2/open.2:580
+msgid ""
+"Passing the file descriptor to another process via a UNIX domain socket (see "
+"B<SCM_RIGHTS> in B<unix>(7))."
+msgstr ""
+"そのファイルディスクリプタを別のプロセスに UNIX ドメインソケット経由で渡す。 "
+"(B<unix>(7) の B<SCM_RIGHTS> を参照)"
+
+#. type: Plain text
+#: build/C/man2/open.2:591
+msgid ""
+"When B<O_PATH> is specified in I<flags>, flag bits other than B<O_DIRECTORY> "
+"and B<O_NOFOLLOW> are ignored."
+msgstr ""
+"I<flags> に B<O_PATH> が指定された場合、 B<O_DIRECTORY> と B<O_NOFOLLOW> 以外"
+"のフラグビットは無視される。"
+
+#. type: Plain text
+#: build/C/man2/open.2:607
+msgid ""
+"If I<pathname> is a symbolic link and the B<O_NOFOLLOW> flag is also "
+"specified, then the call returns a file descriptor referring to the symbolic "
+"link.  This file descriptor can be used as the I<dirfd> argument in calls to "
+"B<fchownat>(2), B<fstatat>(2), B<linkat>(2), and B<readlinkat>(2)  with an "
+"empty pathname to have the calls operate on the symbolic link."
+msgstr ""
+"I<pathname> がシンボリックリンクで B<O_NOFOLLOW> フラグも合わせて指定された場"
+"合、 この呼び出しではシンボリックリンクを参照するファイルディスクリプタを返"
+"す。 このファイルディスクリプタは、 空のパス名を指定した B<fchownat>(2), "
+"B<fstatat>(2), B<linkat>(2), B<readlinkat>(2) の呼び出しで I<dirfd> 引数とし"
+"て使うことで、 そのシンボリックリンクに対して操作を行うことができる。"
+
+#. type: TP
+#: build/C/man2/open.2:607
 #, no-wrap
 msgid "B<O_SYNC>"
 msgstr "B<O_SYNC>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<O_SYNC>"
 msgstr "B<O_SYNC>"
 
 #. type: Plain text
-#: build/C/man2/open.2:438
+#: build/C/man2/open.2:619
+msgid ""
+"Write operations on the file will complete according to the requirements of "
+"synchronized I/O I<file> integrity completion (by contrast with contrast "
+"with the synchronized I/O I<data> integrity completion provided by "
+"B<O_DSYNC>.)"
+msgstr ""
+"ファイルに対する書き込み操作は、同期 I/O のI<ファイル>完全性完了の要件に基づ"
+"いて行われる (これに対し B<O_DSYNC> では同期 I/O のI<データ>完全性完了が提供"
+"される)。"
+
+#. type: Plain text
+#: build/C/man2/open.2:630
 msgid ""
 msgid ""
-"The file is opened for synchronous I/O.  Any B<write>(2)s on the resulting "
-"file descriptor will block the calling process until the data has been "
-"physically written to the underlying hardware.  I<But see NOTES below>."
+"By the time B<write>(2)  (and similar)  return, the output data and "
+"associated file metadata have been transferred to the underlying hardware (i."
+"e., as though each B<write>(2)  was followed by a call to B<fsync>(2)).  "
+"I<See NOTES below>."
 msgstr ""
 msgstr ""
-"ファイルは同期 (synchronous) I/O モードでオープンされる。 B<open>()  が返した"
-"ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\81«å¯¾ã\81\97ã\81¦ B<write>(2)  ã\82\92è¡\8cã\81\86ã\81¨ã\80\81å¿\85ã\81\9aå\91¼ã\81³å\87ºã\81\97ã\81\9fã\83\97ã\83­ã\82»ã\82¹"
-"をブロックし、 該当ハードウェアに物理的に書き込まれるまで返らない。 I<以下の"
-"「注意」の章も参照。>"
+"B<write>(2) (や同様のコール) が返るまでに、 書き込まれたデータと関連するファ"
+"ã\82¤ã\83«ã\83¡ã\82¿ã\83\87ã\83¼ã\82¿ã\81\8cè£\8fã\81§å\88©ç\94¨ã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bã\83\8fã\83¼ã\83\89ã\82¦ã\82§ã\82¢ã\81«è»¢é\80\81ã\81\95ã\82\8cã\82\8b (ã\81¤ã\81¾ã\82\8aã\80\81"
+"B<write>(2) の後に B<fsync>(2) を呼び出したのと同じようになる)。 I<下記の「注"
+"意」も参照のこと>。"
 
 #. type: TP
 
 #. type: TP
-#: build/C/man2/open.2:438
+#: build/C/man2/open.2:630
+#, no-wrap
+msgid "B<O_TMPFILE> (since Linux 3.11)"
+msgstr "B<O_TMPFILE> (Linux 3.11 以降)"
+
+#.  commit 60545d0d4610b02e55f65d141c95b18ccf855b6e
+#.  commit f4e0c30c191f87851c4a53454abb55ee276f4a7e
+#.  commit bb458c644a59dbba3a1fe59b27106c5e68e1c4bd
+#. type: Plain text
+#: build/C/man2/open.2:642
+msgid ""
+"Create an unnamed temporary file.  The I<pathname> argument specifies a "
+"directory; an unnamed inode will be created in that directory's filesystem.  "
+"Anything written to the resulting file will be lost when the last file "
+"descriptor is closed, unless the file is given a name."
+msgstr ""
+"名前なしの一時ファイルを作成する。 I<pathname> 引き数はディレクトリを指定す"
+"る。 名前なしの inode がそのディレクトリが存在するファイルシステムに作成され"
+"る。 そのファイルに名前を付与しない限り、 作成されたファイルに書き込まれた内"
+"容は、 最後のファイルディスクリプタがクローズされる際に失われる。"
+
+#. type: Plain text
+#: build/C/man2/open.2:656
+msgid ""
+"B<O_TMPFILE> must be specified with one of B<O_RDWR> or B<O_WRONLY> and, "
+"optionally, B<O_EXCL>.  If B<O_EXCL> is not specified, then B<linkat>(2)  "
+"can be used to link the temporary file into the filesystem, making it "
+"permanent, using code like the following:"
+msgstr ""
+"B<O_TMPFILE> は必ず B<O_RDWR> か B<O_WRONLY> のいずれかと一緒に使わなければな"
+"らない。 B<O_EXCL> も指定することができる。 B<O_EXCL> が指定されなかった場"
+"合、 B<linkat>(2) を使って、そのファイルシステムにこの一時ファイルへのリンク"
+"を作成し、ファイルを永続化することができる。 以下のコードのようにすればよい。"
+
+#. type: Plain text
+#: build/C/man2/open.2:662
+#, no-wrap
+msgid ""
+"char path[PATH_MAX];\n"
+"fd = open(\"/path/to/dir\", O_TMPFILE | O_RDWR,\n"
+"                        S_IRUSR | S_IWUSR);\n"
+msgstr ""
+"char path[PATH_MAX];\n"
+"fd = open(\"/path/to/dir\", O_TMPFILE | O_RDWR,\n"
+"                        S_IRUSR | S_IWUSR);\n"
+
+#. type: Plain text
+#: build/C/man2/open.2:664
+#, no-wrap
+msgid "/* File I/O on 'fd'... */\n"
+msgstr "/* 'fd' に対するファイル I/O ... */\n"
+
+#. type: Plain text
+#: build/C/man2/open.2:668
+#, no-wrap
+msgid ""
+"snprintf(path, PATH_MAX,  \"/proc/self/fd/%d\", fd);\n"
+"linkat(AT_FDCWD, path, AT_FDCWD, \"/path/for/file\",\n"
+"                        AT_SYMLINK_FOLLOW);\n"
+msgstr ""
+"snprintf(path, PATH_MAX,  \"/proc/self/fd/%d\", fd);\n"
+"linkat(AT_FDCWD, path, AT_FDCWD, \"/path/for/file\",\n"
+"                        AT_SYMLINK_FOLLOW);\n"
+
+#. type: Plain text
+#: build/C/man2/open.2:677
+msgid ""
+"In this case, the B<open>()  I<mode> argument determines the file permission "
+"mode, as with B<O_CREAT>."
+msgstr ""
+"この場合、 B<open>() の I<mode> 引き数は B<O_CREAT> と同様にファイルのアクセ"
+"ス許可モードの決定に使われる。"
+
+#. type: Plain text
+#: build/C/man2/open.2:689
+msgid ""
+"Specifying B<O_EXCL> in conjunction with B<O_TMPFILE> prevents a temporary "
+"file from being linked into the filesystem in the above manner.  (Note that "
+"the meaning of B<O_EXCL> in this case is different from the meaning of "
+"B<O_EXCL> otherwise.)"
+msgstr ""
+"B<O_TMPFILE> とともに B<O_EXCL> を指定すると、 一時ファイルに対して上記の方法"
+"でファイルシステムへのリンクを行うことができなくなる (この場合の B<O_EXCL> の"
+"意味は他の場合の B<O_EXCL> の意味とは異なる点に注意)。"
+
+#.  Inspired by http://lwn.net/Articles/559147/
+#. type: Plain text
+#: build/C/man2/open.2:694
+msgid "There are two main use cases for B<O_TMPFILE>:"
+msgstr "B<O_TMPFILE> には主に二つの用途がある。"
+
+#. type: Plain text
+#: build/C/man2/open.2:703
+msgid ""
+"Improved B<tmpfile>(3)  functionality: race-free creation of temporary files "
+"that (1) are automatically deleted when closed; (2) can never be reached via "
+"any pathname; (3) are not subject to symlink attacks; and (4) do not require "
+"the caller to devise unique names."
+msgstr ""
+"改善された B<tmpfile>(3) の機能: (1) クローズ時に自動的に削除される、 (2) パ"
+"ス名では決して参照できない、 (3) シンボリックリンク攻撃ができない、 (4) 呼び"
+"出し元が一意な名前を考える必要がない、 という特長を持つ競合のない一時ファイル"
+"の作成。"
+
+#. type: Plain text
+#: build/C/man2/open.2:714
+msgid ""
+"Creating a file that is initially invisible, which is then populated with "
+"data and adjusted to have appropriate filesystem attributes (B<chown>(2), "
+"B<chmod>(2), B<fsetxattr>(2), etc.)  before being atomically linked into the "
+"filesystem in a fully formed state (using B<linkat>(2)  as described above)."
+msgstr ""
+"最初は見えないファイルを作成し、 それからデータを書き込んだり、適切なファイル"
+"システム属性を持つように調整したり (B<chown>(2), B<chmod>(2), "
+"B<fsetxattr>(2) など) した後、 準備が全て整った状態で (上述の B<linkat>(2) を"
+"使って) ファイルシステム内にアトミックにリンクを行う。"
+
+#.  commit 99b6436bc29e4f10e4388c27a3e4810191cc4788
+#.  commit ab29743117f9f4c22ac44c13c1647fb24fb2bafe
+#. type: Plain text
+#: build/C/man2/open.2:725
+msgid ""
+"B<O_TMPFILE> requires support by the underlying filesystem; only a subset of "
+"Linux filesystems provide that support.  In the initial implementation, "
+"support was provided in the ext2, ext3, ext4, UDF, Minix, and shmem "
+"filesystems.  XFS support was added in Linux 3.15."
+msgstr ""
+"B<O_TMPFILE> は、 裏で利用されるファイルシステムによるサポートが必要である。 "
+"一部の Linux ファイルシステムだけがこの機能をサポートしている。 最初の実装で"
+"は、 ext2, ext3, ext4, UDF, Minix, shmem ファイルシステムがサポートしてい"
+"た。 XFS でのサポートが Linux 3.15 で追加された。"
+
+#. type: TP
+#: build/C/man2/open.2:725
 #, no-wrap
 msgid "B<O_TRUNC>"
 msgstr "B<O_TRUNC>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<O_TRUNC>"
 msgstr "B<O_TRUNC>"
 
 #. type: Plain text
-#: build/C/man2/open.2:452
+#: build/C/man2/open.2:739
 msgid ""
 msgid ""
-"If the file already exists and is a regular file and the open mode allows "
+"If the file already exists and is a regular file and the access mode allows "
 "writing (i.e., is B<O_RDWR> or B<O_WRONLY>)  it will be truncated to length "
 "0.  If the file is a FIFO or terminal device file, the B<O_TRUNC> flag is "
 "writing (i.e., is B<O_RDWR> or B<O_WRONLY>)  it will be truncated to length "
 "0.  If the file is a FIFO or terminal device file, the B<O_TRUNC> flag is "
-"ignored.  Otherwise the effect of B<O_TRUNC> is unspecified."
+"ignored.  Otherwise, the effect of B<O_TRUNC> is unspecified."
 msgstr ""
 msgstr ""
-"ファイルが既に存在し、通常ファイルであり、 書き込み可モードでオープンされてい"
-"ã\82\8b (ã\81¤ã\81¾ã\82\8aã\80\81 B<O_RDWR>ã\81¾ã\81\9fã\81¯B<O_WRONLY> の) 場合、長さ 0 に切り詰め "
+"ファイルが既に存在し、通常ファイルであり、 アクセスモードで書き込みが許可され"
+"ã\81¦ã\81\84ã\82\8b (ã\81¤ã\81¾ã\82\8aã\80\81 B<O_RDWR> ã\81¾ã\81\9fã\81¯ B<O_WRONLY> の) 場合、長さ 0 に切り詰め "
 "(truncate) られる。 ファイルが FIFO または端末デバイスファイルの場合、 "
 "B<O_TRUNC> フラグは無視される。 それ以外の場合、 B<O_TRUNC> の効果は未定義で"
 "ある。"
 
 "(truncate) られる。 ファイルが FIFO または端末デバイスファイルの場合、 "
 "B<O_TRUNC> フラグは無視される。 それ以外の場合、 B<O_TRUNC> の効果は未定義で"
 "ある。"
 
-#. type: Plain text
-#: build/C/man2/open.2:456
-msgid ""
-"Some of these optional flags can be altered using B<fcntl>(2)  after the "
-"file has been opened."
-msgstr ""
-"これらの選択フラグのいくつかはファイルをオープンした後でも B<fcntl>(2)  を使"
-"用して変更することができる。"
+#. type: SS
+#: build/C/man2/open.2:739
+#, no-wrap
+msgid "creat()"
+msgstr "creat()"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/open.2:464
+#: build/C/man2/open.2:747
 msgid ""
 "B<creat>()  is equivalent to B<open>()  with I<flags> equal to B<O_CREAT|"
 "O_WRONLY|O_TRUNC>."
 msgid ""
 "B<creat>()  is equivalent to B<open>()  with I<flags> equal to B<O_CREAT|"
 "O_WRONLY|O_TRUNC>."
@@ -6470,17 +7430,68 @@ msgstr ""
 "B<creat>()  は I<flags> に B<O_CREAT|O_WRONLY|O_TRUNC> を指定して B<open>()  "
 "を行うのと等価である。"
 
 "B<creat>()  は I<flags> に B<O_CREAT|O_WRONLY|O_TRUNC> を指定して B<open>()  "
 "を行うのと等価である。"
 
+#. type: SS
+#: build/C/man2/open.2:747
+#, no-wrap
+msgid "openat()"
+msgstr "openat()"
+
+#. type: Plain text
+#: build/C/man2/open.2:753
+msgid ""
+"The B<openat>()  system call operates in exactly the same way as B<open>(), "
+"except for the differences described here."
+msgstr ""
+"B<openat>() システムコールは B<open>() と全く同様に動作するが、以下で説明する"
+"点が異なる。"
+
+#. type: Plain text
+#: build/C/man2/open.2:763
+msgid ""
+"If the pathname given in I<pathname> is relative, then it is interpreted "
+"relative to the directory referred to by the file descriptor I<dirfd> "
+"(rather than relative to the current working directory of the calling "
+"process, as is done by B<open>()  for a relative pathname)."
+msgstr ""
+"I<pathname> で指定されたパス名が相対パスの場合、このパス名はファイルディスク"
+"リプター I<dirfd> が参照するディレクトリに対する相対パスと解釈される "
+"(B<open>() に相対パス名を渡した場合のように、呼び出したプロセスのカレントワー"
+"キングディレクトリに対する相対パスではない)。"
+
+#. type: Plain text
+#: build/C/man2/open.2:775
+msgid ""
+"If I<pathname> is relative and I<dirfd> is the special value B<AT_FDCWD>, "
+"then I<pathname> is interpreted relative to the current working directory of "
+"the calling process (like B<open>())."
+msgstr ""
+"I<pathname> で指定されたパス名が相対パスで、 I<dirfd> が特別な値 B<AT_FDCWD> "
+"の場合、 (B<open>() と同様に) I<pathname> は呼び出したプロセスのカレントワー"
+"キングディレクトリに対する相対パスと解釈される。"
+
+#. type: Plain text
+#: build/C/man2/open.2:781 build/C/man2/readlink.2:134
+msgid "If I<pathname> is absolute, then I<dirfd> is ignored."
+msgstr ""
+"I<pathname> で指定されたパス名が絶対パスの場合、 I<dirfd> は無視される。"
+
 #. type: Plain text
 #. type: Plain text
-#: build/C/man2/open.2:472
+#: build/C/man2/open.2:790
 msgid ""
 msgid ""
-"B<open>()  and B<creat>()  return the new file descriptor, or -1 if an error "
-"occurred (in which case, I<errno> is set appropriately)."
+"B<open>(), B<openat>(), and B<creat>()  return the new file descriptor, or "
+"-1 if an error occurred (in which case, I<errno> is set appropriately)."
 msgstr ""
 msgstr ""
-"B<open>()  と B<creat>()  は新しいファイルディスクリプタを返す。 エラーが発生"
-"した場合は -1 を返す (その場合は I<errno> が適切に設定される)。"
+"B<open>(), B<openat>(), B<creat>() は新しいファイルディスクリプタを返す。 エ"
+"ラーが発生した場合は -1 を返す (その場合は I<errno> が適切に設定される)。"
+
+#. type: Plain text
+#: build/C/man2/open.2:796
+msgid ""
+"B<open>(), B<openat>(), and B<creat>()  can fail with the following errors:"
+msgstr "B<open>(), B<openat>(), B<creat>() は以下のエラーで失敗する。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/open.2:482
+#: build/C/man2/open.2:805
 msgid ""
 "The requested access to the file is not allowed, or search permission is "
 "denied for one of the directories in the path prefix of I<pathname>, or the "
 msgid ""
 "The requested access to the file is not allowed, or search permission is "
 "denied for one of the directories in the path prefix of I<pathname>, or the "
@@ -6493,53 +7504,87 @@ msgstr ""
 "すること。)"
 
 #. type: Plain text
 "すること。)"
 
 #. type: Plain text
-#: build/C/man2/open.2:488
+#: build/C/man2/open.2:811
+msgid ""
+"Where B<O_CREAT> is specified, the file does not exist, and the user's quota "
+"of disk blocks or inodes on the filesystem has been exhausted."
+msgstr ""
+"B<O_CREAT> が指定された場合で、そのファイルが存在せず、ディスクブロックか "
+"inode がそのファイルシステムのユーザクォータに達していた。"
+
+#. type: Plain text
+#: build/C/man2/open.2:817
 msgid "I<pathname> already exists and B<O_CREAT> and B<O_EXCL> were used."
 msgstr "I<pathname> は既に存在し、 B<O_CREAT> と B<O_EXCL> が使用された。"
 
 #. type: Plain text
 msgid "I<pathname> already exists and B<O_CREAT> and B<O_EXCL> were used."
 msgstr "I<pathname> は既に存在し、 B<O_CREAT> と B<O_EXCL> が使用された。"
 
 #. type: Plain text
-#: build/C/man2/open.2:492 build/C/man2/rmdir.2:67 build/C/man2/unlink.2:84
+#: build/C/man2/open.2:821 build/C/man2/rmdir.2:67 build/C/man2/unlink.2:182
 msgid "I<pathname> points outside your accessible address space."
 msgstr "I<pathname> がアクセス可能なアドレス空間の外を指している。"
 
 #. type: TP
 msgid "I<pathname> points outside your accessible address space."
 msgstr "I<pathname> がアクセス可能なアドレス空間の外を指している。"
 
 #. type: TP
-#: build/C/man2/open.2:492 build/C/man2/write.2:139
+#: build/C/man2/open.2:821 build/C/man2/write.2:145
 #, no-wrap
 msgid "B<EFBIG>"
 msgstr "B<EFBIG>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<EFBIG>"
 msgstr "B<EFBIG>"
 
 #. type: Plain text
-#: build/C/man2/open.2:496
+#: build/C/man2/open.2:825
 msgid "See B<EOVERFLOW>."
 msgstr "B<EOVERFLOW> 参照。"
 
 #. type: TP
 msgid "See B<EOVERFLOW>."
 msgstr "B<EOVERFLOW> 参照。"
 
 #. type: TP
-#: build/C/man2/open.2:496 build/C/man2/read.2:104 build/C/man3/scanf.3:559
-#: build/C/man3/tmpfile.3:59 build/C/man2/write.2:144
+#: build/C/man2/open.2:825 build/C/man2/read.2:122 build/C/man3/scanf.3:561
+#: build/C/man3/tmpfile.3:63 build/C/man2/write.2:150
 #, no-wrap
 msgid "B<EINTR>"
 msgstr "B<EINTR>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<EINTR>"
 msgstr "B<EINTR>"
 
 #. type: Plain text
-#: build/C/man2/open.2:503
+#: build/C/man2/open.2:832
 msgid ""
 "While blocked waiting to complete an open of a slow device (e.g., a FIFO; "
 msgid ""
 "While blocked waiting to complete an open of a slow device (e.g., a FIFO; "
-"see B<fifo>(7)), the call was interrupted by a signal handler; see B<signal>"
-"(7)."
+"see B<fifo>(7)), the call was interrupted by a signal handler; see "
+"B<signal>(7)."
 msgstr ""
 "遅いデバイス (例えば FIFO、 B<fifo>(7)  参照) のオープンが完了するのを待って"
 "停止している間に システムコールがシグナルハンドラにより割り込まれた。 "
 "B<signal>(7)  参照。"
 
 msgstr ""
 "遅いデバイス (例えば FIFO、 B<fifo>(7)  参照) のオープンが完了するのを待って"
 "停止している間に システムコールがシグナルハンドラにより割り込まれた。 "
 "B<signal>(7)  参照。"
 
+#. type: Plain text
+#: build/C/man2/open.2:840
+msgid ""
+"The filesystem does not support the B<O_DIRECT> flag.  See B<NOTES> for more "
+"information."
+msgstr ""
+"ファイルシステムが B<O_DIRECT> フラグをサポートしていない。 詳細はB<注意>を参"
+"照。"
+
+#.  In particular, __O_TMPFILE instead of O_TMPFILE
+#. type: Plain text
+#: build/C/man2/open.2:845
+msgid "Invalid value in I<flags>."
+msgstr "I<flags> に無効な値が入っている。"
+
+#. type: Plain text
+#: build/C/man2/open.2:855
+msgid ""
+"B<O_TMPFILE> was specified in I<flags>, but neither B<O_WRONLY> nor "
+"B<O_RDWR> was specified."
+msgstr ""
+"I<flags> に B<O_TMPFILE> が指定されたが、 B<O_WRONLY> も B<O_RDWR> も指定され"
+"ていなかった。"
+
 #. type: TP
 #. type: TP
-#: build/C/man2/open.2:503 build/C/man2/read.2:140 build/C/man2/rename.2:140
-#: build/C/man2/unlink.2:87
+#: build/C/man2/open.2:855 build/C/man2/open.2:864 build/C/man2/read.2:158
+#: build/C/man2/rename.2:255 build/C/man2/unlink.2:185
+#: build/C/man2/unlink.2:256
 #, no-wrap
 msgid "B<EISDIR>"
 msgstr "B<EISDIR>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<EISDIR>"
 msgstr "B<EISDIR>"
 
 #. type: Plain text
-#: build/C/man2/open.2:512
+#: build/C/man2/open.2:864
 msgid ""
 "I<pathname> refers to a directory and the access requested involved writing "
 "(that is, B<O_WRONLY> or B<O_RDWR> is set)."
 msgid ""
 "I<pathname> refers to a directory and the access requested involved writing "
 "(that is, B<O_WRONLY> or B<O_RDWR> is set)."
@@ -6548,49 +7593,65 @@ msgstr ""
 "B<O_WRONLY> または B<O_RDWR> が設定されている)。"
 
 #. type: Plain text
 "B<O_WRONLY> または B<O_RDWR> が設定されている)。"
 
 #. type: Plain text
-#: build/C/man2/open.2:519
+#: build/C/man2/open.2:878
+msgid ""
+"I<pathname> refers to an existing directory, B<O_TMPFILE> and one of "
+"B<O_WRONLY> or B<O_RDWR> were specified in I<flags>, but this kernel version "
+"does not provide the B<O_TMPFILE> functionality."
+msgstr ""
+"I<pathname> が存在するディレクトリを参照していて、 B<O_TMPFILE> および "
+"B<O_WRONLY> と B<O_RDWR> の一方が I<flags> に指定されていたが、 このカーネル"
+"バージョンでは B<O_TMPFILE> 機能が提供されていない。"
+
+#. type: Plain text
+#: build/C/man2/open.2:882 build/C/man2/rmdir.2:77
+msgid "Too many symbolic links were encountered in resolving I<pathname>."
+msgstr "I<pathname> を解決する際に遭遇したシンボリックリンクが多過ぎる。"
+
+#. type: Plain text
+#: build/C/man2/open.2:891
 msgid ""
 msgid ""
-"Too many symbolic links were encountered in resolving I<pathname>, or "
-"B<O_NOFOLLOW> was specified but I<pathname> was a symbolic link."
+"I<pathname> was a symbolic link, and I<flags> specified B<O_NOFOLLOW> but "
+"not B<O_PATH>."
 msgstr ""
 msgstr ""
-"I<pathname> ã\82\92解決ã\81\99ã\82\8bé\9a\9bã\81«é\81­é\81\87ã\81\97ã\81\9fã\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯ã\83ªã\83³ã\82¯ã\81\8cå¤\9aé\81\8eã\81\8eã\82\8bã\80\82 ã\81¾ã\81\9fã\81¯ "
-"B<O_NOFOLLOW> が指定されており、 I<pathname> がシンボリックリンクだった。"
+"I<pathname> ã\81\8cã\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯ã\83ªã\83³ã\82¯ã\81§ã\80\81 I<flags> ã\81« B<O_NOFOLLOW> ã\81\8cæ\8c\87å®\9aã\81\95ã\82\8cã\81\9f"
+"が、 B<O_PATH> が指定されていなかった。"
 
 #. type: TP
 
 #. type: TP
-#: build/C/man2/open.2:519 build/C/man2/pipe.2:107 build/C/man3/tmpfile.3:62
+#: build/C/man2/open.2:891 build/C/man2/pipe.2:144 build/C/man3/tmpfile.3:66
 #, no-wrap
 msgid "B<EMFILE>"
 msgstr "B<EMFILE>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<EMFILE>"
 msgstr "B<EMFILE>"
 
 #. type: Plain text
-#: build/C/man2/open.2:522
+#: build/C/man2/open.2:894
 msgid "The process already has the maximum number of files open."
 msgstr "プロセスがオープンしているファイル数がすでに最大数に達している。"
 
 #. type: Plain text
 msgid "The process already has the maximum number of files open."
 msgstr "プロセスがオープンしているファイル数がすでに最大数に達している。"
 
 #. type: Plain text
-#: build/C/man2/open.2:526 build/C/man2/rmdir.2:80 build/C/man2/unlink.2:99
+#: build/C/man2/open.2:898 build/C/man2/rmdir.2:80 build/C/man2/unlink.2:197
 msgid "I<pathname> was too long."
 msgstr "I<pathname> が長過ぎる。"
 
 #. type: TP
 msgid "I<pathname> was too long."
 msgstr "I<pathname> が長過ぎる。"
 
 #. type: TP
-#: build/C/man2/open.2:526 build/C/man2/pipe.2:110 build/C/man3/tmpfile.3:65
+#: build/C/man2/open.2:898 build/C/man2/pipe.2:147 build/C/man3/tmpfile.3:69
 #, no-wrap
 msgid "B<ENFILE>"
 msgstr "B<ENFILE>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<ENFILE>"
 msgstr "B<ENFILE>"
 
 #. type: Plain text
-#: build/C/man2/open.2:529 build/C/man2/pipe.2:113
+#: build/C/man2/open.2:901 build/C/man2/pipe.2:150
 msgid "The system limit on the total number of open files has been reached."
 msgstr "オープンされているファイルの総数がシステムの制限に達している。"
 
 #. type: TP
 msgid "The system limit on the total number of open files has been reached."
 msgstr "オープンされているファイルの総数がシステムの制限に達している。"
 
 #. type: TP
-#: build/C/man2/open.2:529
+#: build/C/man2/open.2:901
 #, no-wrap
 msgid "B<ENODEV>"
 msgstr "B<ENODEV>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<ENODEV>"
 msgstr "B<ENODEV>"
 
 #. type: Plain text
-#: build/C/man2/open.2:536
+#: build/C/man2/open.2:908
 msgid ""
 "I<pathname> refers to a device special file and no corresponding device "
 "exists.  (This is a Linux kernel bug; in this situation B<ENXIO> must be "
 msgid ""
 "I<pathname> refers to a device special file and no corresponding device "
 "exists.  (This is a Linux kernel bug; in this situation B<ENXIO> must be "
@@ -6601,7 +7662,7 @@ msgstr ""
 "るべきである)"
 
 #. type: Plain text
 "るべきである)"
 
 #. type: Plain text
-#: build/C/man2/open.2:543
+#: build/C/man2/open.2:915
 msgid ""
 "B<O_CREAT> is not set and the named file does not exist.  Or, a directory "
 "component in I<pathname> does not exist or is a dangling symbolic link."
 msgid ""
 "B<O_CREAT> is not set and the named file does not exist.  Or, a directory "
 "component in I<pathname> does not exist or is a dangling symbolic link."
@@ -6611,7 +7672,18 @@ msgstr ""
 "ンクである。"
 
 #. type: Plain text
 "ンクである。"
 
 #. type: Plain text
-#: build/C/man2/open.2:552
+#: build/C/man2/open.2:929
+msgid ""
+"I<pathname> refers to a nonexistent directory, B<O_TMPFILE> and one of "
+"B<O_WRONLY> or B<O_RDWR> were specified in I<flags>, but this kernel version "
+"does not provide the B<O_TMPFILE> functionality."
+msgstr ""
+"I<pathname> が存在しないディレクトリを参照していて、 B<O_TMPFILE> および "
+"B<O_WRONLY> と B<O_RDWR> の一方が I<flags> に指定されていたが、 このカーネル"
+"バージョンでは B<O_TMPFILE> 機能が提供されていない。"
+
+#. type: Plain text
+#: build/C/man2/open.2:938
 msgid ""
 "I<pathname> was to be created but the device containing I<pathname> has no "
 "room for the new file."
 msgid ""
 "I<pathname> was to be created but the device containing I<pathname> has no "
 "room for the new file."
@@ -6620,7 +7692,7 @@ msgstr ""
 "ファイルのための空き容量がない。"
 
 #. type: Plain text
 "ファイルのための空き容量がない。"
 
 #. type: Plain text
-#: build/C/man2/open.2:559
+#: build/C/man2/open.2:945
 msgid ""
 "A component used as a directory in I<pathname> is not, in fact, a directory, "
 "or B<O_DIRECTORY> was specified and I<pathname> was not a directory."
 msgid ""
 "A component used as a directory in I<pathname> is not, in fact, a directory, "
 "or B<O_DIRECTORY> was specified and I<pathname> was not a directory."
@@ -6629,26 +7701,39 @@ msgstr ""
 "または B<O_DIRECTORY> が指定されており、 I<pathname> がディレクトリでない。"
 
 #. type: Plain text
 "または B<O_DIRECTORY> が指定されており、 I<pathname> がディレクトリでない。"
 
 #. type: Plain text
-#: build/C/man2/open.2:565
+#: build/C/man2/open.2:951
 msgid ""
 msgid ""
-"B<O_NONBLOCK> | B<O_WRONLY> is set, the named file is a FIFO and no process "
-"has the file open for reading.  Or, the file is a device special file and no "
+"B<O_NONBLOCK> | B<O_WRONLY> is set, the named file is a FIFO, and no process "
+"has the FIFO open for reading.  Or, the file is a device special file and no "
 "corresponding device exists."
 msgstr ""
 "B<O_NONBLOCK> | B<O_WRONLY> が設定されており、指定したファイルが FIFO で その"
 "corresponding device exists."
 msgstr ""
 "B<O_NONBLOCK> | B<O_WRONLY> が設定されており、指定したファイルが FIFO で その"
-"ファイルを読み込みのためにオープンしているプロセスが存在しない。 または、ファ"
-"イルがデバイススペシャルファイルで 対応するデバイスが存在しない。"
+"ファイルを読み込み用でオープンしている FIFO が存在しない。 または、ファイルが"
+"デバイススペシャルファイルで 対応するデバイスが存在しない。"
+
+#. type: TP
+#: build/C/man2/open.2:951 build/C/man2/open_by_handle_at.2:301
+#, no-wrap
+msgid "B<EOPNOTSUPP>"
+msgstr "B<EOPNOTSUPP>"
+
+#. type: Plain text
+#: build/C/man2/open.2:957
+msgid "The filesystem containing I<pathname> does not support B<O_TMPFILE>."
+msgstr ""
+"I<pathname> を含んでいるファイルシステムが B<O_TMPFILE> をサポートしていな"
+"い。"
 
 #.  See http://bugzilla.kernel.org/show_bug.cgi?id=7253
 #.  "Open of a large file on 32-bit fails with EFBIG, should be EOVERFLOW"
 #.  Reported 2006-10-03
 #. type: Plain text
 
 #.  See http://bugzilla.kernel.org/show_bug.cgi?id=7253
 #.  "Open of a large file on 32-bit fails with EFBIG, should be EOVERFLOW"
 #.  Reported 2006-10-03
 #. type: Plain text
-#: build/C/man2/open.2:585
+#: build/C/man2/open.2:977
 msgid ""
 "I<pathname> refers to a regular file that is too large to be opened.  The "
 "usual scenario here is that an application compiled on a 32-bit platform "
 msgid ""
 "I<pathname> refers to a regular file that is too large to be opened.  The "
 "usual scenario here is that an application compiled on a 32-bit platform "
-"without I<-D_FILE_OFFSET_BITS=64> tried to open a file whose size exceeds I<"
-"(2E<lt>E<lt>31)-1> bits; see also B<O_LARGEFILE> above.  This is the error "
+"without I<-D_FILE_OFFSET_BITS=64> tried to open a file whose size exceeds "
+"I<(2E<lt>E<lt>31)-1> bits; see also B<O_LARGEFILE> above.  This is the error "
 "specified by POSIX.1-2001; in kernels before 2.6.24, Linux gave the error "
 "B<EFBIG> for this case."
 msgstr ""
 "specified by POSIX.1-2001; in kernels before 2.6.24, Linux gave the error "
 "B<EFBIG> for this case."
 msgstr ""
@@ -6660,9 +7745,9 @@ msgstr ""
 "る。 2.6.24 より前のカーネルでは、Linux はこの場合にエラー B<EFBIG> を返して"
 "いた。"
 
 "る。 2.6.24 より前のカーネルでは、Linux はこの場合にエラー B<EFBIG> を返して"
 "いた。"
 
-#.  Strictly speaking, it's the file system UID... (MTK)
+#.  Strictly speaking, it's the filesystem UID... (MTK)
 #. type: Plain text
 #. type: Plain text
-#: build/C/man2/open.2:593
+#: build/C/man2/open.2:985
 msgid ""
 "The B<O_NOATIME> flag was specified, but the effective user ID of the caller "
 "did not match the owner of the file and the caller was not privileged "
 msgid ""
 "The B<O_NOATIME> flag was specified, but the effective user ID of the caller "
 "did not match the owner of the file and the caller was not privileged "
@@ -6672,22 +7757,22 @@ msgstr ""
 "所有者と一致せず、かつ呼び出し元に特権 (B<CAP_FOWNER>)  がない。"
 
 #. type: Plain text
 "所有者と一致せず、かつ呼び出し元に特権 (B<CAP_FOWNER>)  がない。"
 
 #. type: Plain text
-#: build/C/man2/open.2:598
+#: build/C/man2/open.2:990
 msgid ""
 msgid ""
-"I<pathname> refers to a file on a read-only file system and write access was "
+"I<pathname> refers to a file on a read-only filesystem and write access was "
 "requested."
 msgstr ""
 "I<pathname> が読み込み専用のファイルシステム上のファイルを参照しており、 書き"
 "込みアクセスが要求された。"
 
 #. type: TP
 "requested."
 msgstr ""
 "I<pathname> が読み込み専用のファイルシステム上のファイルを参照しており、 書き"
 "込みアクセスが要求された。"
 
 #. type: TP
-#: build/C/man2/open.2:598
+#: build/C/man2/open.2:990
 #, no-wrap
 msgid "B<ETXTBSY>"
 msgstr "B<ETXTBSY>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<ETXTBSY>"
 msgstr "B<ETXTBSY>"
 
 #. type: Plain text
-#: build/C/man2/open.2:603
+#: build/C/man2/open.2:995
 msgid ""
 "I<pathname> refers to an executable image which is currently being executed "
 "and write access was requested."
 msgid ""
 "I<pathname> refers to an executable image which is currently being executed "
 "and write access was requested."
@@ -6695,13 +7780,13 @@ msgstr ""
 "I<pathname> が現在実行中の実行イメージを参照しており、書き込みが要求された。"
 
 #. type: TP
 "I<pathname> が現在実行中の実行イメージを参照しており、書き込みが要求された。"
 
 #. type: TP
-#: build/C/man2/open.2:603
+#: build/C/man2/open.2:995
 #, no-wrap
 msgid "B<EWOULDBLOCK>"
 msgstr "B<EWOULDBLOCK>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<EWOULDBLOCK>"
 msgstr "B<EWOULDBLOCK>"
 
 #. type: Plain text
-#: build/C/man2/open.2:610
+#: build/C/man2/open.2:1002
 msgid ""
 "The B<O_NONBLOCK> flag was specified, and an incompatible lease was held on "
 "the file (see B<fcntl>(2))."
 msgid ""
 "The B<O_NONBLOCK> flag was specified, and an incompatible lease was held on "
 "the file (see B<fcntl>(2))."
@@ -6710,82 +7795,94 @@ msgstr ""
 "ていた (B<fcntl>(2)  参照)。"
 
 #. type: Plain text
 "ていた (B<fcntl>(2)  参照)。"
 
 #. type: Plain text
-#: build/C/man2/open.2:623
+#: build/C/man2/open.2:1005
+msgid "The following additional errors can occur for B<openat>():"
+msgstr "B<openat>() では以下のエラーも発生する。"
+
+#. type: Plain text
+#: build/C/man2/open.2:1009 build/C/man2/readlink.2:206
+#: build/C/man2/unlink.2:252
+msgid "I<dirfd> is not a valid file descriptor."
+msgstr "I<dirfd> が有効なファイルディスクリプタではない。"
+
+#. type: Plain text
+#: build/C/man2/open.2:1015
 msgid ""
 msgid ""
-"SVr4, 4.3BSD, POSIX.1-2001.  The B<O_DIRECTORY>, B<O_NOATIME>, and "
-"B<O_NOFOLLOW> flags are Linux-specific, and one may need to define "
-"B<_GNU_SOURCE> (before including I<any> header files)  to obtain their "
-"definitions."
+"I<pathname> is a relative pathname and I<dirfd> is a file descriptor "
+"referring to a file other than a directory."
 msgstr ""
 msgstr ""
-"SVr4, 4.3BSD, POSIX.1-2001.  フラグ B<O_DIRECTORY>, B<O_NOATIME>, "
-"B<O_NOFOLLOW> は Linux 特有のものであり、 これらのフラグの定義を得るために"
-"は、 (「どの」ヘッダファイルをインクルードするよりも前に)  B<_GNU_SOURCE> を"
-"定義する必要があるかもしれない。"
+"I<pathname> が相対パス名で、 I<dirfd> がディレクトリ以外のファイルを参照して"
+"いるファイルディスクリプタである。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/open.2:628
+#: build/C/man2/open.2:1019
 msgid ""
 msgid ""
-"The B<O_CLOEXEC> flag is not specified in POSIX.1-2001, but is specified in "
-"POSIX.1-2008."
+"B<openat>()  was added to Linux in kernel 2.6.16; library support was added "
+"to glibc in version 2.4."
+msgstr ""
+"B<openat>()  はカーネル 2.6.16 で Linux に追加された。 ライブラリによるサポー"
+"トはバージョン 2.4 で glibc に追加された。"
+
+#. type: Plain text
+#: build/C/man2/open.2:1023
+msgid "B<open>(), B<creat>()  SVr4, 4.3BSD, POSIX.1-2001, POSIX.1-2008."
+msgstr "B<open>(), B<creat>()  SVr4, 4.3BSD, POSIX.1-2001, POSIX.1-2008."
+
+#. type: Plain text
+#: build/C/man2/open.2:1026
+msgid "B<openat>(): POSIX.1-2008."
+msgstr "B<openat>(): POSIX.1-2008."
+
+#. type: Plain text
+#: build/C/man2/open.2:1037
+msgid ""
+"The B<O_DIRECT>, B<O_NOATIME>, B<O_PATH>, and B<O_TMPFILE> flags are Linux-"
+"specific.  One must define B<_GNU_SOURCE> to obtain their definitions."
+msgstr ""
+"フラグ B<O_DIRECT>, B<O_NOATIME>, B<O_PATH>, B<O_TMPFILE> は Linux 特有のもの"
+"である。 これらのフラグの定義を得るためには B<_GNU_SOURCE> を定義しなければな"
+"らない。"
+
+#. type: Plain text
+#: build/C/man2/open.2:1052
+msgid ""
+"The B<O_CLOEXEC>, B<O_DIRECTORY>, and B<O_NOFOLLOW> flags are not specified "
+"in POSIX.1-2001, but are specified in POSIX.1-2008.  Since glibc 2.12, one "
+"can obtain their definitions by defining either B<_POSIX_C_SOURCE> with a "
+"value greater than or equal to 200809L or B<_XOPEN_SOURCE> with a value "
+"greater than or equal to 700.  In glibc 2.11 and earlier, one obtains the "
+"definitions by defining B<_GNU_SOURCE>."
 msgstr ""
 msgstr ""
-"B<O_CLOEXEC> フラグは POSIX.1-2001 では規定されていないが、 POSIX.1-2008 で規"
-"定されている。"
+"フラグ B<O_CLOEXEC>, B<O_DIRECTORY>, B<O_NOFOLLOW> は POSIX.1-2001 では規定さ"
+"れていないが、 POSIX.1-2008 では規定されている。 glibc 2.12 以降では、これら"
+"の定義を得るには、 B<_POSIX_C_SOURCE> を 200809L 以上の値で定義するか、 "
+"B<_XOPEN_SOURCE> を 700 以上の値で定義する。 glibc 2.11 以前では、 これらの定"
+"義を得るには B<_GNU_SOURCE> を定義する。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/open.2:636
+#: build/C/man2/open.2:1063
 msgid ""
 msgid ""
-"B<O_DIRECT> is not specified in POSIX; one has to define B<_GNU_SOURCE> "
-"(before including I<any> header files)  to get its definition."
+"As noted in B<feature_test_macros>(7), feature test macros such as "
+"B<_POSIX_C_SOURCE>, B<_XOPEN_SOURCE>, and B<_GNU_SOURCE> must be defined "
+"before including I<any> header files."
 msgstr ""
 msgstr ""
-"B<O_DIRECT> は POSIX では規定されていない。 B<O_DIRECT> の定義を得るには "
-"(「どの」ヘッダファイルをインクルードするよりも前に)  B<_GNU_SOURCE> を定義し"
-"なければならない。"
+"B<feature_test_macros>(7) に注意書きがあるように、 B<_POSIX_C_SOURCE>, "
+"B<_XOPEN_SOURCE>, B<_GNU_SOURCE> などの機能検査マクロはI<どの>ヘッダーファイ"
+"ã\83«ã\82\92ã\82¤ã\83³ã\82¯ã\83«ã\83¼ã\83\89ã\81\99ã\82\8bã\82\88ã\82\8aå\89\8dã\81«å®\9a義ã\81\97ã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81ªã\81\84ã\80\82"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/open.2:644
+#: build/C/man2/open.2:1071
 msgid ""
 "Under Linux, the B<O_NONBLOCK> flag indicates that one wants to open but "
 "does not necessarily have the intention to read or write.  This is typically "
 msgid ""
 "Under Linux, the B<O_NONBLOCK> flag indicates that one wants to open but "
 "does not necessarily have the intention to read or write.  This is typically "
-"used to open devices in order to get a file descriptor for use with B<ioctl>"
-"(2)."
+"used to open devices in order to get a file descriptor for use with "
+"B<ioctl>(2)."
 msgstr ""
 "Linux では、 B<O_NONBLOCK> フラグは、 open を実行したいが read または write "
 "を実行する意図は 必ずしもないことを意味する。 これは B<ioctl>(2)  のための"
 "ファイルディスクリプタを取得するために、 デバイスをオープンするときによく用い"
 "られる。"
 
 msgstr ""
 "Linux では、 B<O_NONBLOCK> フラグは、 open を実行したいが read または write "
 "を実行する意図は 必ずしもないことを意味する。 これは B<ioctl>(2)  のための"
 "ファイルディスクリプタを取得するために、 デバイスをオープンするときによく用い"
 "られる。"
 
-#.  See for example util-linux's disk-utils/setfdprm.c
-#.  For some background on access mode 3, see
-#.  http://thread.gmane.org/gmane.linux.kernel/653123
-#.  "[RFC] correct flags to f_mode conversion in __dentry_open"
-#.  LKML, 12 Mar 2008
-#. type: Plain text
-#: build/C/man2/open.2:673
-msgid ""
-"Unlike the other values that can be specified in I<flags>, the I<access "
-"mode> values B<O_RDONLY>, B<O_WRONLY>, and B<O_RDWR>, do not specify "
-"individual bits.  Rather, they define the low order two bits of I<flags>, "
-"and are defined respectively as 0, 1, and 2.  In other words, the "
-"combination B<O_RDONLY | O_WRONLY> is a logical error, and certainly does "
-"not have the same meaning as B<O_RDWR>.  Linux reserves the special, "
-"nonstandard access mode 3 (binary 11) in I<flags> to mean: check for read "
-"and write permission on the file and return a descriptor that can't be used "
-"for reading or writing.  This nonstandard access mode is used by some Linux "
-"drivers to return a descriptor that is only to be used for device-specific "
-"B<ioctl>(2)  operations."
-msgstr ""
-"「アクセスモード」の値 B<O_RDONLY>, B<O_WRONLY>, B<O_RDWR> は、 I<flags> に指"
-"定できる他の値と違い、個々のビットを指定するものではなく、 これらの値は "
-"I<flags> の下位 2 ビットを定義する。 B<O_RDONLY>, B<O_WRONLY>, B<O_RDWR> はそ"
-"れぞれ 0, 1, 2 に定義されている。 言い換えると、 B<O_RDONLY | O_WRONLY> の組"
-"み合わせは論理的に間違いであり、確かに B<O_RDWR> と同じ意味ではない。 Linux "
-"では、特別な、非標準なアクセスモードとして 3 (バイナリでは 11) が 予約されて"
-"おり I<flags> に指定できる。 このアクセスモードを指定すると、ファイルの読み出"
-"し/書き込み許可をチェックし、 読み出しにも書き込みにも使用できないディスクリ"
-"プタを返す。 この非標準のアクセスモードはいくつかの Linux ドライバで使用され"
-"ており、 デバイス固有の B<ioctl>(2)  操作にのみ使用されるディスクリプタを返す"
-"ために使われている。"
-
 #.  Linux 2.0, 2.5: truncate
 #.  Solaris 5.7, 5.8: truncate
 #.  Irix 6.5: truncate
 #.  Linux 2.0, 2.5: truncate
 #.  Solaris 5.7, 5.8: truncate
 #.  Irix 6.5: truncate
@@ -6793,7 +7890,7 @@ msgstr ""
 #.  HP-UX 11.22: truncate
 #.  FreeBSD 4.7: truncate
 #. type: Plain text
 #.  HP-UX 11.22: truncate
 #.  FreeBSD 4.7: truncate
 #. type: Plain text
-#: build/C/man2/open.2:684
+#: build/C/man2/open.2:1083
 msgid ""
 "The (undefined) effect of B<O_RDONLY | O_TRUNC> varies among "
 "implementations.  On many systems the file is actually truncated."
 msgid ""
 "The (undefined) effect of B<O_RDONLY | O_TRUNC> varies among "
 "implementations.  On many systems the file is actually truncated."
@@ -6802,40 +7899,7 @@ msgstr ""
 "くのシステムではファイルは実際に切り詰められる。"
 
 #. type: Plain text
 "くのシステムではファイルは実際に切り詰められる。"
 
 #. type: Plain text
-#: build/C/man2/open.2:688
-msgid ""
-"There are many infelicities in the protocol underlying NFS, affecting "
-"amongst others B<O_SYNC> and B<O_NDELAY>."
-msgstr ""
-"NFS を実現しているプロトコルには多くの不備があり、特に B<O_SYNC> と "
-"B<O_NDELAY> に影響する。"
-
-#. type: Plain text
-#: build/C/man2/open.2:710
-msgid ""
-"POSIX provides for three different variants of synchronized I/O, "
-"corresponding to the flags B<O_SYNC>, B<O_DSYNC>, and B<O_RSYNC>.  Currently "
-"(2.6.31), Linux only implements B<O_SYNC>, but glibc maps B<O_DSYNC> and "
-"B<O_RSYNC> to the same numerical value as B<O_SYNC>.  Most Linux file "
-"systems don't actually implement the POSIX B<O_SYNC> semantics, which "
-"require all metadata updates of a write to be on disk on returning to "
-"userspace, but only the B<O_DSYNC> semantics, which require only actual file "
-"data and metadata necessary to retrieve it to be on disk by the time the "
-"system call returns."
-msgstr ""
-"POSIX では、3 種類の同期 I/O が提供されており、 B<O_SYNC>, B<O_DSYNC>, "
-"B<O_RSYNC> フラグがこれに対応するものである。 今のところ (カーネル 2.6.31)、 "
-"Linux では B<O_SYNC> だけが実装されているが、 glibc は B<O_DSYNC> と "
-"B<O_RSYNC> に B<O_SYNC> と同じ数値を割り当てている。 ほとんどの Linux のファ"
-"イルシステムは、実際には POSIX の B<O_SYNC> の動作ではなく B<O_DSYNC> の動作"
-"だけを実装している。 POSIX の B<O_SYNC> では、 B<open>()  がユーザ空間に返る"
-"際に、書き込みに関する全てのメタデータの 更新がディスクに書き込まれている必要"
-"がある。 一方、 B<O_DSYNC> では、 B<open>()  が返るまでに、実際のファイルの"
-"データとそのデータを取得するために 必要なメタデータだけがディスクに書き込まれ"
-"ていればよい。"
-
-#. type: Plain text
-#: build/C/man2/open.2:718
+#: build/C/man2/open.2:1091
 msgid ""
 "Note that B<open>()  can open device special files, but B<creat>()  cannot "
 "create them; use B<mknod>(2)  instead."
 msgid ""
 "Note that B<open>()  can open device special files, but B<creat>()  cannot "
 "create them; use B<mknod>(2)  instead."
@@ -6845,22 +7909,7 @@ msgstr ""
 "用する。"
 
 #. type: Plain text
 "用する。"
 
 #. type: Plain text
-#: build/C/man2/open.2:731
-msgid ""
-"On NFS file systems with UID mapping enabled, B<open>()  may return a file "
-"descriptor but, for example, B<read>(2)  requests are denied with "
-"B<EACCES>.  This is because the client performs B<open>()  by checking the "
-"permissions, but UID mapping is performed by the server upon read and write "
-"requests."
-msgstr ""
-"UID マッピングを使用している NFS ファイルシステムでは、 B<open>()  がファイル"
-"ディスクリプタを返した場合でも B<read>(2)  が B<EACCES> で拒否される場合があ"
-"る。 これはクライアントがアクセス許可のチェックを行って B<open>()  を実行する"
-"が、読み込みや書き込みの際には サーバーで UID マッピングが行われるためであ"
-"る。"
-
-#. type: Plain text
-#: build/C/man2/open.2:750
+#: build/C/man2/open.2:1112
 msgid ""
 "If the file is newly created, its I<st_atime>, I<st_ctime>, I<st_mtime> "
 "fields (respectively, time of last access, time of last status change, and "
 msgid ""
 "If the file is newly created, its I<st_atime>, I<st_ctime>, I<st_mtime> "
 "fields (respectively, time of last access, time of last status change, and "
@@ -6876,210 +7925,1608 @@ msgstr ""
 "O_TRUNC フラグでファイルが修正されたときは、 ファイルの I<st_ctime> と "
 "I<st_mtime> フィールドが現在時刻に設定される。"
 
 "O_TRUNC フラグでファイルが修正されたときは、 ファイルの I<st_ctime> と "
 "I<st_mtime> フィールドが現在時刻に設定される。"
 
-#. type: SS
-#: build/C/man2/open.2:750
+#. type: SS
+#: build/C/man2/open.2:1112
+#, no-wrap
+msgid "Synchronized I/O"
+msgstr "同期 I/O"
+
+#. type: Plain text
+#: build/C/man2/open.2:1127
+msgid ""
+"The POSIX.1-2008 \"synchronized I/O\" option specifies different variants of "
+"synchronized I/O, and specifies the B<open>()  flags B<O_SYNC>, B<O_DSYNC>, "
+"and B<O_RSYNC> for controlling the behavior.  Regardless of whether an "
+"implementation supports this option, it must at least support the use of "
+"B<O_SYNC> for regular files."
+msgstr ""
+"POSIX.1-2008 の「同期 I/O」の選択肢として複数種類が規定されており、 動作を制"
+"御するために B<open>() フラグとして B<O_SYNC>, B<O_DSYNC>, B<O_RSYNC> が規定"
+"されている。 この選択肢を実装がサポートしているかに関わらず、 各実装では少な"
+"くとも通常のファイルに対して B<O_SYNC> が利用できなければならない。"
+
+#. type: Plain text
+#: build/C/man2/open.2:1138
+msgid ""
+"Linux implements B<O_SYNC> and B<O_DSYNC>, but not B<O_RSYNC>.  (Somewhat "
+"incorrectly, glibc defines B<O_RSYNC> to have the same value as B<O_SYNC>.)"
+msgstr ""
+"Linux は B<O_SYNC> と B<O_DSYNC> を実装しているが、 B<O_RSYNC> は実装していな"
+"い (少し間違っているのだが、 glibc では B<O_RSYNC> が B<O_SYNC> と同じ値で定"
+"義されている)。"
+
+#. type: Plain text
+#: build/C/man2/open.2:1156
+msgid ""
+"B<O_SYNC> provides synchronized I/O I<file> integrity completion, meaning "
+"write operations will flush data and all associated metadata to the "
+"underlying hardware.  B<O_DSYNC> provides synchronized I/O I<data> integrity "
+"completion, meaning write operations will flush data to the underlying "
+"hardware, but will only flush metadata updates that are required to allow a "
+"subsequent read operation to complete successfully.  Data integrity "
+"completion can reduce the number of disk operations that are required for "
+"applications that don't need the guarantees of file integrity completion."
+msgstr ""
+"B<O_SYNC> は、 同期 I/O でのI<ファイル>完全性完了を提供する。 つまり、 書き込"
+"み操作はデータとすべての関連メタデータを裏で利用されているハードウェアにフ"
+"ラッシュすることを意味する。 B<O_DSYNC> は、 同期 I/O でのI<データ>完全性完了"
+"を提供する。 つまり、 書き込み操作はデータを裏で利用されているハードウェアに"
+"フラッシュするが、 それ以降の読み出し操作が正常に完了するのに必要なメタデータ"
+"の更新のみをフラッシュする。 データ完全性完了は、 ファイル完全性完了を必要と"
+"しないアプリケーションで、 ディスク操作の数を減らすことができる。"
+
+#. type: Plain text
+#: build/C/man2/open.2:1173
+msgid ""
+"To understand the difference between the the two types of completion, "
+"consider two pieces of file metadata: the file last modification timestamp "
+"(I<st_mtime>)  and the file length.  All write operations will update the "
+"last file modification timestamp, but only writes that add data to the end "
+"of the file will change the file length.  The last modification timestamp is "
+"not needed to ensure that a read completes successfully, but the file length "
+"is.  Thus, B<O_DSYNC> would only guarantee to flush updates to the file "
+"length metadata (whereas B<O_SYNC> would also always flush the last "
+"modification timestamp metadata)."
+msgstr ""
+"2 種類の完了の違いを理解するために、 ファイルメタデータの 2 つの要素、 ファイ"
+"ルの最終修正時刻 (I<st_mtime>) とファイル長、を考える。 すべての書き込み操作"
+"は最終修正時刻を更新するが、 ファイルの末尾にデータを追加する書き込み操作のみ"
+"がファイル長を変更する。 最終修正時刻は、 読み出しが正常に完了するのに必要で"
+"はないが、 ファイル長は必要である。 したがって、 B<O_DSYNC> はファイル長のメ"
+"タデータの更新がフラッシュされることだけを保証する (これに対して B<O_SYNC> で"
+"は最終修正時刻のメタデータも常にフラッシュされる)。"
+
+#. type: Plain text
+#: build/C/man2/open.2:1185
+msgid ""
+"Before Linux 2.6.33, Linux implemented only the B<O_SYNC> flag for "
+"B<open>().  However, when that flag was specified, most filesystems actually "
+"provided the equivalent of synchronized I/O I<data> integrity completion (i."
+"e., B<O_SYNC> was actually implemented as the equivalent of B<O_DSYNC>)."
+msgstr ""
+"Linux 2.6.33 より前では、 Linux は B<open>() では B<O_SYNC> フラグのみを実装"
+"していた。 しかしながら、 このフラグが指定された場合、 ほとんどのファイルシス"
+"テムで提供されていたのは実際には同期 I/O でのI<データ>完全性完了と等価なもの"
+"であった (つまり、 B<O_SYNC> は実際には B<O_DSYNC> と等価なものとして実装され"
+"ていた)。"
+
+#. type: Plain text
+#: build/C/man2/open.2:1204
+msgid ""
+"Since Linux 2.6.33, proper B<O_SYNC> support is provided.  However, to "
+"ensure backward binary compatibility, B<O_DSYNC> was defined with the same "
+"value as the historical B<O_SYNC>, and B<O_SYNC> was defined as a new (two-"
+"bit) flag value that includes the B<O_DSYNC> flag value.  This ensures that "
+"applications compiled against new headers get at least B<O_DSYNC> semantics "
+"on pre-2.6.33 kernels."
+msgstr ""
+"Linux 2.6.33 行こう では、 正しい B<O_SYNC> のサポートが提供されている。 しか"
+"しながら、 バイナリレベルの後方互換性を保証するため、 B<O_DSYNC> は以前の "
+"B<O_SYNC> と同じ値で定義されており、 B<O_SYNC> は B<O_DSYNC> フラグの値を含む"
+"新しい (2 ビットの) フラグ値として定義されている。 これにより、 新しいヘッダ"
+"を使ってコンパイルされたアプリケーションで、 2.6.33 より前のカーネルで少なく"
+"とも B<O_DSYNC> の動作は同じになることが保証される。"
+
+#. type: SS
+#: build/C/man2/open.2:1204
+#, no-wrap
+msgid "NFS"
+msgstr "NFS"
+
+#. type: Plain text
+#: build/C/man2/open.2:1208
+msgid ""
+"There are many infelicities in the protocol underlying NFS, affecting "
+"amongst others B<O_SYNC> and B<O_NDELAY>."
+msgstr ""
+"NFS を実現しているプロトコルには多くの不備があり、特に B<O_SYNC> と "
+"B<O_NDELAY> に影響する。"
+
+#. type: Plain text
+#: build/C/man2/open.2:1223
+msgid ""
+"On NFS filesystems with UID mapping enabled, B<open>()  may return a file "
+"descriptor but, for example, B<read>(2)  requests are denied with "
+"B<EACCES>.  This is because the client performs B<open>()  by checking the "
+"permissions, but UID mapping is performed by the server upon read and write "
+"requests."
+msgstr ""
+"UID マッピングを使用している NFS ファイルシステムでは、 B<open>()  がファイル"
+"ディスクリプタを返した場合でも B<read>(2)  が B<EACCES> で拒否される場合があ"
+"る。 これはクライアントがアクセス許可のチェックを行って B<open>()  を実行する"
+"が、読み込みや書き込みの際には サーバーで UID マッピングが行われるためであ"
+"る。"
+
+#. type: SS
+#: build/C/man2/open.2:1223
+#, no-wrap
+msgid "File access mode"
+msgstr "ファイルアクセスモード"
+
+#. type: Plain text
+#: build/C/man2/open.2:1238
+msgid ""
+"Unlike the other values that can be specified in I<flags>, the I<access "
+"mode> values B<O_RDONLY>, B<O_WRONLY>, and B<O_RDWR> do not specify "
+"individual bits.  Rather, they define the low order two bits of I<flags>, "
+"and are defined respectively as 0, 1, and 2.  In other words, the "
+"combination B<O_RDONLY | O_WRONLY> is a logical error, and certainly does "
+"not have the same meaning as B<O_RDWR>."
+msgstr ""
+"「アクセスモード」の値 B<O_RDONLY>, B<O_WRONLY>, B<O_RDWR> は、 I<flags> に指"
+"定できる他の値と違い、個々のビットを指定するものではなく、 これらの値は "
+"I<flags> の下位 2 ビットを定義する。 B<O_RDONLY>, B<O_WRONLY>, B<O_RDWR> はそ"
+"れぞれ 0, 1, 2 に定義されている。 言い換えると、 B<O_RDONLY | O_WRONLY> の組"
+"み合わせは論理的に間違いであり、確かに B<O_RDWR> と同じ意味ではない。"
+
+#.  See for example util-linux's disk-utils/setfdprm.c
+#.  For some background on access mode 3, see
+#.  http://thread.gmane.org/gmane.linux.kernel/653123
+#.  "[RFC] correct flags to f_mode conversion in __dentry_open"
+#.  LKML, 12 Mar 2008
+#. type: Plain text
+#: build/C/man2/open.2:1255
+msgid ""
+"Linux reserves the special, nonstandard access mode 3 (binary 11) in "
+"I<flags> to mean: check for read and write permission on the file and return "
+"a descriptor that can't be used for reading or writing.  This nonstandard "
+"access mode is used by some Linux drivers to return a descriptor that is to "
+"be used only for device-specific B<ioctl>(2)  operations."
+msgstr ""
+"Linux では、特別な、非標準なアクセスモードとして 3 (バイナリでは 11) が 予約"
+"されており I<flags> に指定できる。 このアクセスモードを指定すると、ファイルの"
+"読み出し/書き込み許可をチェックし、 読み出しにも書き込みにも使用できないディ"
+"スクリプタを返す。 この非標準のアクセスモードはいくつかの Linux ドライバで、"
+"デバイス固有の B<ioctl>(2) 操作にのみ使用されるディスクリプタを返すために使わ"
+"れている。"
+
+#. type: SS
+#: build/C/man2/open.2:1255
+#, no-wrap
+msgid "Rationale for openat() and other directory file descriptor APIs"
+msgstr "openat() や他のディレクトリファイルディスクリプタ API の基本原理"
+
+#. type: Plain text
+#: build/C/man2/open.2:1283
+msgid ""
+"B<openat>()  and the other system calls and library functions that take a "
+"directory file descriptor argument (i.e., B<faccessat>(2), "
+"B<fanotify_mark>(2), B<fchmodat>(2), B<fchownat>(2), B<fstatat>(2), "
+"B<futimesat>(2), B<linkat>(2), B<mkdirat>(2), B<mknodat>(2), "
+"B<name_to_handle_at>(2), B<readlinkat>(2), B<renameat>(2), B<symlinkat>(2), "
+"B<unlinkat>(2), B<utimensat>(2)  B<mkfifoat>(3), and B<scandirat>(3))  are "
+"supported for two reasons.  Here, the explanation is in terms of the "
+"B<openat>()  call, but the rationale is analogous for the other interfaces."
+msgstr ""
+"B<openat>() やディレクトリファイルディスクリプタを引き数を取る他のシステム"
+"コールやライブラリ関数 (B<faccessat>(2), B<fanotify_mark>(2), "
+"B<fchmodat>(2), B<fchownat>(2), B<fstatat>(2), B<futimesat>(2), "
+"B<linkat>(2), B<mkdirat>(2), B<mknodat>(2), B<name_to_handle_at>(2), "
+"B<readlinkat>(2), B<renameat>(2), B<symlinkat>(2), B<unlinkat>(2), "
+"B<utimensat>(2) B<mkfifoat>(3), B<scandirat>(3)) は二つの理由から用意されてい"
+"る。 ここでは、 B<openat> コールに関して説明するが、この基本原理は他のイン"
+"ターフェースでも同じである。"
+
+#. type: Plain text
+#: build/C/man2/open.2:1301
+msgid ""
+"First, B<openat>()  allows an application to avoid race conditions that "
+"could occur when using B<open>()  to open files in directories other than "
+"the current working directory.  These race conditions result from the fact "
+"that some component of the directory prefix given to B<open>()  could be "
+"changed in parallel with the call to B<open>().  Such races can be avoided "
+"by opening a file descriptor for the target directory, and then specifying "
+"that file descriptor as the I<dirfd> argument of B<openat>()."
+msgstr ""
+"最初の理由として、 B<openat>() を使うと、 アプリケーションは、 カレントワーキ"
+"ングディレクトリ以外のディレクトリで B<open>() を使ってファイルをオープンする"
+"際に起こり得る競合条件を避けることができる。 これらの競合条件は、 B<open>() "
+"に渡されたディレクトリプレフィックスの構成要素が B<open>() の呼び出しと並行し"
+"て変化する可能性があるという点に由来している。 このような競合条件は、 対象の"
+"ディレクトリに対するファイルディスクリプタをオープンし、 それから "
+"B<openat>() の I<dirfd> 引き数としてそのファイルディスクリプタを指定すること"
+"で、 避けることができる。"
+
+#. type: Plain text
+#: build/C/man2/open.2:1312
+msgid ""
+"Second, B<openat>()  allows the implementation of a per-thread \"current "
+"working directory\", via file descriptor(s) maintained by the application.  "
+"(This functionality can also be obtained by tricks based on the use of I</"
+"proc/self/fd/>dirfd, but less efficiently.)"
+msgstr ""
+"二つ目として、 B<openat>() を使うと、アプリケーションが管理するファイルディス"
+"クリプタにより、 スレッド単位の「カレントワーキングディレクトリ」を実装するこ"
+"とができる (この機能は、 I</proc/self/fd/dirfd> を使った方法でも実現すること"
+"ができるが、 効率の面で落とる)。"
+
+#. type: SS
+#: build/C/man2/open.2:1312
+#, no-wrap
+msgid "O_DIRECT"
+msgstr "O_DIRECT"
+
+#. type: Plain text
+#: build/C/man2/open.2:1329
+msgid ""
+"The B<O_DIRECT> flag may impose alignment restrictions on the length and "
+"address of user-space buffers and the file offset of I/Os.  In Linux "
+"alignment restrictions vary by filesystem and kernel version and might be "
+"absent entirely.  However there is currently no filesystem-independent "
+"interface for an application to discover these restrictions for a given file "
+"or filesystem.  Some filesystems provide their own interfaces for doing so, "
+"for example the B<XFS_IOC_DIOINFO> operation in B<xfsctl>(3)."
+msgstr ""
+"B<O_DIRECT> フラグを使用する場合、ユーザ空間バッファの長さやアドレス、 I/O の"
+"ファイルオフセットに関してアラインメントの制限が課されることがある。 Linux で"
+"は、アラインメントの制限はファイルシステムやカーネルのバージョンに よって異な"
+"り、全く制限が存在しない場合もある。 しかしながら、現在のところ、指定された"
+"ファイルやファイルシステムに対して こうした制限があるかを見つけるための、アプ"
+"リケーション向けのインタフェースで ファイルシステム非依存のものは存在しな"
+"い。 いくつかのファイルシステムでは、制限を確認するための独自のインタフェース"
+"が 提供されている。例えば、 B<xfsctl>(3)  の B<XFS_IOC_DIOINFO> 命令である。"
+
+#. type: Plain text
+#: build/C/man2/open.2:1339
+#, fuzzy
+#| msgid ""
+#| "Under Linux 2.4, transfer sizes, and the alignment of the user buffer and "
+#| "the file offset must all be multiples of the logical block size of the "
+#| "filesystem.  Under Linux 2.6, alignment to 512-byte boundaries suffices."
+msgid ""
+"Under Linux 2.4, transfer sizes, and the alignment of the user buffer and "
+"the file offset must all be multiples of the logical block size of the "
+"filesystem.  Since Linux 2.6.0, alignment to the logical block size of the "
+"underlying storage (typically 512 bytes) suffices.  The logical block size "
+"can be determined using the B<ioctl>(2)  B<BLKSSZGET> operation or from the "
+"shell using the command:"
+msgstr ""
+"Linux 2.4 では、転送サイズ、 ユーザーバッファのアラインメント、ファイルオフ"
+"セットは、 ファイルシステムの論理ブロックサイズの倍数でなければならない。 "
+"Linux 2.6 では、512 バイトごとの境界に配置されていれば充分である。"
+
+#. type: Plain text
+#: build/C/man2/open.2:1341
+#, no-wrap
+msgid "    blockdev --getss\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open.2:1375
+msgid ""
+"B<O_DIRECT> I/Os should never be run concurrently with the B<fork>(2)  "
+"system call, if the memory buffer is a private mapping (i.e., any mapping "
+"created with the B<mmap>(2)  B<MAP_PRIVATE> flag; this includes memory "
+"allocated on the heap and statically allocated buffers).  Any such I/Os, "
+"whether submitted via an asynchronous I/O interface or from another thread "
+"in the process, should be completed before B<fork>(2)  is called.  Failure "
+"to do so can result in data corruption and undefined behavior in parent and "
+"child processes.  This restriction does not apply when the memory buffer for "
+"the B<O_DIRECT> I/Os was created using B<shmat>(2)  or B<mmap>(2)  with the "
+"B<MAP_SHARED> flag.  Nor does this restriction apply when the memory buffer "
+"has been advised as B<MADV_DONTFORK> with B<madvise>(2), ensuring that it "
+"will not be available to the child after B<fork>(2)."
+msgstr ""
+"メモリバッファがプライベートマッピング (B<mmap>(2) の B<MAP_PRIVATE>\n"
+"フラグで作成されたマッピング) の場合には、B<O_DIRECT> I/O は\n"
+"B<fork>(2) システムコールと同時に決して実行すべきではない \n"
+"(プライベートマッピングには、ヒープ領域に割り当てられたメモリや静的に\n"
+"割り当てたバッファも含まれる)。非同期 I/O インターフェース (AIO) 経由\n"
+"やプロセス内の他のスレッドから発行された、このような I/O は、\n"
+"B<fork>(2) が呼び出される前に完了されるべきである。\n"
+"そうしなかった場合、データ破壊や、親プロセスや子プロセスでの予期しない\n"
+"動作が起こる可能性がある。\n"
+"B<O_DIRECT> I/O 用のメモリバッファが B<shmat>(2) やB<MAP_SHARED> フラグ\n"
+"付きの B<mmap>(2) で作成された場合には、この制限はあてはまらない。\n"
+"B<madvise>(2) でメモリバッファにアドバイス B<MADV_DONTFORK> が設定され\n"
+"ている場合にも、この制限はあてはまらない(B<MADV_DONTFORK> はそのメモリ\n"
+"バッファが B<fork>(2) 後に子プロセスからは利用できないことを保証するも\n"
+"のである)。"
+
+#. type: Plain text
+#: build/C/man2/open.2:1385
+msgid ""
+"The B<O_DIRECT> flag was introduced in SGI IRIX, where it has alignment "
+"restrictions similar to those of Linux 2.4.  IRIX has also a B<fcntl>(2)  "
+"call to query appropriate alignments, and sizes.  FreeBSD 4.x introduced a "
+"flag of the same name, but without alignment restrictions."
+msgstr ""
+"B<O_DIRECT> フラグは SGI IRIX で導入された。SGI IRIX にも Linux 2.4 と同様の "
+"(ユーザーバッファの) アラインメントの制限がある。 また、IRIX には適切な配置と"
+"サイズを取得するための B<fcntl>(2)  コールがある。 FreeBSD 4.x も同じ名前のフ"
+"ラグを導入したが、アラインメントの制限はない。"
+
+#. type: Plain text
+#: build/C/man2/open.2:1394
+msgid ""
+"B<O_DIRECT> support was added under Linux in kernel version 2.4.10.  Older "
+"Linux kernels simply ignore this flag.  Some filesystems may not implement "
+"the flag and B<open>()  will fail with B<EINVAL> if it is used."
+msgstr ""
+"B<O_DIRECT> が Linux でサポートされたのは、カーネルバージョン 2.4.10 であ"
+"る。 古い Linux カーネルは、このフラグを単に無視する。 B<O_DIRECT> フラグをサ"
+"ポートしていないファイルシステムもあり、その場合は、 B<O_DIRECT> を使用する"
+"と B<open>()  は B<EINVAL> で失敗する。"
+
+#. type: Plain text
+#: build/C/man2/open.2:1405
+msgid ""
+"Applications should avoid mixing B<O_DIRECT> and normal I/O to the same "
+"file, and especially to overlapping byte regions in the same file.  Even "
+"when the filesystem correctly handles the coherency issues in this "
+"situation, overall I/O throughput is likely to be slower than using either "
+"mode alone.  Likewise, applications should avoid mixing B<mmap>(2)  of files "
+"with direct I/O to the same files."
+msgstr ""
+"アプリケーションは、同じファイル、 特に同じファイルの重複するバイト領域に対し"
+"て、 B<O_DIRECT> と通常の I/O を混ぜて使うのは避けるべきである。 ファイルシス"
+"テムがこのような状況において一貫性の問題を正しく 扱うことができる場合であって"
+"も、全体の I/O スループットは どちらか一方を使用するときと比べて低速になるで"
+"あろう。 同様に、アプリケーションは、同じファイルに対して B<mmap>(2)  と直接 "
+"I/O (B<O_DIRECT>)  を混ぜて使うのも避けるべきである。"
+
+#. type: Plain text
+#: build/C/man2/open.2:1427
+msgid ""
+"The behaviour of B<O_DIRECT> with NFS will differ from local filesystems.  "
+"Older kernels, or kernels configured in certain ways, may not support this "
+"combination.  The NFS protocol does not support passing the flag to the "
+"server, so B<O_DIRECT> I/O will bypass the page cache only on the client; "
+"the server may still cache the I/O.  The client asks the server to make the "
+"I/O synchronous to preserve the synchronous semantics of B<O_DIRECT>.  Some "
+"servers will perform poorly under these circumstances, especially if the I/O "
+"size is small.  Some servers may also be configured to lie to clients about "
+"the I/O having reached stable storage; this will avoid the performance "
+"penalty at some risk to data integrity in the event of server power "
+"failure.  The Linux NFS client places no alignment restrictions on "
+"B<O_DIRECT> I/O."
+msgstr ""
+"NFS で B<O_DIRECT> を使った場合の動作はローカルのファイルシステムの場合と違"
+"う。 古いカーネルや、ある種の設定でコンパイルされたカーネルは、 B<O_DIRECT> "
+"と NFS の組み合わせをサポートしていないかもしれない。 NFS プロトコル自体は"
+"サーバにフラグを渡す機能は持っていないので、 B<O_DIRECT> I/O はクライアント上"
+"のページキャッシュをバイパスするだけになり、 サーバは I/O をキャッシュしてい"
+"るかもしれない。 クライアントは、 B<O_DIRECT> の同期機構を保持するため、サー"
+"バに対して I/O を同期して行うように依頼する。 サーバによっては、こうした状況"
+"下、特に I/O サイズが小さい場合に 性能が大きく劣化する。 また、サーバによって"
+"は、I/O が安定したストレージにまで行われたと、 クライアントに対して嘘をつくも"
+"のもある。 これは、サーバの電源故障が起こった際にデータの完全性が保たれない "
+"危険は少しあるが、性能面での不利な条件を回避するために行われている。 Linux "
+"の NFS クライアントでは B<O_DIRECT> I/O でのアラインメントの制限はない。"
+
+#. type: Plain text
+#: build/C/man2/open.2:1434
+msgid ""
+"In summary, B<O_DIRECT> is a potentially powerful tool that should be used "
+"with caution.  It is recommended that applications treat use of B<O_DIRECT> "
+"as a performance option which is disabled by default."
+msgstr ""
+"まとめると、 B<O_DIRECT> は、注意して使うべきであるが、強力なツールとなる可能"
+"性を持っている。 アプリケーションは B<O_DIRECT> をデフォルトでは無効になって"
+"いる性能向上のためのオプションと 考えておくのがよいであろう。"
+
+#. type: Plain text
+#: build/C/man2/open.2:1439
+msgid ""
+"\"The thing that has always disturbed me about O_DIRECT is that the whole "
+"interface is just stupid, and was probably designed by a deranged monkey on "
+"some serious mind-controlling substances.\"\\(emLinus"
+msgstr ""
+"「O_DIRECT でいつも困るのは、インタフェース全部が本当にお馬鹿な点だ。 たぶん"
+"危ないマインドコントロール剤で 頭がおかしくなったサルが設計したんじゃないか"
+"な」 \\(em Linus"
+
+#.  FIXME . Check bugzilla report on open(O_ASYNC)
+#.  See http://bugzilla.kernel.org/show_bug.cgi?id=5993
+#. type: Plain text
+#: build/C/man2/open.2:1451
+msgid ""
+"Currently, it is not possible to enable signal-driven I/O by specifying "
+"B<O_ASYNC> when calling B<open>(); use B<fcntl>(2)  to enable this flag."
+msgstr ""
+"現在のところ、 B<open>()  の呼び出し時に B<O_ASYNC> を指定してシグナル駆動 I/"
+"O を有効にすることはできない。 このフラグを有効にするには B<fcntl>(2)  を使用"
+"すること。"
+
+#. type: Plain text
+#: build/C/man2/open.2:1459
+msgid ""
+"One must check for two different error codes, B<EISDIR> and B<ENOENT>, when "
+"trying to determine whether the kernel supports B<O_TMPFILE> functionality."
+msgstr ""
+"カーネルが B<O_TMPFILE> 機能をサポートしているかを判定する際に、 B<EISDIR> "
+"と B<ENOENT> の 2 つのエラーコードをチェックしなければならない。"
+
+#. type: Plain text
+#: build/C/man2/open.2:1481
+msgid ""
+"B<chmod>(2), B<chown>(2), B<close>(2), B<dup>(2), B<fcntl>(2), B<link>(2), "
+"B<lseek>(2), B<mknod>(2), B<mmap>(2), B<mount>(2), B<open_by_handle_at>(2), "
+"B<read>(2), B<socket>(2), B<stat>(2), B<umask>(2), B<unlink>(2), "
+"B<write>(2), B<fopen>(3), B<fifo>(7), B<path_resolution>(7), B<symlink>(7)"
+msgstr ""
+"B<chmod>(2), B<chown>(2), B<close>(2), B<dup>(2), B<fcntl>(2), B<link>(2), "
+"B<lseek>(2), B<mknod>(2), B<mmap>(2), B<mount>(2), B<open_by_handle_at>(2), "
+"B<read>(2), B<socket>(2), B<stat>(2), B<umask>(2), B<unlink>(2), "
+"B<write>(2), B<fopen>(3), B<fifo>(7), B<path_resolution>(7), B<symlink>(7)"
+
+#. type: TH
+#: build/C/man2/open_by_handle_at.2:25
+#, no-wrap
+msgid "OPEN_BY_HANDLE_AT"
+msgstr "OPEN_BY_HANDLE_AT"
+
+#. type: TH
+#: build/C/man2/open_by_handle_at.2:25 build/C/man2/rename.2:33
+#, no-wrap
+msgid "2014-05-08"
+msgstr "2014-05-08"
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:29
+msgid ""
+"name_to_handle_at, open_by_handle_at - obtain handle for a pathname and open "
+"file via a handle"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:35
+#, no-wrap
+msgid ""
+"B<#define _GNU_SOURCE>\n"
+"B<#include E<lt>sys/types.hE<gt>>\n"
+"B<#include E<lt>sys/stat.hE<gt>>\n"
+"B<#include E<lt>fcntl.hE<gt>>\n"
+msgstr ""
+"B<#define _GNU_SOURCE>\n"
+"B<#include E<lt>sys/types.hE<gt>>\n"
+"B<#include E<lt>sys/stat.hE<gt>>\n"
+"B<#include E<lt>fcntl.hE<gt>>\n"
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:39
+#, no-wrap
+msgid ""
+"B<int name_to_handle_at(int >I<dirfd>B<, const char *>I<pathname>B<,>\n"
+"B<                      struct file_handle *>I<handle>B<,>\n"
+"B<                      int *>I<mount_id>B<, int >I<flags>B<);>\n"
+msgstr ""
+"B<int name_to_handle_at(int >I<dirfd>B<, const char *>I<pathname>B<,>\n"
+"B<                      struct file_handle *>I<handle>B<,>\n"
+"B<                      int *>I<mount_id>B<, int >I<flags>B<);>\n"
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:42
+#, no-wrap
+msgid ""
+"B<int open_by_handle_at(int >I<mount_fd>B<, struct file_handle *>I<handle>B<,>\n"
+"B<                      int >I<flags>B<);>\n"
+msgstr ""
+"B<int open_by_handle_at(int >I<mount_fd>B<, struct file_handle *>I<handle>B<,>\n"
+"B<                      int >I<flags>B<);>\n"
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:59
+msgid ""
+"The B<name_to_handle_at>()  and B<open_by_handle_at>()  system calls split "
+"the functionality of B<openat>(2)  into two parts: B<name_to_handle_at>()  "
+"returns an opaque handle that corresponds to a specified file; "
+"B<open_by_handle_at>()  opens the file corresponding to a handle returned by "
+"a previous call to B<name_to_handle_at>()  and returns an open file "
+"descriptor."
+msgstr ""
+
+#. type: SS
+#: build/C/man2/open_by_handle_at.2:59
+#, no-wrap
+msgid "name_to_handle_at()"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:71
+msgid ""
+"The B<name_to_handle_at>()  system call returns a file handle and a mount ID "
+"corresponding to the file specified by the I<dirfd> and I<pathname> "
+"arguments.  The file handle is returned via the argument I<handle>, which is "
+"a pointer to a structure of the following form:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:80
+#, no-wrap
+msgid ""
+"struct file_handle {\n"
+"    unsigned int  handle_bytes;   /* Size of f_handle [in, out] */\n"
+"    int           handle_type;    /* Handle type [out] */\n"
+"    unsigned char f_handle[0];    /* File identifier (sized by\n"
+"                                     caller) [out] */\n"
+"};\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:99
+msgid ""
+"It is the caller's responsibility to allocate the structure with a size "
+"large enough to hold the handle returned in I<f_handle>.  Before the call, "
+"the I<handle_bytes> field should be initialized to contain the allocated "
+"size for I<f_handle>.  (The constant B<MAX_HANDLE_SZ>, defined in "
+"I<E<lt>fcntl.hE<gt>>, specifies the maximum possible size for a file "
+"handle.)  Upon successful return, the I<handle_bytes> field is updated to "
+"contain the number of bytes actually written to I<f_handle>."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:112
+msgid ""
+"The caller can discover the required size for the I<file_handle> structure "
+"by making a call in which I<handle-E<gt>handle_bytes> is zero; in this case, "
+"the call fails with the error B<EOVERFLOW> and I<handle-E<gt>handle_bytes> "
+"is set to indicate the required size; the caller can then use this "
+"information to allocate a structure of the correct size (see EXAMPLE below)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:123
+msgid ""
+"Other than the use of the I<handle_bytes> field, the caller should treat the "
+"I<file_handle> structure as an opaque data type: the I<handle_type> and "
+"I<f_handle> fields are needed only by a subsequent call to "
+"B<open_by_handle_at>()."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:131
+msgid ""
+"The I<flags> argument is a bit mask constructed by ORing together zero or "
+"more of B<AT_EMPTY_PATH> and B<AT_SYMLINK_FOLLOW>, described below."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:138
+msgid ""
+"Together, the I<pathname> and I<dirfd> arguments identify the file for which "
+"a handle is to be obtained.  There are four distinct cases:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:146
+msgid ""
+"If I<pathname> is a nonempty string containing an absolute pathname, then a "
+"handle is returned for the file referred to by that pathname.  In this case, "
+"I<dirfd> is ignored."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:157
+msgid ""
+"If I<pathname> is a nonempty string containing a relative pathname and "
+"I<dirfd> has the special value B<AT_FDCWD>, then I<pathname> is interpreted "
+"relative to the current working directory of the caller, and a handle is "
+"returned for the file to which it refers."
+msgstr ""
+"I<pathname> が相対パスが入った空でない文字列で、 I<dirfd> が特別な値 "
+"B<AT_FDCWD> の場合、 I<pathname> は呼び出し元のカレントワーキングディレクトリ"
+"に対する相対パスと解釈され、 そのファイルを参照するハンドルが返される。"
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:170
+msgid ""
+"If I<pathname> is a nonempty string containing a relative pathname and "
+"I<dirfd> is a file descriptor referring to a directory, then I<pathname> is "
+"interpreted relative to the directory referred to by I<dirfd>, and a handle "
+"is returned for the file to which it refers.  (See B<openat>(3)  for an "
+"explanation of why \"directory file descriptors\" are useful.)"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:184
+msgid ""
+"If I<pathname> is an empty string and I<flags> specifies the value "
+"B<AT_EMPTY_PATH>, then I<dirfd> can be an open file descriptor referring to "
+"any type of file, or B<AT_FDCWD>, meaning the current working directory, and "
+"a handle is returned for the file to which it refers."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:196
+msgid ""
+"The I<mount_id> argument returns an identifier for the filesystem mount that "
+"corresponds to I<pathname>.  This corresponds to the first field in one of "
+"the records in I</proc/self/mountinfo>.  Opening the pathname in the fifth "
+"field of that record yields a file descriptor for the mount point; that file "
+"descriptor can be used in a subsequent call to B<open_by_handle_at>()."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:209
+msgid ""
+"By default, B<name_to_handle_at>()  does not dereference I<pathname> if it "
+"is a symbolic link, and thus returns a handle for the link itself.  If "
+"B<AT_SYMLINK_FOLLOW> is specified in I<flags>, I<pathname> is dereferenced "
+"if it is a symbolic link (so that the call returns a handle for the file "
+"referred to by the link)."
+msgstr ""
+
+#. type: SS
+#: build/C/man2/open_by_handle_at.2:209
+#, no-wrap
+msgid "open_by_handle_at()"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:216
+msgid ""
+"The B<open_by_handle_at>()  system call opens the file referred to by "
+"I<handle>, a file handle returned by a previous call to "
+"B<name_to_handle_at>()."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:226
+msgid ""
+"The I<mount_fd> argument is a file descriptor for any object (file, "
+"directory, etc.)  in the mounted filesystem with respect to which I<handle> "
+"should be interpreted.  The special value B<AT_FDCWD> can be specified, "
+"meaning the current working directory of the caller."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:239
+msgid ""
+"The I<flags> argument is as for B<open>(2).  If I<handle> refers to a "
+"symbolic link, the caller must specify the B<O_PATH> flag, and the symbolic "
+"link is not dereferenced; the B<O_NOFOLLOW> flag, if specified, is ignored."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:245
+msgid ""
+"The caller must have the B<CAP_DAC_READ_SEARCH> capability to invoke "
+"B<open_by_handle_at>()."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:252
+msgid ""
+"On success, B<name_to_handle_at>()  returns 0, and B<open_by_handle_at>()  "
+"returns a nonnegative file descriptor."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:256
+msgid ""
+"In the event of an error, both system calls return -1 and set I<errno> to "
+"indicate the cause of the error."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:263
+msgid ""
+"B<name_to_handle_at>()  and B<open_by_handle_at>()  can fail for the same "
+"errors as B<openat>(2).  In addition, they can fail with the errors noted "
+"below."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:266
+msgid "B<name_to_handle_at>()  can fail with the following errors:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:273
+msgid ""
+"I<pathname>, I<mount_id>, or I<handle> points outside your accessible "
+"address space."
+msgstr ""
+"I<pathname>, I<mount_id>, I<handle> のどれかがアクセス可能なアドレス空間の外"
+"を指している。"
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:277
+msgid "I<flags> includes an invalid bit value."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:282
+msgid "I<handle-E<gt>handle_bytes> is greater than B<MAX_HANDLE_SZ>."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:289
+msgid ""
+"I<pathname> is an empty string, but B<AT_EMPTY_PATH> was not specified in "
+"I<flags>."
+msgstr ""
+"I<pathname> が空文字列だが、 I<flags> に B<AT_EMPTY_PATH> がされていなかっ"
+"た。"
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:301
+msgid ""
+"The file descriptor supplied in I<dirfd> does not refer to a directory, and "
+"it is not the case that both I<flags> includes B<AT_EMPTY_PATH> and "
+"I<pathname> is an empty string."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:304
+msgid ""
+"The filesystem does not support decoding of a pathname to a file handle."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:314
+msgid ""
+"The I<handle-E<gt>handle_bytes> value passed into the call was too small.  "
+"When this error occurs, I<handle-E<gt>handle_bytes> is updated to indicate "
+"the required size for the handle."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:317
+msgid "B<open_by_handle_at>()  can fail with the following errors:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:321
+msgid "I<mount_fd> is not an open file descriptor."
+msgstr "I<mount_fd> がオープンされたファイルディスクリプタでない。"
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:325
+msgid "I<handle> points outside your accessible address space."
+msgstr "I<handle> がアクセス可能なアドレス空間の外を指している。"
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:331
+msgid ""
+"I<handle-E<gt>handle_bytes> is greater than B<MAX_HANDLE_SZ> or is equal to "
+"zero."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:338
+msgid ""
+"I<handle> refers to a symbolic link, but B<O_PATH> was not specified in "
+"I<flags>."
+msgstr ""
+"I<handle> がシンボリックリンクを参照しているが、 I<flags> に B<O_PATH> がされ"
+"ていなかった。"
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:343
+msgid "The caller does not have the B<CAP_DAC_READ_SEARCH> capability."
+msgstr "呼び出し元が B<CAP_DAC_READ_SEARCH> ケーパビリティを持っていない。"
+
+#. type: TP
+#: build/C/man2/open_by_handle_at.2:343
+#, no-wrap
+msgid "B<ESTALE>"
+msgstr "B<ESTALE>"
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:349
+msgid ""
+"The specified I<handle> is not valid.  This error will occur if, for "
+"example, the file has been deleted."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:352
+msgid ""
+"These system calls first appeared in Linux 2.6.39.  Library support is "
+"provided in glibc since version 2.14."
+msgstr ""
+"これらのシステムコールは Linux 2.6.39 で初めて登場した。ライブラリによるサ"
+"ポートはバージョン 2.14 以降の glibc で提供されている。"
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:354
+msgid "These system calls are nonstandard Linux extensions."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:359
+msgid ""
+"FreeBSD has a broadly similar pair of system calls in the form of "
+"B<getfh>()  and B<openfh>()."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:364
+msgid ""
+"A file handle can be generated in one process using B<name_to_handle_at>()  "
+"and later used in a different process that calls B<open_by_handle_at>()."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:370
+msgid ""
+"Some filesystem don't support the translation of pathnames to file handles, "
+"for example, I</proc>, I</sys>, and various network filesystems."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:377
+msgid ""
+"A file handle may become invalid (\"stale\") if a file is deleted, or for "
+"other filesystem-specific reasons.  Invalid handles are notified by an "
+"B<ESTALE> error from B<open_by_handle_at>()."
+msgstr ""
+
+#.  https://lwn.net/Articles/375888/
+#.     "Open by handle" - Jonathan Corbet, 2010-02-23
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:387
+msgid ""
+"These system calls are designed for use by user-space file servers.  For "
+"example, a user-space NFS server might generate a file handle and pass it to "
+"an NFS client.  Later, when the client wants to open the file, it could pass "
+"the handle back to the server.  This sort of functionality allows a user-"
+"space file server to operate in a stateless fashion with respect to the "
+"files it serves."
+msgstr ""
+
+#.  commit bcda76524cd1fa32af748536f27f674a13e56700
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:409
+msgid ""
+"If I<pathname> refers to a symbolic link and I<flags> does not specify "
+"B<AT_SYMLINK_FOLLOW>, then B<name_to_handle_at>()  returns a handle for the "
+"link (rather than the file to which it refers).  The process receiving the "
+"handle can later perform operations on the symbolic link by converting the "
+"handle to a file descriptor using B<open_by_handle_at>()  with the B<O_PATH> "
+"flag, and then passing the file descriptor as the I<dirfd> argument in "
+"system calls such as B<readlinkat>(2)  and B<fchownat>(2)."
+msgstr ""
+
+#. type: SS
+#: build/C/man2/open_by_handle_at.2:409
+#, no-wrap
+msgid "Obtaining a persistent filesystem ID"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:423
+msgid ""
+"The mount IDs in I</proc/self/mountinfo> can be reused as filesystems are "
+"unmounted and mounted.  Therefore, the mount ID returned by "
+"B<name_to_handle_at>()  (in I<*mount_id>)  should not be treated as a "
+"persistent identifier for the corresponding mounted filesystem.  However, an "
+"application can use the information in the I<mountinfo> record that "
+"corresponds to the mount ID to derive a persistent identifier."
+msgstr ""
+
+#.  e.g., http://stackoverflow.com/questions/6748429/using-libblkid-to-find-uuid-of-a-partition
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:439
+msgid ""
+"For example, one can use the device name in the fifth field of the "
+"I<mountinfo> record to search for the corresponding device UUID via the "
+"symbolic links in I</dev/disks/by-uuid>.  (A more comfortable way of "
+"obtaining the UUID is to use the B<libblkid>(3)  library.)  That process can "
+"then be reversed, using the UUID to look up the device name, and then "
+"obtaining the corresponding mount point, in order to produce the I<mount_fd> "
+"argument used by B<open_by_handle_at>()."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:451
+msgid ""
+"The two programs below demonstrate the use of B<name_to_handle_at>()  and "
+"B<open_by_handle_at>().  The first program (I<t_name_to_handle_at.c>)  uses "
+"B<name_to_handle_at>()  to obtain the file handle and mount ID for the file "
+"specified in its command-line argument; the handle and mount ID are written "
+"to standard output."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:471
+msgid ""
+"The second program (I<t_open_by_handle_at.c>)  reads a mount ID and file "
+"handle from standard input.  The program then employs "
+"B<open_by_handle_at>()  to open the file using that handle.  If an optional "
+"command-line argument is supplied, then the I<mount_fd> argument for "
+"B<open_by_handle_at>()  is obtained by opening the directory named in that "
+"argument.  Otherwise, I<mount_fd> is obtained by scanning I</proc/self/"
+"mountinfo> to find a record whose mount ID matches the mount ID read from "
+"standard input, and the mount directory specified in that record is opened.  "
+"(These programs do not deal with the fact that mount IDs are not persistent.)"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:473
+msgid "The following shell session demonstrates the use of these two programs:"
+msgstr "以下のシェルセッションは、これら 2 つのプログラムの使用例である。"
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:483
+#, no-wrap
+msgid ""
+"$ B<echo 'Can you please think about it?' E<gt> cecilia.txt>\n"
+"$ B<./t_name_to_handle_at cecilia.txt E<gt> fh>\n"
+"$ B<./t_open_by_handle_at E<lt> fh>\n"
+"open_by_handle_at: Operation not permitted\n"
+"$ B<sudo ./t_open_by_handle_at E<lt> fh>      # Need CAP_SYS_ADMIN\n"
+"Read 31 bytes\n"
+"$ B<rm cecilia.txt>\n"
+msgstr ""
+"$ B<echo 'Can you please think about it?' E<gt> cecilia.txt>\n"
+"$ B<./t_name_to_handle_at cecilia.txt E<gt> fh>\n"
+"$ B<./t_open_by_handle_at E<lt> fh>\n"
+"open_by_handle_at: Operation not permitted\n"
+"$ B<sudo ./t_open_by_handle_at E<lt> fh>      # Need CAP_SYS_ADMIN\n"
+"Read 31 bytes\n"
+"$ B<rm cecilia.txt>\n"
+
+#.  Christoph Hellwig: That's why the file handles contain a generation
+#.  counter that gets incremented in this case.
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:494
+msgid ""
+"Now we delete and (quickly) re-create the file so that it has the same "
+"content and (by chance) the same inode.  Nevertheless, "
+"B<open_by_handle_at>()  recognizes that the original file referred to by the "
+"file handle no longer exists."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:505
+#, no-wrap
+msgid ""
+"$ B<stat --printf=\"%i\\en\" cecilia.txt>     # Display inode number\n"
+"4072121\n"
+"$ B<rm cecilia.txt>\n"
+"$ B<echo 'Can you please think about it?' E<gt> cecilia.txt>\n"
+"$ B<stat --printf=\"%i\\en\" cecilia.txt>     # Check inode number\n"
+"4072121\n"
+"$ B<sudo ./t_open_by_handle_at E<lt> fh>\n"
+"open_by_handle_at: Stale NFS file handle\n"
+msgstr ""
+"$ B<stat --printf=\"%i\\en\" cecilia.txt>     # Display inode number\n"
+"4072121\n"
+"$ B<rm cecilia.txt>\n"
+"$ B<echo 'Can you please think about it?' E<gt> cecilia.txt>\n"
+"$ B<stat --printf=\"%i\\en\" cecilia.txt>     # Check inode number\n"
+"4072121\n"
+"$ B<sudo ./t_open_by_handle_at E<lt> fh>\n"
+"open_by_handle_at: Stale NFS file handle\n"
+
+#. type: SS
+#: build/C/man2/open_by_handle_at.2:507
+#, no-wrap
+msgid "Program source: t_name_to_handle_at.c"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:519
+#, no-wrap
+msgid ""
+"#define _GNU_SOURCE\n"
+"#include E<lt>sys/types.hE<gt>\n"
+"#include E<lt>sys/stat.hE<gt>\n"
+"#include E<lt>fcntl.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\n"
+"#include E<lt>errno.hE<gt>\n"
+"#include E<lt>string.hE<gt>\n"
+msgstr ""
+"#define _GNU_SOURCE\n"
+"#include E<lt>sys/types.hE<gt>\n"
+"#include E<lt>sys/stat.hE<gt>\n"
+"#include E<lt>fcntl.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\n"
+"#include E<lt>errno.hE<gt>\n"
+"#include E<lt>string.hE<gt>\n"
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:522 build/C/man2/open_by_handle_at.2:595
+#, no-wrap
+msgid ""
+"#define errExit(msg)    do { perror(msg); exit(EXIT_FAILURE); \\e\n"
+"                        } while (0)\n"
+msgstr ""
+"#define errExit(msg)    do { perror(msg); exit(EXIT_FAILURE); \\e\n"
+"                        } while (0)\n"
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:529
+#, no-wrap
+msgid ""
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+"    struct file_handle *fhp;\n"
+"    int mount_id, fhsize, flags, dirfd, j;\n"
+"    char *pathname;\n"
+msgstr ""
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+"    struct file_handle *fhp;\n"
+"    int mount_id, fhsize, flags, dirfd, j;\n"
+"    char *pathname;\n"
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:534
+#, no-wrap
+msgid ""
+"    if (argc != 2) {\n"
+"        fprintf(stderr, \"Usage: %s pathname\\en\", argv[0]);\n"
+"        exit(EXIT_FAILURE);\n"
+"    }\n"
+msgstr ""
+"    if (argc != 2) {\n"
+"        fprintf(stderr, \"Usage: %s pathname\\en\", argv[0]);\n"
+"        exit(EXIT_FAILURE);\n"
+"    }\n"
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:536
+#, no-wrap
+msgid "    pathname = argv[1];\n"
+msgstr "    pathname = argv[1];\n"
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:538
+#, no-wrap
+msgid "    /* Allocate file_handle structure */\n"
+msgstr "    /* Allocate file_handle structure */\n"
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:543
+#, no-wrap
+msgid ""
+"    fhsize = sizeof(*fhp);\n"
+"    fhp = malloc(fhsize);\n"
+"    if (fhp == NULL)\n"
+"        errExit(\"malloc\");\n"
+msgstr ""
+"    fhsize = sizeof(*fhp);\n"
+"    fhp = malloc(fhsize);\n"
+"    if (fhp == NULL)\n"
+"        errExit(\"malloc\");\n"
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:546
+#, no-wrap
+msgid ""
+"    /* Make an initial call to name_to_handle_at() to discover\n"
+"       the size required for file handle */\n"
+msgstr ""
+"    /* Make an initial call to name_to_handle_at() to discover\n"
+"       the size required for file handle */\n"
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:555
+#, no-wrap
+msgid ""
+"    dirfd = AT_FDCWD;           /* For name_to_handle_at() calls */\n"
+"    flags = 0;                  /* For name_to_handle_at() calls */\n"
+"    fhp-E<gt>handle_bytes = 0;\n"
+"    if (name_to_handle_at(dirfd, pathname, fhp,\n"
+"                &mount_id, flags) != -1 || errno != EOVERFLOW) {\n"
+"        fprintf(stderr, \"Unexpected result from name_to_handle_at()\\en\");\n"
+"        exit(EXIT_FAILURE);\n"
+"    }\n"
+msgstr ""
+"    dirfd = AT_FDCWD;           /* For name_to_handle_at() calls */\n"
+"    flags = 0;                  /* For name_to_handle_at() calls */\n"
+"    fhp-E<gt>handle_bytes = 0;\n"
+"    if (name_to_handle_at(dirfd, pathname, fhp,\n"
+"                &mount_id, flags) != -1 || errno != EOVERFLOW) {\n"
+"        fprintf(stderr, \"Unexpected result from name_to_handle_at()\\en\");\n"
+"        exit(EXIT_FAILURE);\n"
+"    }\n"
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:557
+#, no-wrap
+msgid "    /* Reallocate file_handle structure with correct size */\n"
+msgstr "    /* Reallocate file_handle structure with correct size */\n"
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:562
+#, no-wrap
+msgid ""
+"    fhsize = sizeof(struct file_handle) + fhp-E<gt>handle_bytes;\n"
+"    fhp = realloc(fhp, fhsize);         /* Copies fhp-E<gt>handle_bytes */\n"
+"    if (fhp == NULL)\n"
+"        errExit(\"realloc\");\n"
+msgstr ""
+"    fhsize = sizeof(struct file_handle) + fhp-E<gt>handle_bytes;\n"
+"    fhp = realloc(fhp, fhsize);         /* Copies fhp-E<gt>handle_bytes */\n"
+"    if (fhp == NULL)\n"
+"        errExit(\"realloc\");\n"
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:564
+#, no-wrap
+msgid "    /* Get file handle from pathname supplied on command line */\n"
+msgstr "    /* Get file handle from pathname supplied on command line */\n"
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:567
+#, no-wrap
+msgid ""
+"    if (name_to_handle_at(dirfd, pathname, fhp, &mount_id, flags) == -1)\n"
+"        errExit(\"name_to_handle_at\");\n"
+msgstr ""
+"    if (name_to_handle_at(dirfd, pathname, fhp, &mount_id, flags) == -1)\n"
+"        errExit(\"name_to_handle_at\");\n"
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:570
+#, no-wrap
+msgid ""
+"    /* Write mount ID, file handle size, and file handle to stdout,\n"
+"       for later reuse by t_open_by_handle_at.c */\n"
+msgstr ""
+"    /* Write mount ID, file handle size, and file handle to stdout,\n"
+"       for later reuse by t_open_by_handle_at.c */\n"
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:576
+#, no-wrap
+msgid ""
+"    printf(\"%d\\en\", mount_id);\n"
+"    printf(\"%d %d   \", fhp-E<gt>handle_bytes, fhp-E<gt>handle_type);\n"
+"    for (j = 0; j E<lt> fhp-E<gt>handle_bytes; j++)\n"
+"        printf(\" %02x\", fhp-E<gt>f_handle[j]);\n"
+"    printf(\"\\en\");\n"
+msgstr ""
+"    printf(\"%d\\en\", mount_id);\n"
+"    printf(\"%d %d   \", fhp-E<gt>handle_bytes, fhp-E<gt>handle_type);\n"
+"    for (j = 0; j E<lt> fhp-E<gt>handle_bytes; j++)\n"
+"        printf(\" %02x\", fhp-E<gt>f_handle[j]);\n"
+"    printf(\"\\en\");\n"
+
+#. type: SS
+#: build/C/man2/open_by_handle_at.2:580
+#, no-wrap
+msgid "Program source: t_open_by_handle_at.c"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:592
+#, no-wrap
+msgid ""
+"#define _GNU_SOURCE\n"
+"#include E<lt>sys/types.hE<gt>\n"
+"#include E<lt>sys/stat.hE<gt>\n"
+"#include E<lt>fcntl.hE<gt>\n"
+"#include E<lt>limits.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\n"
+"#include E<lt>string.hE<gt>\n"
+msgstr ""
+"#define _GNU_SOURCE\n"
+"#include E<lt>sys/types.hE<gt>\n"
+"#include E<lt>sys/stat.hE<gt>\n"
+"#include E<lt>fcntl.hE<gt>\n"
+"#include E<lt>limits.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\n"
+"#include E<lt>string.hE<gt>\n"
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:601
+#, no-wrap
+msgid ""
+"/* Scan /proc/self/mountinfo to find the line whose mount ID matches\n"
+"   \\(aqmount_id\\(aq. (An easier way to do this is to install and use the\n"
+"   \\(aqlibmount\\(aq library provided by the \\(aqutil-linux\\(aq project.)\n"
+"   Open the corresponding mount path and return the resulting file\n"
+"   descriptor. */\n"
+msgstr ""
+"/* Scan /proc/self/mountinfo to find the line whose mount ID matches\n"
+"   \\(aqmount_id\\(aq. (An easier way to do this is to install and use the\n"
+"   \\(aqlibmount\\(aq library provided by the \\(aqutil-linux\\(aq project.)\n"
+"   Open the corresponding mount path and return the resulting file\n"
+"   descriptor. */\n"
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:611
+#, no-wrap
+msgid ""
+"static int\n"
+"open_mount_path_by_id(int mount_id)\n"
+"{\n"
+"    char *linep;\n"
+"    size_t lsize;\n"
+"    char mount_path[PATH_MAX];\n"
+"    int mi_mount_id, found;\n"
+"    ssize_t nread;\n"
+"    FILE *fp;\n"
+msgstr ""
+"static int\n"
+"open_mount_path_by_id(int mount_id)\n"
+"{\n"
+"    char *linep;\n"
+"    size_t lsize;\n"
+"    char mount_path[PATH_MAX];\n"
+"    int mi_mount_id, found;\n"
+"    ssize_t nread;\n"
+"    FILE *fp;\n"
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:615
+#, no-wrap
+msgid ""
+"    fp = fopen(\"/proc/self/mountinfo\", \"r\");\n"
+"    if (fp == NULL)\n"
+"        errExit(\"fopen\");\n"
+msgstr ""
+"    fp = fopen(\"/proc/self/mountinfo\", \"r\");\n"
+"    if (fp == NULL)\n"
+"        errExit(\"fopen\");\n"
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:622
+#, no-wrap
+msgid ""
+"    found = 0;\n"
+"    linep = NULL;\n"
+"    while (!found) {\n"
+"        nread = getline(&linep, &lsize, fp);\n"
+"        if (nread == -1)\n"
+"            break;\n"
+msgstr ""
+"    found = 0;\n"
+"    linep = NULL;\n"
+"    while (!found) {\n"
+"        nread = getline(&linep, &lsize, fp);\n"
+"        if (nread == -1)\n"
+"            break;\n"
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:629
+#, no-wrap
+msgid ""
+"        nread = sscanf(linep, \"%d %*d %*s %*s %s\",\n"
+"                       &mi_mount_id, mount_path);\n"
+"        if (nread != 2) {\n"
+"            fprintf(stderr, \"Bad sscanf()\\en\");\n"
+"            exit(EXIT_FAILURE);\n"
+"        }\n"
+msgstr ""
+"        nread = sscanf(linep, \"%d %*d %*s %*s %s\",\n"
+"                       &mi_mount_id, mount_path);\n"
+"        if (nread != 2) {\n"
+"            fprintf(stderr, \"Bad sscanf()\\en\");\n"
+"            exit(EXIT_FAILURE);\n"
+"        }\n"
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:634
+#, no-wrap
+msgid ""
+"        if (mi_mount_id == mount_id)\n"
+"            found = 1;\n"
+"    }\n"
+"    free(linep);\n"
+msgstr ""
+"        if (mi_mount_id == mount_id)\n"
+"            found = 1;\n"
+"    }\n"
+"    free(linep);\n"
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:636
+#, no-wrap
+msgid "    fclose(fp);\n"
+msgstr "    fclose(fp);\n"
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:641
+#, no-wrap
+msgid ""
+"    if (!found) {\n"
+"        fprintf(stderr, \"Could not find mount point\\en\");\n"
+"        exit(EXIT_FAILURE);\n"
+"    }\n"
+msgstr ""
+"    if (!found) {\n"
+"        fprintf(stderr, \"Could not find mount point\\en\");\n"
+"        exit(EXIT_FAILURE);\n"
+"    }\n"
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:644
+#, no-wrap
+msgid ""
+"    return open(mount_path, O_RDONLY);\n"
+"}\n"
+msgstr ""
+"    return open(mount_path, O_RDONLY);\n"
+"}\n"
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:655
+#, no-wrap
+msgid ""
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+"    struct file_handle *fhp;\n"
+"    int mount_id, fd, mount_fd, handle_bytes, j;\n"
+"    ssize_t nread;\n"
+"    char buf[1000];\n"
+"#define LINE_SIZE 100\n"
+"    char line1[LINE_SIZE], line2[LINE_SIZE];\n"
+"    char *nextp;\n"
+msgstr ""
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+"    struct file_handle *fhp;\n"
+"    int mount_id, fd, mount_fd, handle_bytes, j;\n"
+"    ssize_t nread;\n"
+"    char buf[1000];\n"
+"#define LINE_SIZE 100\n"
+"    char line1[LINE_SIZE], line2[LINE_SIZE];\n"
+"    char *nextp;\n"
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:660
+#, no-wrap
+msgid ""
+"    if ((argc E<gt> 1 && strcmp(argv[1], \"--help\") == 0) || argc E<gt> 2) {\n"
+"        fprintf(stderr, \"Usage: %s [mount-path]\\en\", argv[0]);\n"
+"        exit(EXIT_FAILURE);\n"
+"    }\n"
+msgstr ""
+"    if ((argc E<gt> 1 && strcmp(argv[1], \"--help\") == 0) || argc E<gt> 2) {\n"
+"        fprintf(stderr, \"Usage: %s [mount-path]\\en\", argv[0]);\n"
+"        exit(EXIT_FAILURE);\n"
+"    }\n"
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:662
+#, no-wrap
+msgid "    /* Standard input contains mount ID and file handle information:\n"
+msgstr "    /* Standard input contains mount ID and file handle information:\n"
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:666
+#, no-wrap
+msgid ""
+"         Line 1: E<lt>mount_idE<gt>\n"
+"         Line 2: E<lt>handle_bytesE<gt> E<lt>handle_typeE<gt>   E<lt>bytes of handle in hexE<gt>\n"
+"    */\n"
+msgstr ""
+"         Line 1: E<lt>mount_idE<gt>\n"
+"         Line 2: E<lt>handle_bytesE<gt> E<lt>handle_typeE<gt>   E<lt>bytes of handle in hexE<gt>\n"
+"    */\n"
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:672
+#, no-wrap
+msgid ""
+"    if ((fgets(line1, sizeof(line1), stdin) == NULL) ||\n"
+"           (fgets(line2, sizeof(line2), stdin) == NULL)) {\n"
+"        fprintf(stderr, \"Missing mount_id / file handle\\en\");\n"
+"        exit(EXIT_FAILURE);\n"
+"    }\n"
+msgstr ""
+"    if ((fgets(line1, sizeof(line1), stdin) == NULL) ||\n"
+"           (fgets(line2, sizeof(line2), stdin) == NULL)) {\n"
+"        fprintf(stderr, \"Missing mount_id / file handle\\en\");\n"
+"        exit(EXIT_FAILURE);\n"
+"    }\n"
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:674
+#, no-wrap
+msgid "    mount_id = atoi(line1);\n"
+msgstr "    mount_id = atoi(line1);\n"
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:676
 #, no-wrap
 #, no-wrap
-msgid "O_DIRECT"
-msgstr "O_DIRECT"
+msgid "    handle_bytes = strtoul(line2, &nextp, 0);\n"
+msgstr "    handle_bytes = strtoul(line2, &nextp, 0);\n"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/open.2:767
-msgid ""
-"The B<O_DIRECT> flag may impose alignment restrictions on the length and "
-"address of userspace buffers and the file offset of I/Os.  In Linux "
-"alignment restrictions vary by file system and kernel version and might be "
-"absent entirely.  However there is currently no file system-independent "
-"interface for an application to discover these restrictions for a given file "
-"or file system.  Some file systems provide their own interfaces for doing "
-"so, for example the B<XFS_IOC_DIOINFO> operation in B<xfsctl>(3)."
-msgstr ""
-"B<O_DIRECT> フラグを使用する場合、ユーザ空間バッファの長さやアドレス、 I/O の"
-"ファイルオフセットに関してアラインメントの制限が課されることがある。 Linux で"
-"は、アラインメントの制限はファイルシステムやカーネルのバージョンに よって異な"
-"り、全く制限が存在しない場合もある。 しかしながら、現在のところ、指定された"
-"ファイルやファイルシステムに対して こうした制限があるかを見つけるための、アプ"
-"リケーション向けのインタフェースで ファイルシステム非依存のものは存在しな"
-"い。 いくつかのファイルシステムでは、制限を確認するための独自のインタフェース"
-"が 提供されている。例えば、 B<xfsctl>(3)  の B<XFS_IOC_DIOINFO> 命令である。"
+#: build/C/man2/open_by_handle_at.2:678
+#, no-wrap
+msgid "    /* Given handle_bytes, we can now allocate file_handle structure */\n"
+msgstr "    /* Given handle_bytes, we can now allocate file_handle structure */\n"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/open.2:773
+#: build/C/man2/open_by_handle_at.2:682
+#, no-wrap
 msgid ""
 msgid ""
-"Under Linux 2.4, transfer sizes, and the alignment of the user buffer and "
-"the file offset must all be multiples of the logical block size of the file "
-"system.  Under Linux 2.6, alignment to 512-byte boundaries suffices."
+"    fhp = malloc(sizeof(struct file_handle) + handle_bytes);\n"
+"    if (fhp == NULL)\n"
+"        errExit(\"malloc\");\n"
 msgstr ""
 msgstr ""
-"Linux 2.4 では、転送サイズ、 ユーザーバッファのアラインメント、ファイルオフ"
-"セットは、 ファイルシステムの論理ブロックサイズの倍数でなければならない。 "
-"Linux 2.6 では、512 バイトごとの境界に配置されていれば充分である。"
+"    fhp = malloc(sizeof(struct file_handle) + handle_bytes);\n"
+"    if (fhp == NULL)\n"
+"        errExit(\"malloc\");\n"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/open.2:783
-msgid ""
-"The B<O_DIRECT> flag was introduced in SGI IRIX, where it has alignment "
-"restrictions similar to those of Linux 2.4.  IRIX has also a B<fcntl>(2)  "
-"call to query appropriate alignments, and sizes.  FreeBSD 4.x introduced a "
-"flag of the same name, but without alignment restrictions."
-msgstr ""
-"B<O_DIRECT> フラグは SGI IRIX で導入された。SGI IRIX にも Linux 2.4 と同様の "
-"(ユーザーバッファの) アラインメントの制限がある。 また、IRIX には適切な配置と"
-"サイズを取得するための B<fcntl>(2)  コールがある。 FreeBSD 4.x も同じ名前のフ"
-"ラグを導入したが、アラインメントの制限はない。"
+#: build/C/man2/open_by_handle_at.2:684
+#, no-wrap
+msgid "    fhp-E<gt>handle_bytes = handle_bytes;\n"
+msgstr "    fhp-E<gt>handle_bytes = handle_bytes;\n"
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:686
+#, no-wrap
+msgid "    fhp-E<gt>handle_type = strtoul(nextp, &nextp, 0);\n"
+msgstr "    fhp-E<gt>handle_type = strtoul(nextp, &nextp, 0);\n"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/open.2:792
+#: build/C/man2/open_by_handle_at.2:689
+#, no-wrap
 msgid ""
 msgid ""
-"B<O_DIRECT> support was added under Linux in kernel version 2.4.10.  Older "
-"Linux kernels simply ignore this flag.  Some file systems may not implement "
-"the flag and B<open>()  will fail with B<EINVAL> if it is used."
+"    for (j = 0; j E<lt> fhp-E<gt>handle_bytes; j++)\n"
+"        fhp-E<gt>f_handle[j] = strtoul(nextp, &nextp, 16);\n"
 msgstr ""
 msgstr ""
-"B<O_DIRECT> が Linux でサポートされたのは、カーネルバージョン 2.4.10 であ"
-"る。 古い Linux カーネルは、このフラグを単に無視する。 B<O_DIRECT> フラグをサ"
-"ポートしていないファイルシステムもあり、その場合は、 B<O_DIRECT> を使用する"
-"と B<open>()  は B<EINVAL> で失敗する。"
+"    for (j = 0; j E<lt> fhp-E<gt>handle_bytes; j++)\n"
+"        fhp-E<gt>f_handle[j] = strtoul(nextp, &nextp, 16);\n"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/open.2:803
+#: build/C/man2/open_by_handle_at.2:694
+#, no-wrap
 msgid ""
 msgid ""
-"Applications should avoid mixing B<O_DIRECT> and normal I/O to the same "
-"file, and especially to overlapping byte regions in the same file.  Even "
-"when the file system correctly handles the coherency issues in this "
-"situation, overall I/O throughput is likely to be slower than using either "
-"mode alone.  Likewise, applications should avoid mixing B<mmap>(2)  of files "
-"with direct I/O to the same files."
+"    /* Obtain file descriptor for mount point, either by opening\n"
+"       the pathname specified on the command line, or by scanning\n"
+"       /proc/self/mounts to find a mount that matches the \\(aqmount_id\\(aq\n"
+"       that we received from stdin. */\n"
 msgstr ""
 msgstr ""
-"アプリケーションは、同じファイル、 特に同じファイルの重複するバイト領域に対し"
-"て、 B<O_DIRECT> と通常の I/O を混ぜて使うのは避けるべきである。 ファイルシス"
-"テムがこのような状況において一貫性の問題を正しく 扱うことができる場合であって"
-"も、全体の I/O スループットは どちらか一方を使用するときと比べて低速になるで"
-"あろう。 同様に、アプリケーションは、同じファイルに対して B<mmap>(2)  と直接 "
-"I/O (B<O_DIRECT>)  を混ぜて使うのも避けるべきである。"
+"    /* Obtain file descriptor for mount point, either by opening\n"
+"       the pathname specified on the command line, or by scanning\n"
+"       /proc/self/mounts to find a mount that matches the \\(aqmount_id\\(aq\n"
+"       that we received from stdin. */\n"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/open.2:825
+#: build/C/man2/open_by_handle_at.2:699
+#, no-wrap
 msgid ""
 msgid ""
-"The behaviour of B<O_DIRECT> with NFS will differ from local file systems.  "
-"Older kernels, or kernels configured in certain ways, may not support this "
-"combination.  The NFS protocol does not support passing the flag to the "
-"server, so B<O_DIRECT> I/O will only bypass the page cache on the client; "
-"the server may still cache the I/O.  The client asks the server to make the "
-"I/O synchronous to preserve the synchronous semantics of B<O_DIRECT>.  Some "
-"servers will perform poorly under these circumstances, especially if the I/O "
-"size is small.  Some servers may also be configured to lie to clients about "
-"the I/O having reached stable storage; this will avoid the performance "
-"penalty at some risk to data integrity in the event of server power "
-"failure.  The Linux NFS client places no alignment restrictions on "
-"B<O_DIRECT> I/O."
+"    if (argc E<gt> 1)\n"
+"        mount_fd = open(argv[1], O_RDONLY);\n"
+"    else\n"
+"        mount_fd = open_mount_path_by_id(mount_id);\n"
 msgstr ""
 msgstr ""
-"NFS で B<O_DIRECT> を使った場合の動作はローカルのファイルシステムの場合と違"
-"う。 古いカーネルや、ある種の設定でコンパイルされたカーネルは、 B<O_DIRECT> "
-"と NFS の組み合わせをサポートしていないかもしれない。 NFS プロトコル自体は"
-"サーバにフラグを渡す機能は持っていないので、 B<O_DIRECT> I/O はクライアント上"
-"のページキャッシュをバイパスするだけになり、 サーバは I/O をキャッシュしてい"
-"るかもしれない。 クライアントは、 B<O_DIRECT> の同期機構を保持するため、サー"
-"バに対して I/O を同期して行うように依頼する。 サーバによっては、こうした状況"
-"下、特に I/O サイズが小さい場合に 性能が大きく劣化する。 また、サーバによって"
-"は、I/O が安定したストレージにまで行われたと、 クライアントに対して嘘をつくも"
-"のもある。 これは、サーバの電源故障が起こった際にデータの完全性が保たれない "
-"危険は少しあるが、性能面での不利な条件を回避するために行われている。 Linux "
-"の NFS クライアントでは B<O_DIRECT> I/O でのアラインメントの制限はない。"
+"    if (argc E<gt> 1)\n"
+"        mount_fd = open(argv[1], O_RDONLY);\n"
+"    else\n"
+"        mount_fd = open_mount_path_by_id(mount_id);\n"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/open.2:832
+#: build/C/man2/open_by_handle_at.2:702
+#, no-wrap
 msgid ""
 msgid ""
-"In summary, B<O_DIRECT> is a potentially powerful tool that should be used "
-"with caution.  It is recommended that applications treat use of B<O_DIRECT> "
-"as a performance option which is disabled by default."
+"    if (mount_fd == -1)\n"
+"        errExit(\"opening mount fd\");\n"
 msgstr ""
 msgstr ""
-"まとめると、 B<O_DIRECT> は、注意して使うべきであるが、強力なツールとなる可能"
-"性を持っている。 アプリケーションは B<O_DIRECT> をデフォルトでは無効になって"
-"いる性能向上のためのオプションと 考えておくのがよいであろう。"
+"    if (mount_fd == -1)\n"
+"        errExit(\"opening mount fd\");\n"
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:704
+#, no-wrap
+msgid "    /* Open file using handle and mount point */\n"
+msgstr "    /* Open file using handle and mount point */\n"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/open.2:837
+#: build/C/man2/open_by_handle_at.2:708
+#, no-wrap
 msgid ""
 msgid ""
-"\"The thing that has always disturbed me about O_DIRECT is that the whole "
-"interface is just stupid, and was probably designed by a deranged monkey on "
-"some serious mind-controlling substances.\"\\(emLinus"
+"    fd = open_by_handle_at(mount_fd, fhp, O_RDONLY);\n"
+"    if (fd == -1)\n"
+"        errExit(\"open_by_handle_at\");\n"
 msgstr ""
 msgstr ""
-"「O_DIRECT でいつも困るのは、インタフェース全部が本当にお馬鹿な点だ。 たぶん"
-"危ないマインドコントロール剤で 頭がおかしくなったサルが設計したんじゃないか"
-"な」 \\(em Linus"
+"    fd = open_by_handle_at(mount_fd, fhp, O_RDONLY);\n"
+"    if (fd == -1)\n"
+"        errExit(\"open_by_handle_at\");\n"
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:710
+#, no-wrap
+msgid "    /* Try reading a few bytes from the file */\n"
+msgstr "    /* Try reading a few bytes from the file */\n"
 
 
-#.  FIXME . Check bugzilla report on open(O_ASYNC)
-#.  See http://bugzilla.kernel.org/show_bug.cgi?id=5993
 #. type: Plain text
 #. type: Plain text
-#: build/C/man2/open.2:849
+#: build/C/man2/open_by_handle_at.2:714
+#, no-wrap
 msgid ""
 msgid ""
-"Currently, it is not possible to enable signal-driven I/O by specifying "
-"B<O_ASYNC> when calling B<open>(); use B<fcntl>(2)  to enable this flag."
+"    nread = read(fd, buf, sizeof(buf));\n"
+"    if (nread == -1)\n"
+"        errExit(\"read\");\n"
 msgstr ""
 msgstr ""
-"現在のところ、 B<open>()  の呼び出し時に B<O_ASYNC> を指定してシグナル駆動 I/"
-"O を有効にすることはできない。 このフラグを有効にするには B<fcntl>(2)  を使用"
-"すること。"
+"    nread = read(fd, buf, sizeof(buf));\n"
+"    if (nread == -1)\n"
+"        errExit(\"read\");\n"
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:716
+#, no-wrap
+msgid "    printf(\"Read %zd bytes\\en\", nread);\n"
+msgstr "    printf(\"Read %zd bytes\\en\", nread);\n"
+
+#. type: Plain text
+#: build/C/man2/open_by_handle_at.2:726
+msgid "B<open>(2), B<libblkid>(3), B<blkid>(8), B<findfs>(8), B<mount>(8)"
+msgstr "B<open>(2), B<libblkid>(3), B<blkid>(8), B<findfs>(8), B<mount>(8)"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/open.2:871
+#: build/C/man2/open_by_handle_at.2:736
 msgid ""
 msgid ""
-"B<chmod>(2), B<chown>(2), B<close>(2), B<dup>(2), B<fcntl>(2), B<link>(2), "
-"B<lseek>(2), B<mknod>(2), B<mmap>(2), B<mount>(2), B<openat>(2), B<read>(2), "
-"B<socket>(2), B<stat>(2), B<umask>(2), B<unlink>(2), B<write>(2), B<fopen>"
-"(3), B<fifo>(7), B<path_resolution>(7), B<symlink>(7)"
+"The I<libblkid> and I<libmount> documentation in the latest I<util-linux> "
+"release at E<.UR https://www.kernel.org/pub/linux/utils/util-linux/> E<.UE>"
 msgstr ""
 msgstr ""
-"B<chmod>(2), B<chown>(2), B<close>(2), B<dup>(2), B<fcntl>(2), B<link>(2), "
-"B<lseek>(2), B<mknod>(2), B<mmap>(2), B<mount>(2), B<openat>(2), B<read>(2), "
-"B<socket>(2), B<stat>(2), B<umask>(2), B<unlink>(2), B<write>(2), B<fopen>"
-"(3), B<fifo>(7), B<path_resolution>(7), B<symlink>(7)"
 
 #. type: TH
 
 #. type: TH
-#: build/C/man3/perror.3:30
+#: build/C/man3/perror.3:31
 #, no-wrap
 msgid "PERROR"
 msgstr "PERROR"
 
 #, no-wrap
 msgid "PERROR"
 msgstr "PERROR"
 
-#. type: TH
-#: build/C/man3/perror.3:30
-#, no-wrap
-msgid "2012-04-17"
-msgstr "2012-04-17"
-
 #. type: Plain text
 #. type: Plain text
-#: build/C/man3/perror.3:33
+#: build/C/man3/perror.3:34
 msgid "perror - print a system error message"
 msgstr "perror - システムエラーメッセージを出力する"
 
 #. type: Plain text
 msgid "perror - print a system error message"
 msgstr "perror - システムエラーメッセージを出力する"
 
 #. type: Plain text
-#: build/C/man3/perror.3:37
+#: build/C/man3/perror.3:38
 msgid "B<void perror(const char *>I<s>B<);>"
 msgstr "B<void perror(const char *>I<s>B<);>"
 
 #. type: Plain text
 msgid "B<void perror(const char *>I<s>B<);>"
 msgstr "B<void perror(const char *>I<s>B<);>"
 
 #. type: Plain text
-#: build/C/man3/perror.3:39
+#: build/C/man3/perror.3:40
 msgid "B<#include E<lt>errno.hE<gt>>"
 msgstr "B<#include E<lt>errno.hE<gt>>"
 
 #. type: Plain text
 msgid "B<#include E<lt>errno.hE<gt>>"
 msgstr "B<#include E<lt>errno.hE<gt>>"
 
 #. type: Plain text
-#: build/C/man3/perror.3:41
-msgid "B<const char *>I<sys_errlist>B<[];>"
-msgstr "B<const char *>I<sys_errlist>B<[];>"
+#: build/C/man3/perror.3:42
+msgid "B<const char * const >I<sys_errlist>B<[];>"
+msgstr "B<const char * const >I<sys_errlist>B<[];>"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/perror.3:43
+#: build/C/man3/perror.3:44
 msgid "B<int >I<sys_nerr>B<;>"
 msgstr "B<int >I<sys_nerr>B<;>"
 
 #. type: Plain text
 msgid "B<int >I<sys_nerr>B<;>"
 msgstr "B<int >I<sys_nerr>B<;>"
 
 #. type: Plain text
-#: build/C/man3/perror.3:45
-msgid "B<int >I<errno>B<;>"
-msgstr "B<int >I<errno>B<;>"
+#: build/C/man3/perror.3:46
+msgid "B<int >I<errno>B<; /* Not really declared this way; see errno(3). */>"
+msgstr ""
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/perror.3:54
+#: build/C/man3/perror.3:55
 msgid "I<sys_errlist>, I<sys_nerr>: _BSD_SOURCE"
 msgstr "I<sys_errlist>, I<sys_nerr>: _BSD_SOURCE"
 
 #. type: Plain text
 msgid "I<sys_errlist>, I<sys_nerr>: _BSD_SOURCE"
 msgstr "I<sys_errlist>, I<sys_nerr>: _BSD_SOURCE"
 
 #. type: Plain text
-#: build/C/man3/perror.3:67
+#: build/C/man3/perror.3:68
 msgid ""
 "The routine B<perror>()  produces a message on the standard error output, "
 "describing the last error encountered during a call to a system or library "
 msgid ""
 "The routine B<perror>()  produces a message on the standard error output, "
 "describing the last error encountered during a call to a system or library "
@@ -7089,12 +9536,12 @@ msgid ""
 msgstr ""
 "関数 B<perror>()  は、システムコールやライブラリ関数の呼び出しにおいて、最後"
 "に発生した エラーに関する説明メッセージを生成し、標準エラー出力に出力する。 "
 msgstr ""
 "関数 B<perror>()  は、システムコールやライブラリ関数の呼び出しにおいて、最後"
 "に発生した エラーに関する説明メッセージを生成し、標準エラー出力に出力する。 "
-"(I<s> が NULL でなく、 I<*s> が NULL バイト (\\(aq\\e0\\(aq) でない場合には) "
-"引き数の文字列 I<s> がまず出力され、続いてコロン、空白が出力され、 それから"
-"ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\81¨æ\94¹è¡\8cã\81\8cå\87ºå\8a\9bã\81\95ã\82\8cã\82\8bã\80\82"
+"(I<s> が NULL でなく、 I<*s> がヌルバイト (\\(aq\\e0\\(aq) でない場合には) 引"
+"き数の文字列 I<s> がまず出力され、続いてコロン、空白が出力され、 それからメッ"
+"セージと改行が出力される。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/perror.3:75
+#: build/C/man3/perror.3:76
 msgid ""
 "To be of most use, the argument string should include the name of the "
 "function that incurred the error.  The error number is taken from the "
 msgid ""
 "To be of most use, the argument string should include the name of the "
 "function that incurred the error.  The error number is taken from the "
@@ -7106,13 +9553,13 @@ msgstr ""
 "はエラーが発生した時に設定され、 成功した呼び出しではクリアされない。"
 
 #. type: Plain text
 "はエラーが発生した時に設定され、 成功した呼び出しではクリアされない。"
 
 #. type: Plain text
-#: build/C/man3/perror.3:89
+#: build/C/man3/perror.3:90
 msgid ""
 "The global error list I<sys_errlist>[] indexed by I<errno> can be used to "
 "obtain the error message without the newline.  The largest message number "
 "provided in the table is I<sys_nerr>-1.  Be careful when directly accessing "
 msgid ""
 "The global error list I<sys_errlist>[] indexed by I<errno> can be used to "
 "obtain the error message without the newline.  The largest message number "
 "provided in the table is I<sys_nerr>-1.  Be careful when directly accessing "
-"this list because new error values may not have been added to I<sys_errlist>"
-"[].  The use of I<sys_errlist>[] is nowadays deprecated."
+"this list because new error values may not have been added to "
+"I<sys_errlist>[].  The use of I<sys_errlist>[] is nowadays deprecated."
 msgstr ""
 "大域変数のエラーリスト I<sys_errlist>[] は I<errno> を添字とする配列で、こ"
 "の\n"
 msgstr ""
 "大域変数のエラーリスト I<sys_errlist>[] は I<errno> を添字とする配列で、こ"
 "の\n"
@@ -7189,8 +9636,8 @@ msgstr "PIPE"
 #. type: TH
 #: build/C/man2/pipe.2:36
 #, no-wrap
 #. type: TH
 #: build/C/man2/pipe.2:36
 #, no-wrap
-msgid "2012-02-14"
-msgstr "2012-02-14"
+msgid "2014-02-11"
+msgstr "2014-02-11"
 
 #. type: Plain text
 #: build/C/man2/pipe.2:39
 
 #. type: Plain text
 #: build/C/man2/pipe.2:39
@@ -7198,12 +9645,6 @@ msgid "pipe, pipe2 - create pipe"
 msgstr "pipe, pipe2 - パイプを生成する"
 
 #. type: Plain text
 msgstr "pipe, pipe2 - パイプを生成する"
 
 #. type: Plain text
-#: build/C/man2/pipe.2:42 build/C/man2/read.2:41
-#, no-wrap
-msgid "B<#include E<lt>unistd.hE<gt>>\n"
-msgstr "B<#include E<lt>unistd.hE<gt>>\n"
-
-#. type: Plain text
 #: build/C/man2/pipe.2:44
 #, no-wrap
 msgid "B<int pipe(int >I<pipefd>B<[2]);>\n"
 #: build/C/man2/pipe.2:44
 #, no-wrap
 msgid "B<int pipe(int >I<pipefd>B<[2]);>\n"
@@ -7238,7 +9679,7 @@ msgid ""
 "until it is read from the read end of the pipe.  For further details, see "
 "B<pipe>(7)."
 msgstr ""
 "until it is read from the read end of the pipe.  For further details, see "
 "B<pipe>(7)."
 msgstr ""
-"B<pipe>(2)  はパイプを生成する。 パイプは、プロセス間通信に使用できる単方向の"
+"B<pipe>()  はパイプを生成する。 パイプは、プロセス間通信に使用できる単方向の"
 "データチャネルである。 配列 I<pipefd> は、パイプの両端を参照する二つのファイ"
 "ルディスクリプタを 返すのに使用される。 I<pipefd[0]> がパイプの読み出し側、 "
 "I<pipefd[1]> がパイプの書き込み側である。 パイプの書き込み側に書き込まれた"
 "データチャネルである。 配列 I<pipefd> は、パイプの両端を参照する二つのファイ"
 "ルディスクリプタを 返すのに使用される。 I<pipefd[0]> がパイプの読み出し側、 "
 "I<pipefd[1]> がパイプの書き込み側である。 パイプの書き込み側に書き込まれた"
@@ -7258,55 +9699,113 @@ msgstr ""
 #. type: TP
 #: build/C/man2/pipe.2:76
 #, no-wrap
 #. type: TP
 #: build/C/man2/pipe.2:76
 #, no-wrap
-msgid "B<O_NONBLOCK>"
-msgstr "B<O_NONBLOCK>"
+msgid "B<O_CLOEXEC>"
+msgstr "B<O_CLOEXEC>"
 
 #. type: Plain text
 #: build/C/man2/pipe.2:84
 msgid ""
 
 #. type: Plain text
 #: build/C/man2/pipe.2:84
 msgid ""
-"Set the B<O_NONBLOCK> file status flag on the two new open file "
-"descriptions.  Using this flag saves extra calls to B<fcntl>(2)  to achieve "
-"the same result."
+"Set the close-on-exec (B<FD_CLOEXEC>)  flag on the two new file "
+"descriptors.  See the description of the same flag in B<open>(2)  for "
+"reasons why this may be useful."
 msgstr ""
 msgstr ""
-"新しく生成される二つのオープンファイル記述 (open file description) の "
-"B<O_NONBLOCK> ファイルステータスフラグをセットする。 このフラグを使うこと"
-"で、 B<O_NONBLOCK> をセットするために B<fcntl>(2)  を追加で呼び出す必要がなく"
-"なる。"
+"新しく生成される二つのファイルディスクリプタの close-on-exec "
+"(B<FD_CLOEXEC>)  フラグをセットする。 このフラグが役に立つ理由については、 "
+"B<open>(2)  の B<O_CLOEXEC> フラグの説明を参照のこと。"
 
 #. type: TP
 #: build/C/man2/pipe.2:84
 #, no-wrap
 
 #. type: TP
 #: build/C/man2/pipe.2:84
 #, no-wrap
-msgid "B<O_CLOEXEC>"
-msgstr "B<O_CLOEXEC>"
+msgid "B<O_DIRECT> (since Linux 3.4)"
+msgstr "B<O_DIRECT> (Linux 3.4 以降)"
 
 
+#.  commit 9883035ae7edef3ec62ad215611cb8e17d6a1a5d
 #. type: Plain text
 #. type: Plain text
-#: build/C/man2/pipe.2:92
+#: build/C/man2/pipe.2:94
 msgid ""
 msgid ""
-"Set the close-on-exec (B<FD_CLOEXEC>)  flag on the two new file "
-"descriptors.  See the description of the same flag in B<open>(2)  for "
-"reasons why this may be useful."
+"Create a pipe that performs I/O in \"packet\" mode.  Each B<write>(2)  to "
+"the pipe is dealt with as a separate packet, and B<read>(2)s from the pipe "
+"will read one packet at a time.  Note the following points:"
 msgstr ""
 msgstr ""
-"新しく生成される二つのファイルディスクリプタの close-on-exec "
-"(B<FD_CLOEXEC>)  フラグをセットする。 このフラグが役に立つ理由については、 "
-"B<open>(2)  の B<O_CLOEXEC> フラグの説明を参照のこと。"
+"「パケット」モードで入出力を行うパイプを作成する。 このパイプへの "
+"B<write>(2) それぞれが別のパケットとして扱われ、 このパイプからの B<read>(2) "
+"では一度に一つパケットが読み出される。 以下の点に注意すること。"
+
+#. type: Plain text
+#: build/C/man2/pipe.2:101
+msgid ""
+"Writes of greater than B<PIPE_BUF> bytes (see B<pipe>(7))  will be split "
+"into multiple packets."
+msgstr ""
+"B<PIPE_BUF> バイト (B<pipe>(7) 参照) より大きいデータを書き込んだ場合、複数の"
+"パケットに分割される。"
+
+#. type: Plain text
+#: build/C/man2/pipe.2:111
+msgid ""
+"If a B<read>(2)  specifies a buffer size that is smaller than the next "
+"packet, then the requested number of bytes are read, and the excess bytes in "
+"the packet are discarded.  Specifying a buffer size of B<PIPE_BUF> will be "
+"sufficient to read the largest possible packets (see the previous point)."
+msgstr ""
+"B<read>(2) で次のパケットよりも小さなバッファサイズを指定した場合、要求された"
+"バイト数のデータが読み出され、そのパケットの超過分のバイトは破棄される。 可能"
+"性のある最大サイズのパケットを読み出すには、B<PIPE_BUF> のバッファサイズを指"
+"定すれば十分である (上の項目を参照)。"
+
+#. type: Plain text
+#: build/C/man2/pipe.2:116
+msgid ""
+"Zero-length packets are not supported.  (A B<read>(2)  that specifies a "
+"buffer size of zero is a no-op, and returns 0.)"
+msgstr ""
+"長さ 0 のパケットはサポートされていない。 (バッファサイズ 0 を指定した "
+"B<read>(2) は何も行わず 0 を返す)。"
+
+#. type: Plain text
+#: build/C/man2/pipe.2:121
+msgid ""
+"Older kernels that do not support this flag will indicate this via an "
+"B<EINVAL> error."
+msgstr ""
+"このフラグをサポートしていない古いカーネルでは、エラー B<EINVAL> が返る。これ"
+"によりカーネルがサポートしていないことが分かる。"
+
+#. type: TP
+#: build/C/man2/pipe.2:121
+#, no-wrap
+msgid "B<O_NONBLOCK>"
+msgstr "B<O_NONBLOCK>"
+
+#. type: Plain text
+#: build/C/man2/pipe.2:129
+msgid ""
+"Set the B<O_NONBLOCK> file status flag on the two new open file "
+"descriptions.  Using this flag saves extra calls to B<fcntl>(2)  to achieve "
+"the same result."
+msgstr ""
+"新しく生成される二つのオープンファイル記述 (open file description) の "
+"B<O_NONBLOCK> ファイルステータスフラグをセットする。 このフラグを使うこと"
+"で、 B<O_NONBLOCK> をセットするために B<fcntl>(2)  を追加で呼び出す必要がなく"
+"なる。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/pipe.2:102
+#: build/C/man2/pipe.2:139
 msgid "I<pipefd> is not valid."
 msgstr "I<pipefd> が無効な値である。"
 
 #. type: Plain text
 msgid "I<pipefd> is not valid."
 msgstr "I<pipefd> が無効な値である。"
 
 #. type: Plain text
-#: build/C/man2/pipe.2:107
+#: build/C/man2/pipe.2:144
 msgid "(B<pipe2>())  Invalid value in I<flags>."
 msgstr "(B<pipe2>())  I<flags> に無効な値が入っている。"
 
 #. type: Plain text
 msgid "(B<pipe2>())  Invalid value in I<flags>."
 msgstr "(B<pipe2>())  I<flags> に無効な値が入っている。"
 
 #. type: Plain text
-#: build/C/man2/pipe.2:110
+#: build/C/man2/pipe.2:147
 msgid "Too many file descriptors are in use by the process."
 msgstr "このプロセスで使われているファイルディスクリプタが多すぎる。"
 
 #. type: Plain text
 msgid "Too many file descriptors are in use by the process."
 msgstr "このプロセスで使われているファイルディスクリプタが多すぎる。"
 
 #. type: Plain text
-#: build/C/man2/pipe.2:118
+#: build/C/man2/pipe.2:155
 msgid ""
 "B<pipe2>()  was added to Linux in version 2.6.27; glibc support is available "
 "starting with version 2.9."
 msgid ""
 "B<pipe2>()  was added to Linux in version 2.6.27; glibc support is available "
 "starting with version 2.9."
@@ -7315,18 +9814,18 @@ msgstr ""
 "はバージョン 2.9 以降で利用できる。"
 
 #. type: Plain text
 "はバージョン 2.9 以降で利用できる。"
 
 #. type: Plain text
-#: build/C/man2/pipe.2:121
+#: build/C/man2/pipe.2:158
 msgid "B<pipe>(): POSIX.1-2001."
 msgstr "B<pipe>(): POSIX.1-2001."
 
 #. type: Plain text
 msgid "B<pipe>(): POSIX.1-2001."
 msgstr "B<pipe>(): POSIX.1-2001."
 
 #. type: Plain text
-#: build/C/man2/pipe.2:124
+#: build/C/man2/pipe.2:161
 msgid "B<pipe2>()  is Linux-specific."
 msgstr "B<pipe2>()  は Linux 固有である。"
 
 #.  fork.2 refers to this example program.
 #. type: Plain text
 msgid "B<pipe2>()  is Linux-specific."
 msgstr "B<pipe2>()  は Linux 固有である。"
 
 #.  fork.2 refers to this example program.
 #. type: Plain text
-#: build/C/man2/pipe.2:140
+#: build/C/man2/pipe.2:177
 msgid ""
 "The following program creates a pipe, and then B<fork>(2)s to create a child "
 "process; the child inherits a duplicate set of file descriptors that refer "
 msgid ""
 "The following program creates a pipe, and then B<fork>(2)s to create a child "
 "process; the child inherits a duplicate set of file descriptors that refer "
@@ -7344,15 +9843,17 @@ msgstr ""
 "ら 1 バイトずつ読み込んで標準出力にエコーする。"
 
 #. type: Plain text
 "ら 1 バイトずつ読み込んで標準出力にエコーする。"
 
 #. type: Plain text
-#: build/C/man2/pipe.2:147
+#: build/C/man2/pipe.2:185
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
+"#include E<lt>sys/types.hE<gt>\n"
 "#include E<lt>sys/wait.hE<gt>\n"
 "#include E<lt>stdio.hE<gt>\n"
 "#include E<lt>stdlib.hE<gt>\n"
 "#include E<lt>unistd.hE<gt>\n"
 "#include E<lt>string.hE<gt>\n"
 msgstr ""
 "#include E<lt>sys/wait.hE<gt>\n"
 "#include E<lt>stdio.hE<gt>\n"
 "#include E<lt>stdlib.hE<gt>\n"
 "#include E<lt>unistd.hE<gt>\n"
 "#include E<lt>string.hE<gt>\n"
 msgstr ""
+"#include E<lt>sys/types.hE<gt>\n"
 "#include E<lt>sys/wait.hE<gt>\n"
 "#include E<lt>stdio.hE<gt>\n"
 "#include E<lt>stdlib.hE<gt>\n"
 "#include E<lt>sys/wait.hE<gt>\n"
 "#include E<lt>stdio.hE<gt>\n"
 "#include E<lt>stdlib.hE<gt>\n"
@@ -7360,7 +9861,7 @@ msgstr ""
 "#include E<lt>string.hE<gt>\n"
 
 #. type: Plain text
 "#include E<lt>string.hE<gt>\n"
 
 #. type: Plain text
-#: build/C/man2/pipe.2:154
+#: build/C/man2/pipe.2:192
 #, no-wrap
 msgid ""
 "int\n"
 #, no-wrap
 msgid ""
 "int\n"
@@ -7378,21 +9879,21 @@ msgstr ""
 "    char buf;\n"
 
 #. type: Plain text
 "    char buf;\n"
 
 #. type: Plain text
-#: build/C/man2/pipe.2:159
+#: build/C/man2/pipe.2:197
 #, no-wrap
 msgid ""
 "    if (argc != 2) {\n"
 #, no-wrap
 msgid ""
 "    if (argc != 2) {\n"
-"\tfprintf(stderr, \"Usage: %s E<lt>stringE<gt>\\en\", argv[0]);\n"
-"\texit(EXIT_FAILURE);\n"
+"        fprintf(stderr, \"Usage: %s E<lt>stringE<gt>\\en\", argv[0]);\n"
+"        exit(EXIT_FAILURE);\n"
 "    }\n"
 msgstr ""
 "    if (argc != 2) {\n"
 "    }\n"
 msgstr ""
 "    if (argc != 2) {\n"
-"\tfprintf(stderr, \"Usage: %s E<lt>stringE<gt>\\en\", argv[0]);\n"
-"\texit(EXIT_FAILURE);\n"
+"        fprintf(stderr, \"Usage: %s E<lt>stringE<gt>\\en\", argv[0]);\n"
+"        exit(EXIT_FAILURE);\n"
 "    }\n"
 
 #. type: Plain text
 "    }\n"
 
 #. type: Plain text
-#: build/C/man2/pipe.2:164
+#: build/C/man2/pipe.2:202
 #, no-wrap
 msgid ""
 "    if (pipe(pipefd) == -1) {\n"
 #, no-wrap
 msgid ""
 "    if (pipe(pipefd) == -1) {\n"
@@ -7406,7 +9907,7 @@ msgstr ""
 "    }\n"
 
 #. type: Plain text
 "    }\n"
 
 #. type: Plain text
-#: build/C/man2/pipe.2:170
+#: build/C/man2/pipe.2:208
 #, no-wrap
 msgid ""
 "    cpid = fork();\n"
 #, no-wrap
 msgid ""
 "    cpid = fork();\n"
@@ -7422,7 +9923,7 @@ msgstr ""
 "    }\n"
 
 #. type: Plain text
 "    }\n"
 
 #. type: Plain text
-#: build/C/man2/pipe.2:173
+#: build/C/man2/pipe.2:211
 #, no-wrap
 msgid ""
 "    if (cpid == 0) {    /* Child reads from pipe */\n"
 #, no-wrap
 msgid ""
 "    if (cpid == 0) {    /* Child reads from pipe */\n"
@@ -7432,7 +9933,7 @@ msgstr ""
 "        close(pipefd[1]);  /* 使用しない write 側はクローズする */\n"
 
 #. type: Plain text
 "        close(pipefd[1]);  /* 使用しない write 側はクローズする */\n"
 
 #. type: Plain text
-#: build/C/man2/pipe.2:176
+#: build/C/man2/pipe.2:214
 #, no-wrap
 msgid ""
 "        while (read(pipefd[0], &buf, 1) E<gt> 0)\n"
 #, no-wrap
 msgid ""
 "        while (read(pipefd[0], &buf, 1) E<gt> 0)\n"
@@ -7442,7 +9943,7 @@ msgstr ""
 "            write(STDOUT_FILENO, &buf, 1);\n"
 
 #. type: Plain text
 "            write(STDOUT_FILENO, &buf, 1);\n"
 
 #. type: Plain text
-#: build/C/man2/pipe.2:180
+#: build/C/man2/pipe.2:218
 #, no-wrap
 msgid ""
 "        write(STDOUT_FILENO, \"\\en\", 1);\n"
 #, no-wrap
 msgid ""
 "        write(STDOUT_FILENO, \"\\en\", 1);\n"
@@ -7454,7 +9955,7 @@ msgstr ""
 "        _exit(EXIT_SUCCESS);\n"
 
 #. type: Plain text
 "        _exit(EXIT_SUCCESS);\n"
 
 #. type: Plain text
-#: build/C/man2/pipe.2:189
+#: build/C/man2/pipe.2:227
 #, no-wrap
 msgid ""
 "    } else {            /* Parent writes argv[1] to pipe */\n"
 #, no-wrap
 msgid ""
 "    } else {            /* Parent writes argv[1] to pipe */\n"
@@ -7476,57 +9977,51 @@ msgstr ""
 "}\n"
 
 #. type: Plain text
 "}\n"
 
 #. type: Plain text
-#: build/C/man2/pipe.2:197
+#: build/C/man2/pipe.2:235
 msgid ""
 msgid ""
-"B<fork>(2), B<read>(2), B<socketpair>(2), B<write>(2), B<popen>(3), B<pipe>"
-"(7)"
+"B<fork>(2), B<read>(2), B<socketpair>(2), B<write>(2), B<popen>(3), "
+"B<pipe>(7)"
 msgstr ""
 msgstr ""
-"B<fork>(2), B<read>(2), B<socketpair>(2), B<write>(2), B<popen>(3), B<pipe>"
-"(7)"
+"B<fork>(2), B<read>(2), B<socketpair>(2), B<write>(2), B<popen>(3), "
+"B<pipe>(7)"
 
 #. type: TH
 
 #. type: TH
-#: build/C/man3/popen.3:38
+#: build/C/man3/popen.3:40
 #, no-wrap
 msgid "POPEN"
 msgstr "POPEN"
 
 #, no-wrap
 msgid "POPEN"
 msgstr "POPEN"
 
-#. type: TH
-#: build/C/man3/popen.3:38
-#, no-wrap
-msgid "2010-02-03"
-msgstr "2010-02-03"
-
 #. type: Plain text
 #. type: Plain text
-#: build/C/man3/popen.3:41
+#: build/C/man3/popen.3:43
 msgid "popen, pclose - pipe stream to or from a process"
 msgstr "popen, pclose - プロセスとの入力/出力用のパイプストリーム"
 
 #. type: Plain text
 msgid "popen, pclose - pipe stream to or from a process"
 msgstr "popen, pclose - プロセスとの入力/出力用のパイプストリーム"
 
 #. type: Plain text
-#: build/C/man3/popen.3:46
+#: build/C/man3/popen.3:48
 #, no-wrap
 msgid "B<FILE *popen(const char *>I<command>B<, const char *>I<type>B<);>\n"
 msgstr "B<FILE *popen(const char *>I<command>B<, const char *>I<type>B<);>\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<FILE *popen(const char *>I<command>B<, const char *>I<type>B<);>\n"
 msgstr "B<FILE *popen(const char *>I<command>B<, const char *>I<type>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/popen.3:48
+#: build/C/man3/popen.3:50
 #, no-wrap
 msgid "B<int pclose(FILE *>I<stream>B<);>\n"
 msgstr "B<int pclose(FILE *>I<stream>B<);>\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<int pclose(FILE *>I<stream>B<);>\n"
 msgstr "B<int pclose(FILE *>I<stream>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/popen.3:58
+#: build/C/man3/popen.3:60
 msgid "B<popen>(), B<pclose>():"
 msgstr "B<popen>(), B<pclose>():"
 
 #. type: Plain text
 msgid "B<popen>(), B<pclose>():"
 msgstr "B<popen>(), B<pclose>():"
 
 #. type: Plain text
-#: build/C/man3/popen.3:60
+#: build/C/man3/popen.3:62
 msgid ""
 "_POSIX_C_SOURCE\\ E<gt>=\\ 2 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE"
 msgstr ""
 "_POSIX_C_SOURCE\\ E<gt>=\\ 2 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE"
 
 #. type: Plain text
 msgid ""
 "_POSIX_C_SOURCE\\ E<gt>=\\ 2 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE"
 msgstr ""
 "_POSIX_C_SOURCE\\ E<gt>=\\ 2 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE"
 
 #. type: Plain text
-#: build/C/man3/popen.3:71
+#: build/C/man3/popen.3:73
 msgid ""
 "The B<popen>()  function opens a process by creating a pipe, forking, and "
 "invoking the shell.  Since a pipe is by definition unidirectional, the "
 msgid ""
 "The B<popen>()  function opens a process by creating a pipe, forking, and "
 "invoking the shell.  Since a pipe is by definition unidirectional, the "
@@ -7540,7 +10035,7 @@ msgstr ""
 "たは 書き込み専用のいずれかとなる。"
 
 #. type: Plain text
 "たは 書き込み専用のいずれかとなる。"
 
 #. type: Plain text
-#: build/C/man3/popen.3:95
+#: build/C/man3/popen.3:97
 msgid ""
 "The I<command> argument is a pointer to a null-terminated string containing "
 "a shell command line.  This command is passed to I</bin/sh> using the B<-c> "
 msgid ""
 "The I<command> argument is a pointer to a null-terminated string containing "
 "a shell command line.  This command is passed to I</bin/sh> using the B<-c> "
@@ -7552,46 +10047,45 @@ msgid ""
 "underlying file descriptor; see the description of the B<O_CLOEXEC> flag in "
 "B<open>(2)  for reasons why this may be useful."
 msgstr ""
 "underlying file descriptor; see the description of the B<O_CLOEXEC> flag in "
 "B<open>(2)  for reasons why this may be useful."
 msgstr ""
-"I<command> 引き数は、シェルのコマンドラインを含む NULL 終端された文字列へのポ"
-"ã\82¤ã\83³ã\82¿ã\81§ã\81\82ã\82\8bã\80\82 ã\81\93ã\81®ã\82³ã\83\9eã\83³ã\83\89ã\81¯ B<-c> ã\83\95ã\83©ã\82°ã\82\92ç\94¨ã\81\84ã\81¦ I</bin/sh> ã\81«æ¸¡ã\81\95ã\82\8cã\82\8bã\80\82 ã\82³"
-"ã\83\9eã\83³ã\83\89ã\81®è§£é\87\88ã\81¯ (ã\82\82ã\81\97å¿\85è¦\81ã\81ªã\82\89ã\81°) ã\82·ã\82§ã\83«ã\81«ã\82\88ã\81£ã\81¦è¡\8cã\82\8fã\82\8cã\82\8bã\80\82 I<type> å¼\95ã\81\8dæ\95°ã\81¯ã\80\81"
-"NULL 終端された文字列へのポインタで、 読み込みを示す文字 \\(aqr\\(aq か、書き"
-"込みを示す文字 \\(aqw\\(aq の どちらか一方を指定しなければならない。 glibc "
-"2.9 以降では、この引き数に文字 \\(aqe\\(aq を追加で指定できる。 文字 \\(aqe"
-"\\(aq を指定すると、 対応するファイルディスクリプタにおいて、 close-on-exec "
-"フラグ (B<FD_CLOEXEC>)  がセットされる。 これが役に立つ理由については、 "
-"B<open>(2)  の B<O_CLOEXEC> フラグの説明を参照のこと。"
+"I<command> 引き数は、シェルのコマンドラインを含むヌル終端された文字列へのポイ"
+"ã\83³ã\82¿ã\81§ã\81\82ã\82\8bã\80\82 ã\81\93ã\81®ã\82³ã\83\9eã\83³ã\83\89ã\81¯ B<-c> ã\83\95ã\83©ã\82°ã\82\92ç\94¨ã\81\84ã\81¦ I</bin/sh> ã\81«æ¸¡ã\81\95ã\82\8cã\82\8bã\80\82 ã\82³ã\83\9e"
+"ã\83³ã\83\89ã\81®è§£é\87\88ã\81¯ (ã\82\82ã\81\97å¿\85è¦\81ã\81ªã\82\89ã\81°) ã\82·ã\82§ã\83«ã\81«ã\82\88ã\81£ã\81¦è¡\8cã\82\8fã\82\8cã\82\8bã\80\82 I<type> å¼\95ã\81\8dæ\95°ã\81¯ã\80\81ã\83\8cã\83«"
+"終端された文字列へのポインタで、 読み込みを示す文字 \\(aqr\\(aq か、書き込み"
+"を示す文字 \\(aqw\\(aq の どちらか一方を指定しなければならない。 glibc 2.9 以"
+"降では、この引き数に文字 \\(aqe\\(aq を追加で指定できる。 文字 \\(aqe\\(aq を"
+"指定すると、 対応するファイルディスクリプタにおいて、 close-on-exec フラグ "
+"(B<FD_CLOEXEC>)  がセットされる。 これが役に立つ理由については、 B<open>(2)  "
+"の B<O_CLOEXEC> フラグの説明を参照のこと。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/popen.3:111
+#: build/C/man3/popen.3:113
 msgid ""
 "The return value from B<popen>()  is a normal standard I/O stream in all "
 msgid ""
 "The return value from B<popen>()  is a normal standard I/O stream in all "
-"respects save that it must be closed with B<pclose>()  rather than B<fclose>"
-"(3).  Writing to such a stream writes to the standard input of the command; "
-"the command's standard output is the same as that of the process that called "
-"B<popen>(), unless this is altered by the command itself.  Conversely, "
-"reading from a \"popened\" stream reads the command's standard output, and "
+"respects save that it must be closed with B<pclose>()  rather than "
+"B<fclose>(3).  Writing to such a stream writes to the standard input of the "
+"command; the command's standard output is the same as that of the process "
+"that called B<popen>(), unless this is altered by the command itself.  "
+"Conversely, reading from the stream reads the command's standard output, and "
 "the command's standard input is the same as that of the process that called "
 "B<popen>()."
 msgstr ""
 "B<popen>()  からの返り値は、通常の標準 I/O ストリームと同じであるが、 "
 "B<fclose>(3)  ではなく B<pclose>()  で閉じなくてはならないことだけが異なる。 "
 "このストリームへ書き込んだ結果はコマンドの標準入力に書き込まれる。 そして、コ"
 "the command's standard input is the same as that of the process that called "
 "B<popen>()."
 msgstr ""
 "B<popen>()  からの返り値は、通常の標準 I/O ストリームと同じであるが、 "
 "B<fclose>(3)  ではなく B<pclose>()  で閉じなくてはならないことだけが異なる。 "
 "このストリームへ書き込んだ結果はコマンドの標準入力に書き込まれる。 そして、コ"
-"マンドの標準出力は、 コマンドそのものが置き換わってしまわない限り、 B<popen>"
-"()  を呼んだプロセスの標準出力と同じことになる。 逆に、\"popened\" (B<popen>"
-"()  によって開かれた) ストリームからの読み込みは、 そのコマンドの標準出力を読"
-"み込むことになる。 そして、そのコマンドの標準入力は B<popen>()  を呼んだプロ"
-"セスの標準入力と同一である。"
+"マンドの標準出力は、 コマンドそのものが置き換わってしまわない限り、 "
+"B<popen>()  を呼んだプロセスの標準出力と同じことになる。 逆に、 ストリームか"
+"らの読み込みは、 そのコマンドの標準出力を読み込むことになる。 そして、そのコ"
+"マンドの標準入力は B<popen>()  を呼んだプロセスの標準入力と同一である。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/popen.3:115
+#: build/C/man3/popen.3:117
 msgid "Note that output B<popen>()  streams are fully buffered by default."
 msgstr ""
 "デフォルトでは、 B<popen>()  の出力ストリームは完全にバッファリングされること"
 "に注意しよう。"
 
 #. type: Plain text
 msgid "Note that output B<popen>()  streams are fully buffered by default."
 msgstr ""
 "デフォルトでは、 B<popen>()  の出力ストリームは完全にバッファリングされること"
 "に注意しよう。"
 
 #. type: Plain text
-#: build/C/man3/popen.3:121
+#: build/C/man3/popen.3:123
 msgid ""
 "The B<pclose>()  function waits for the associated process to terminate and "
 "returns the exit status of the command as returned by B<wait4>(2)."
 msgid ""
 "The B<pclose>()  function waits for the associated process to terminate and "
 "returns the exit status of the command as returned by B<wait4>(2)."
@@ -7600,7 +10094,7 @@ msgstr ""
 "B<wait4>(2)  によって返されたコマンドの終了状態を返す。"
 
 #. type: Plain text
 "B<wait4>(2)  によって返されたコマンドの終了状態を返す。"
 
 #. type: Plain text
-#: build/C/man3/popen.3:129
+#: build/C/man3/popen.3:131
 msgid ""
 "The B<popen>()  function returns NULL if the B<fork>(2)  or B<pipe>(2)  "
 "calls fail, or if it cannot allocate memory."
 msgid ""
 "The B<popen>()  function returns NULL if the B<fork>(2)  or B<pipe>(2)  "
 "calls fail, or if it cannot allocate memory."
@@ -7615,16 +10109,18 @@ msgstr ""
 #. .I stream
 #.  already "pclose()d", or if
 #. type: Plain text
 #. .I stream
 #.  already "pclose()d", or if
 #. type: Plain text
-#: build/C/man3/popen.3:141
+#: build/C/man3/popen.3:146
 msgid ""
 "The B<pclose>()  function returns -1 if B<wait4>(2)  returns an error, or "
 msgid ""
 "The B<pclose>()  function returns -1 if B<wait4>(2)  returns an error, or "
-"some other error is detected."
+"some other error is detected.  In the event of an error, these functions set "
+"I<errno> to indicate the cause of the error."
 msgstr ""
 "B<pclose>()  関数は、 B<wait4>(2)  がエラーを返したり、何か他のエラーが見つ"
 msgstr ""
 "B<pclose>()  関数は、 B<wait4>(2)  がエラーを返したり、何か他のエラーが見つ"
-"かった場合、 -1 を返す。"
+"かった場合、 -1 を返す。 その場合、 I<errno> にエラーの原因を示す値が設定され"
+"る。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/popen.3:160
+#: build/C/man3/popen.3:165
 msgid ""
 "The B<popen>()  function does not set I<errno> if memory allocation fails.  "
 "If the underlying B<fork>(2)  or B<pipe>(2)  fails, I<errno> is set "
 msgid ""
 "The B<popen>()  function does not set I<errno> if memory allocation fails.  "
 "If the underlying B<fork>(2)  or B<pipe>(2)  fails, I<errno> is set "
@@ -7637,7 +10133,7 @@ msgstr ""
 "検知された場合には、 I<errno> が B<EINVAL> にセットされる。"
 
 #. type: Plain text
 "検知された場合には、 I<errno> が B<EINVAL> にセットされる。"
 
 #. type: Plain text
-#: build/C/man3/popen.3:167
+#: build/C/man3/popen.3:172
 msgid ""
 "If B<pclose>()  cannot obtain the child status, I<errno> is set to B<ECHILD>."
 msgstr ""
 msgid ""
 "If B<pclose>()  cannot obtain the child status, I<errno> is set to B<ECHILD>."
 msgstr ""
@@ -7645,12 +10141,12 @@ msgstr ""
 "B<ECHILD> にセットされる。"
 
 #. type: Plain text
 "B<ECHILD> にセットされる。"
 
 #. type: Plain text
-#: build/C/man3/popen.3:173
+#: build/C/man3/popen.3:178
 msgid "The \\(aqe\\(aq value for I<type> is a Linux extension."
 msgstr "I<type> に指定できる \\(aqe\\(aq は Linux での拡張である。"
 
 #. type: Plain text
 msgid "The \\(aqe\\(aq value for I<type> is a Linux extension."
 msgstr "I<type> に指定できる \\(aqe\\(aq は Linux での拡張である。"
 
 #. type: Plain text
-#: build/C/man3/popen.3:186
+#: build/C/man3/popen.3:191
 msgid ""
 "Since the standard input of a command opened for reading shares its seek "
 "offset with the process that called B<popen>(), if the original process has "
 msgid ""
 "Since the standard input of a command opened for reading shares its seek "
 "offset with the process that called B<popen>(), if the original process has "
@@ -7673,7 +10169,7 @@ msgstr ""
 #.  .BR pclose ()
 #.  function appeared in Version 7 AT&T UNIX.
 #. type: Plain text
 #.  .BR pclose ()
 #.  function appeared in Version 7 AT&T UNIX.
 #. type: Plain text
-#: build/C/man3/popen.3:196
+#: build/C/man3/popen.3:201
 msgid ""
 "Failure to execute the shell is indistinguishable from the shell's failure "
 "to execute command, or an immediate exit of the command.  The only hint is "
 msgid ""
 "Failure to execute the shell is indistinguishable from the shell's failure "
 "to execute command, or an immediate exit of the command.  The only hint is "
@@ -7684,7 +10180,7 @@ msgstr ""
 "なることである。"
 
 #. type: Plain text
 "なることである。"
 
 #. type: Plain text
-#: build/C/man3/popen.3:206
+#: build/C/man3/popen.3:211
 msgid ""
 "B<sh>(1), B<fork>(2), B<pipe>(2), B<wait4>(2), B<fclose>(3), B<fflush>(3), "
 "B<fopen>(3), B<stdio>(3), B<system>(3)"
 msgid ""
 "B<sh>(1), B<fork>(2), B<pipe>(2), B<wait4>(2), B<fclose>(3), B<fflush>(3), "
 "B<fopen>(3), B<stdio>(3), B<system>(3)"
@@ -7699,10 +10195,10 @@ msgid "PRINTF"
 msgstr "PRINTF"
 
 #. type: TH
 msgstr "PRINTF"
 
 #. type: TH
-#: build/C/man3/printf.3:34 build/C/man3/puts.3:24 build/C/man3/scanf.3:50
+#: build/C/man3/printf.3:34
 #, no-wrap
 #, no-wrap
-msgid "2011-09-28"
-msgstr "2011-09-28"
+msgid "2013-12-30"
+msgstr "2013-12-30"
 
 #. type: Plain text
 #: build/C/man3/printf.3:38
 
 #. type: Plain text
 #: build/C/man3/printf.3:38
@@ -7787,9 +10283,9 @@ msgstr ""
 "_POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
 
 #. type: Plain text
 "_POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
 
 #. type: Plain text
-#: build/C/man3/printf.3:74 build/C/man3/scanf.3:83
+#: build/C/man3/printf.3:74 build/C/man3/scanf.3:85
 msgid "or I<cc -std=c99>"
 msgid "or I<cc -std=c99>"
-msgstr "or I<cc -std=c99>"
+msgstr "または I<cc -std=c99>"
 
 #. type: Plain text
 #: build/C/man3/printf.3:101
 
 #. type: Plain text
 #: build/C/man3/printf.3:101
@@ -7814,7 +10310,7 @@ msgid ""
 "(including the terminating null byte (\\(aq\\e0\\(aq)) to I<str>."
 msgstr ""
 "B<snprintf>()  と B<vsnprintf>()  は最大で I<size> バイトを I<str> に書き込"
 "(including the terminating null byte (\\(aq\\e0\\(aq)) to I<str>."
 msgstr ""
 "B<snprintf>()  と B<vsnprintf>()  は最大で I<size> バイトを I<str> に書き込"
-"む (I<size> には文字列を終端する NULL バイト (\\(aq\\e0\\(aq) もを含まれる)。"
+"む (I<size> には文字列を終端するヌルバイト (\\(aq\\e0\\(aq) もを含まれる)。"
 
 #. type: Plain text
 #: build/C/man3/printf.3:134
 
 #. type: Plain text
 #: build/C/man3/printf.3:134
@@ -7830,8 +10326,8 @@ msgstr ""
 "れ B<printf>(), B<fprintf>(), B<sprintf>(), B<snprintf>(), の各関数と等価であ"
 "り、可変数引き数の代わりに I<va_list> を引き数として呼び出される点だけが異な"
 "る。 これらの関数では I<va_end> マクロは呼び出されない。 これらの関数は "
 "れ B<printf>(), B<fprintf>(), B<sprintf>(), B<snprintf>(), の各関数と等価であ"
 "り、可変数引き数の代わりに I<va_list> を引き数として呼び出される点だけが異な"
 "る。 これらの関数では I<va_end> マクロは呼び出されない。 これらの関数は "
-"I<va_arg> を呼び出すので、呼び出し後の I<ap> の値は未定義である。 B<stdarg>"
-"(3)  を参照のこと。"
+"I<va_arg> を呼び出すので、呼び出し後の I<ap> の値は未定義である。 "
+"B<stdarg>(3)  を参照のこと。"
 
 #. type: Plain text
 #: build/C/man3/printf.3:141
 
 #. type: Plain text
 #: build/C/man3/printf.3:141
@@ -7873,25 +10369,25 @@ msgid ""
 "printed (excluding the null byte used to end output to strings)."
 msgstr ""
 "成功時には、上記の関数は書き込まれた文字数を返す (文字列の最後を示すために使"
 "printed (excluding the null byte used to end output to strings)."
 msgstr ""
 "成功時には、上記の関数は書き込まれた文字数を返す (文字列の最後を示すために使"
-"用する NULL バイトは数に含まれない)。"
+"用するヌルバイトは数に含まれない)。"
 
 #. type: Plain text
 #: build/C/man3/printf.3:171
 msgid ""
 "The functions B<snprintf>()  and B<vsnprintf>()  do not write more than "
 "I<size> bytes (including the terminating null byte (\\(aq\\e0\\(aq)).  If "
 
 #. type: Plain text
 #: build/C/man3/printf.3:171
 msgid ""
 "The functions B<snprintf>()  and B<vsnprintf>()  do not write more than "
 "I<size> bytes (including the terminating null byte (\\(aq\\e0\\(aq)).  If "
-"the output was truncated due to this limit then the return value is the "
+"the output was truncated due to this limit, then the return value is the "
 "number of characters (excluding the terminating null byte)  which would have "
 "been written to the final string if enough space had been available.  Thus, "
 "a return value of I<size> or more means that the output was truncated.  (See "
 "also below under NOTES.)"
 msgstr ""
 "B<snprintf>()  と B<vsnprintf>()  は、 I<size> バイトを越える文字数を書き込ま"
 "number of characters (excluding the terminating null byte)  which would have "
 "been written to the final string if enough space had been available.  Thus, "
 "a return value of I<size> or more means that the output was truncated.  (See "
 "also below under NOTES.)"
 msgstr ""
 "B<snprintf>()  と B<vsnprintf>()  は、 I<size> バイトを越える文字数を書き込ま"
-"ない (I<size> には文字列を終端する NULL バイト (\\(aq\\e0\\(aq) も含まれ"
-"ã\82\8b\80\82 ã\81\93ã\81®å\88¶é\99\90ã\81«ã\82\88ã\81£ã\81¦å\87ºå\8a\9bã\81\8cå\88\87ã\82\8aè©°ã\82\81ã\82\89ã\82\8cã\81\9få ´å\90\88ã\81«ã\81¯ã\80\81 ã\82\82ã\81\97å\8d\81å\88\86ã\81ªã\82¹ã\83\9aã\83¼ã\82¹ã\81\8cã\81\82ã\82\8c"
-"ば書き込まれたであろう文字の個数 (文字列を終端する NULL バイトを除く) を返"
-"ã\81\99ã\80\82 å¾\93ã\81£ã\81¦ã\80\81è¿\94ã\82\8aå\80¤ã\81\8c I<size> ä»¥ä¸\8aã\81 ã\81£ã\81\9få ´å\90\88ã\80\81å\87ºå\8a\9bã\81\8cå\88\87ã\82\8aè©°ã\82\81ã\82\89ã\82\8cã\81\9fã\81\93ã\81¨ã\82\92æ\84\8få\91³"
-"ã\81\99ã\82\8b (å¾\8cè¿°ã\81®æ³¨æ\84\8fã\82\82å\8f\82ç\85§ã\81®ã\81\93ã\81¨)ã\80\82"
+"ない (I<size> には文字列を終端するヌルバイト (\\(aq\\e0\\(aq) も含まれる)。 "
+"ã\81\93ã\81®å\88¶é\99\90ã\81«ã\82\88ã\81£ã\81¦å\87ºå\8a\9bã\81\8cå\88\87ã\82\8aè©°ã\82\81ã\82\89ã\82\8cã\81\9få ´å\90\88ã\81«ã\81¯ã\80\81 ã\82\82ã\81\97å\8d\81å\88\86ã\81ªã\82¹ã\83\9aã\83¼ã\82¹ã\81\8cã\81\82ã\82\8cã\81°æ\9b¸ã\81\8d"
+"込まれたであろう文字の個数 (文字列を終端するヌルバイトを除く) を返す。 従っ"
+"ã\81¦ã\80\81è¿\94ã\82\8aå\80¤ã\81\8c I<size> ä»¥ä¸\8aã\81 ã\81£ã\81\9få ´å\90\88ã\80\81å\87ºå\8a\9bã\81\8cå\88\87ã\82\8aè©°ã\82\81ã\82\89ã\82\8cã\81\9fã\81\93ã\81¨ã\82\92æ\84\8få\91³ã\81\99ã\82\8b (å¾\8cè¿°"
+"の注意も参照のこと)。"
 
 #. type: Plain text
 #: build/C/man3/printf.3:173
 
 #. type: Plain text
 #: build/C/man3/printf.3:173
@@ -8217,40 +10713,40 @@ msgid "The precision"
 msgstr "精度"
 
 #. type: Plain text
 msgstr "精度"
 
 #. type: Plain text
-#: build/C/man3/printf.3:440
+#: build/C/man3/printf.3:441
 msgid ""
 "An optional precision, in the form of a period (\\(aq.\\(aq)  followed by an "
 "optional decimal digit string.  Instead of a decimal digit string one may "
 "write \"*\" or \"*m$\" (for some decimal integer m) to specify that the "
 "precision is given in the next argument, or in the m-th argument, "
 "respectively, which must be of type I<int>.  If the precision is given as "
 msgid ""
 "An optional precision, in the form of a period (\\(aq.\\(aq)  followed by an "
 "optional decimal digit string.  Instead of a decimal digit string one may "
 "write \"*\" or \"*m$\" (for some decimal integer m) to specify that the "
 "precision is given in the next argument, or in the m-th argument, "
 "respectively, which must be of type I<int>.  If the precision is given as "
-"just \\(aq.\\(aq, or the precision is negative, the precision is taken to be "
-"zero.  This gives the minimum number of digits to appear for B<d>, B<i>, "
-"B<o>, B<u>, B<x>, and B<X> conversions, the number of digits to appear after "
-"the radix character for B<a>, B<A>, B<e>, B<E>, B<f>, and B<F> conversions, "
-"the maximum number of significant digits for B<g> and B<G> conversions, or "
-"the maximum number of characters to be printed from a string for B<s> and "
-"B<S> conversions."
+"just \\(aq.\\(aq, the precision is taken to be zero.  A negative precision "
+"is taken as if the precision were omitted.  This gives the minimum number of "
+"digits to appear for B<d>, B<i>, B<o>, B<u>, B<x>, and B<X> conversions, the "
+"number of digits to appear after the radix character for B<a>, B<A>, B<e>, "
+"B<E>, B<f>, and B<F> conversions, the maximum number of significant digits "
+"for B<g> and B<G> conversions, or the maximum number of characters to be "
+"printed from a string for B<s> and B<S> conversions."
 msgstr ""
 "オプションである精度は、ピリオド (\\(aq.\\(aq) とそれに続く10進数という 形式"
 "で指定する (10進数はオプション) 。 10進数の文字列の代わりに \"*\" や \"*m$"
 "\" (m は 10 進整数)を書くこともできる。 \"*\" と \"*m$\" はそれぞれ、次の引き"
 "数と m 番目の引き数を精度として 使うことを指定する (これらの引き数は I<int> "
 msgstr ""
 "オプションである精度は、ピリオド (\\(aq.\\(aq) とそれに続く10進数という 形式"
 "で指定する (10進数はオプション) 。 10進数の文字列の代わりに \"*\" や \"*m$"
 "\" (m は 10 進整数)を書くこともできる。 \"*\" と \"*m$\" はそれぞれ、次の引き"
 "数と m 番目の引き数を精度として 使うことを指定する (これらの引き数は I<int> "
-"型でなければならない)。 精度として \\(aq.\\(aq だけが指定されたり、精度が負の"
-"数だった場合、 精度はゼロとみなされる。 B<d>, B<i>, B<o>, B<u>, B<x>, B<X> 変"
-"換では、表示される最小の桁数を指定する。 B<a>, B<A>, B<e>, B<E>, B<f>, B<F> "
-"変換では、小数点以下に表示される数字の桁数を指定する。 B<g> と B<G> 変換で"
-"ã\81¯ã\80\81æ\9c\89å\8a¹æ\95°å­\97ã\81®æ\9c\80大æ¡\81æ\95°ã\82\92æ\8c\87å®\9aã\81\99ã\82\8bã\80\82 B<s> ã\81¨ B<S> å¤\89æ\8f\9bã\81§ã\81¯ã\80\81æ\96\87å­\97å\88\97ã\81\8bã\82\89å\87ºå\8a\9bã\81\95ã\82\8c"
-"る最大文字数を指定する。"
+"型でなければならない)。 精度として \\(aq.\\(aq だけが指定された場合、 精度は"
+"ゼロとみなされる。 精度が負の数だった場合、 精度は指定されなかったものとみな"
+"される。 B<d>, B<i>, B<o>, B<u>, B<x>, B<X> 変換では、表示される最小の桁数を"
+"指定する。 B<a>, B<A>, B<e>, B<E>, B<f>, B<F> 変換では、小数点以下に表示され"
+"ã\82\8bæ\95°å­\97ã\81®æ¡\81æ\95°ã\82\92æ\8c\87å®\9aã\81\99ã\82\8bã\80\82 B<g> ã\81¨ B<G> å¤\89æ\8f\9bã\81§ã\81¯ã\80\81æ\9c\89å\8a¹æ\95°å­\97ã\81®æ\9c\80大æ¡\81æ\95°ã\82\92æ\8c\87å®\9aã\81\99"
+"る。 B<s> と B<S> 変換では、文字列から出力される最大文字数を指定する。"
 
 #. type: SS
 
 #. type: SS
-#: build/C/man3/printf.3:440
+#: build/C/man3/printf.3:441
 #, no-wrap
 msgid "The length modifier"
 msgstr "長さ修飾子"
 
 #. type: Plain text
 #, no-wrap
 msgid "The length modifier"
 msgstr "長さ修飾子"
 
 #. type: Plain text
-#: build/C/man3/printf.3:450
+#: build/C/man3/printf.3:451
 msgid ""
 "Here, \"integer conversion\" stands for B<d>, B<i>, B<o>, B<u>, B<x>, or "
 "B<X> conversion."
 msgid ""
 "Here, \"integer conversion\" stands for B<d>, B<i>, B<o>, B<u>, B<x>, or "
 "B<X> conversion."
@@ -8258,13 +10754,13 @@ msgstr ""
 "「整数変換」とは、 B<d>, B<i>, B<o>, B<u>, B<x>, B<X> 変換のことである。"
 
 #. type: TP
 "「整数変換」とは、 B<d>, B<i>, B<o>, B<u>, B<x>, B<X> 変換のことである。"
 
 #. type: TP
-#: build/C/man3/printf.3:450 build/C/man3/scanf.3:291
+#: build/C/man3/printf.3:451 build/C/man3/scanf.3:294
 #, no-wrap
 msgid "B<hh>"
 msgstr "B<hh>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<hh>"
 msgstr "B<hh>"
 
 #. type: Plain text
-#: build/C/man3/printf.3:461
+#: build/C/man3/printf.3:462
 msgid ""
 "A following integer conversion corresponds to a I<signed char> or I<unsigned "
 "char> argument, or a following B<n> conversion corresponds to a pointer to a "
 msgid ""
 "A following integer conversion corresponds to a I<signed char> or I<unsigned "
 "char> argument, or a following B<n> conversion corresponds to a pointer to a "
@@ -8274,13 +10770,13 @@ msgstr ""
 "に対応する引き数が I<signed char> へのポインタであることを示す。"
 
 #. type: TP
 "に対応する引き数が I<signed char> へのポインタであることを示す。"
 
 #. type: TP
-#: build/C/man3/printf.3:461 build/C/man3/scanf.3:281
+#: build/C/man3/printf.3:462 build/C/man3/scanf.3:284
 #, no-wrap
 msgid "B<h>"
 msgstr "B<h>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<h>"
 msgstr "B<h>"
 
 #. type: Plain text
-#: build/C/man3/printf.3:472
+#: build/C/man3/printf.3:473
 msgid ""
 "A following integer conversion corresponds to a I<short int> or I<unsigned "
 "short int> argument, or a following B<n> conversion corresponds to a pointer "
 msgid ""
 "A following integer conversion corresponds to a I<short int> or I<unsigned "
 "short int> argument, or a following B<n> conversion corresponds to a pointer "
@@ -8290,13 +10786,13 @@ msgstr ""
 "換に対応する引き数が I<short int> へのポインタであることを示す。"
 
 #. type: TP
 "換に対応する引き数が I<short int> へのポインタであることを示す。"
 
 #. type: TP
-#: build/C/man3/printf.3:472 build/C/man3/scanf.3:308
+#: build/C/man3/printf.3:473 build/C/man3/scanf.3:311
 #, no-wrap
 msgid "B<l>"
 msgstr "B<l>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<l>"
 msgstr "B<l>"
 
 #. type: Plain text
-#: build/C/man3/printf.3:491
+#: build/C/man3/printf.3:492
 msgid ""
 "(ell) A following integer conversion corresponds to a I<long int> or "
 "I<unsigned long int> argument, or a following B<n> conversion corresponds to "
 msgid ""
 "(ell) A following integer conversion corresponds to a I<long int> or "
 "I<unsigned long int> argument, or a following B<n> conversion corresponds to "
@@ -8309,13 +10805,13 @@ msgstr ""
 "変換では I<wchar_t> へのポインタであることを示す。"
 
 #. type: TP
 "変換では I<wchar_t> へのポインタであることを示す。"
 
 #. type: TP
-#: build/C/man3/printf.3:491
+#: build/C/man3/printf.3:492
 #, no-wrap
 msgid "B<ll>"
 msgstr "B<ll> (エルエル)"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<ll>"
 msgstr "B<ll> (エルエル)"
 
 #. type: Plain text
-#: build/C/man3/printf.3:503
+#: build/C/man3/printf.3:504
 msgid ""
 "(ell-ell).  A following integer conversion corresponds to a I<long long int> "
 "or I<unsigned long long int> argument, or a following B<n> conversion "
 msgid ""
 "(ell-ell).  A following integer conversion corresponds to a I<long long int> "
 "or I<unsigned long long int> argument, or a following B<n> conversion "
@@ -8325,13 +10821,13 @@ msgstr ""
 "で、 B<n> 変換に対応する引き数が I<long int> へのポインタであることを示す。"
 
 #. type: TP
 "で、 B<n> 変換に対応する引き数が I<long int> へのポインタであることを示す。"
 
 #. type: TP
-#: build/C/man3/printf.3:503 build/C/man3/scanf.3:335
+#: build/C/man3/printf.3:504 build/C/man3/scanf.3:338
 #, no-wrap
 msgid "B<L>"
 msgstr "B<L>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<L>"
 msgstr "B<L>"
 
 #. type: Plain text
-#: build/C/man3/printf.3:519
+#: build/C/man3/printf.3:520
 msgid ""
 "A following B<a>, B<A>, B<e>, B<E>, B<f>, B<F>, B<g>, or B<G> conversion "
 "corresponds to a I<long double> argument.  (C99 allows %LF, but SUSv2 does "
 msgid ""
 "A following B<a>, B<A>, B<e>, B<E>, B<f>, B<F>, B<g>, or B<G> conversion "
 "corresponds to a I<long double> argument.  (C99 allows %LF, but SUSv2 does "
@@ -8342,13 +10838,13 @@ msgstr ""
 "認められていない。)"
 
 #. type: TP
 "認められていない。)"
 
 #. type: TP
-#: build/C/man3/printf.3:519 build/C/man3/scanf.3:351
+#: build/C/man3/printf.3:520 build/C/man3/scanf.3:354
 #, no-wrap
 msgid "B<q>"
 msgstr "B<q>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<q>"
 msgstr "B<q>"
 
 #. type: Plain text
-#: build/C/man3/printf.3:525
+#: build/C/man3/printf.3:526
 msgid ""
 "(\"quad\". 4.4BSD and Linux libc5 only.  Don't use.)  This is a synonym for "
 "B<ll>."
 msgid ""
 "(\"quad\". 4.4BSD and Linux libc5 only.  Don't use.)  This is a synonym for "
 "B<ll>."
@@ -8357,13 +10853,13 @@ msgstr ""
 "意味である。"
 
 #. type: TP
 "意味である。"
 
 #. type: TP
-#: build/C/man3/printf.3:525 build/C/man3/scanf.3:299
+#: build/C/man3/printf.3:526 build/C/man3/scanf.3:302
 #, no-wrap
 msgid "B<j>"
 msgstr "B<j>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<j>"
 msgstr "B<j>"
 
 #. type: Plain text
-#: build/C/man3/printf.3:532
+#: build/C/man3/printf.3:533
 msgid ""
 "A following integer conversion corresponds to an I<intmax_t> or I<uintmax_t> "
 "argument."
 msgid ""
 "A following integer conversion corresponds to an I<intmax_t> or I<uintmax_t> "
 "argument."
@@ -8371,13 +10867,13 @@ msgstr ""
 "整数変換に対応する引き数が I<intmax_t> か I<uintmax_t> であることを示す。"
 
 #. type: TP
 "整数変換に対応する引き数が I<intmax_t> か I<uintmax_t> であることを示す。"
 
 #. type: TP
-#: build/C/man3/printf.3:532 build/C/man3/scanf.3:363
+#: build/C/man3/printf.3:533 build/C/man3/scanf.3:366
 #, no-wrap
 msgid "B<z>"
 msgstr "B<z>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<z>"
 msgstr "B<z>"
 
 #. type: Plain text
-#: build/C/man3/printf.3:543
+#: build/C/man3/printf.3:544
 msgid ""
 "A following integer conversion corresponds to a I<size_t> or I<ssize_t> "
 "argument.  (Linux libc5 has B<Z> with this meaning.  Don't use it.)"
 msgid ""
 "A following integer conversion corresponds to a I<size_t> or I<ssize_t> "
 "argument.  (Linux libc5 has B<Z> with this meaning.  Don't use it.)"
@@ -8386,20 +10882,20 @@ msgstr ""
 "libc5 では、これを指定するのに B<Z> を用いる。使ってはならない。)"
 
 #. type: TP
 "libc5 では、これを指定するのに B<Z> を用いる。使ってはならない。)"
 
 #. type: TP
-#: build/C/man3/printf.3:543 build/C/man3/scanf.3:356
+#: build/C/man3/printf.3:544 build/C/man3/scanf.3:359
 #, no-wrap
 msgid "B<t>"
 msgstr "B<t>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<t>"
 msgstr "B<t>"
 
 #. type: Plain text
-#: build/C/man3/printf.3:548
+#: build/C/man3/printf.3:549
 msgid "A following integer conversion corresponds to a I<ptrdiff_t> argument."
 msgstr "整数変換に対応する引き数が I<ptrdiff_t> であることを示す。"
 
 #. type: Plain text
 msgid "A following integer conversion corresponds to a I<ptrdiff_t> argument."
 msgstr "整数変換に対応する引き数が I<ptrdiff_t> であることを示す。"
 
 #. type: Plain text
-#: build/C/man3/printf.3:577
+#: build/C/man3/printf.3:578
 msgid ""
 msgid ""
-"The SUSv2 only knows about the length modifiers B<h> (in B<hd>, B<hi>, "
+"The SUSv2 knows about only the length modifiers B<h> (in B<hd>, B<hi>, "
 "B<ho>, B<hx>, B<hX>, B<hn>)  and B<l> (in B<ld>, B<li>, B<lo>, B<lx>, B<lX>, "
 "B<ln>, B<lc>, B<ls>)  and B<L> (in B<Le>, B<LE>, B<Lf>, B<Lg>, B<LG>)."
 msgstr ""
 "B<ho>, B<hx>, B<hX>, B<hn>)  and B<l> (in B<ld>, B<li>, B<lo>, B<lx>, B<lX>, "
 "B<ln>, B<lc>, B<ls>)  and B<L> (in B<Le>, B<LE>, B<Lf>, B<Lg>, B<LG>)."
 msgstr ""
@@ -8408,13 +10904,13 @@ msgstr ""
 "B<ls>), B<L> (B<Le>, B<LE>, B<Lf>, B<Lg>, B<LG>)  だけである。"
 
 #. type: SS
 "B<ls>), B<L> (B<Le>, B<LE>, B<Lf>, B<Lg>, B<LG>)  だけである。"
 
 #. type: SS
-#: build/C/man3/printf.3:577
+#: build/C/man3/printf.3:578
 #, no-wrap
 msgid "The conversion specifier"
 msgstr "変換指定子"
 
 #. type: Plain text
 #, no-wrap
 msgid "The conversion specifier"
 msgstr "変換指定子"
 
 #. type: Plain text
-#: build/C/man3/printf.3:580
+#: build/C/man3/printf.3:581
 msgid ""
 "A character that specifies the type of conversion to be applied.  The "
 "conversion specifiers and their meanings are:"
 msgid ""
 "A character that specifies the type of conversion to be applied.  The "
 "conversion specifiers and their meanings are:"
@@ -8422,13 +10918,13 @@ msgstr ""
 "適用される変換の型を指定する文字。 変換指定子とその意味は以下の通りである。"
 
 #. type: TP
 "適用される変換の型を指定する文字。 変換指定子とその意味は以下の通りである。"
 
 #. type: TP
-#: build/C/man3/printf.3:580
+#: build/C/man3/printf.3:581
 #, no-wrap
 msgid "B<d>, B<i>"
 msgstr "B<d>, B<i>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<d>, B<i>"
 msgstr "B<d>, B<i>"
 
 #. type: Plain text
-#: build/C/man3/printf.3:590
+#: build/C/man3/printf.3:591
 msgid ""
 "The I<int> argument is converted to signed decimal notation.  The precision, "
 "if any, gives the minimum number of digits that must appear; if the "
 msgid ""
 "The I<int> argument is converted to signed decimal notation.  The precision, "
 "if any, gives the minimum number of digits that must appear; if the "
@@ -8442,13 +10938,13 @@ msgstr ""
 "的に精度として 0 が指定されていると、 出力は空文字列となる。"
 
 #. type: TP
 "的に精度として 0 が指定されていると、 出力は空文字列となる。"
 
 #. type: TP
-#: build/C/man3/printf.3:590
+#: build/C/man3/printf.3:591
 #, no-wrap
 msgid "B<o>, B<u>, B<x>, B<X>"
 msgstr "B<o>, B<u>, B<x>, B<X>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<o>, B<u>, B<x>, B<X>"
 msgstr "B<o>, B<u>, B<x>, B<X>"
 
 #. type: Plain text
-#: build/C/man3/printf.3:617
+#: build/C/man3/printf.3:618
 msgid ""
 "The I<unsigned int> argument is converted to unsigned octal (B<o>), unsigned "
 "decimal (B<u>), or unsigned hexadecimal (B<x> and B<X>)  notation.  The "
 msgid ""
 "The I<unsigned int> argument is converted to unsigned octal (B<o>), unsigned "
 "decimal (B<u>), or unsigned hexadecimal (B<x> and B<X>)  notation.  The "
@@ -8465,31 +10961,28 @@ msgstr ""
 "られる。"
 
 #. type: TP
 "られる。"
 
 #. type: TP
-#: build/C/man3/printf.3:617
+#: build/C/man3/printf.3:618
 #, no-wrap
 msgid "B<e>, B<E>"
 msgstr "B<e>, B<E>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<e>, B<E>"
 msgstr "B<e>, B<E>"
 
 #. type: Plain text
-#: build/C/man3/printf.3:622
-msgid "The I<double> argument is rounded and converted in the style"
-msgstr "I<double> 引き数を丸めて"
-
-#. type: Plain text
 #: build/C/man3/printf.3:637
 msgid ""
 #: build/C/man3/printf.3:637
 msgid ""
-"[-]dB<\\&.>dddB<e>\\*(Pmdd where there is one digit before the decimal-point "
-"character and the number of digits after it is equal to the precision; if "
-"the precision is missing, it is taken as 6; if the precision is zero, no "
-"decimal-point character appears.  An B<E> conversion uses the letter B<E> "
-"(rather than B<e>)  to introduce the exponent.  The exponent always contains "
-"at least two digits; if the value is zero, the exponent is 00."
-msgstr ""
-"[-]dB<\\&.>dddB<e>\\*(Pmdd の形に変換する。 小数点の前には一桁の数字があり、"
-"小数点以下の桁数は精度で指定された 桁数になる。精度は指定されなかった場合 6 "
-"とみなされる。 精度が 0 の場合には、小数点以下は表示されない。 B<E> 変換で"
-"は、指数を表現するときに (B<e> ではなく)  B<E> が使われる。 指数部分は少なく"
-"とも 2桁表示される。 つまり、指数の値が 0 の場合には、00 と表示される。"
+"The I<double> argument is rounded and converted in the style [-]dB<\\&."
+">dddB<e>\\(+-dd where there is one digit before the decimal-point character "
+"and the number of digits after it is equal to the precision; if the "
+"precision is missing, it is taken as 6; if the precision is zero, no decimal-"
+"point character appears.  An B<E> conversion uses the letter B<E> (rather "
+"than B<e>)  to introduce the exponent.  The exponent always contains at "
+"least two digits; if the value is zero, the exponent is 00."
+msgstr ""
+"I<double> 引き数を丸めて [-]dB<\\&.>dddB<e>\\(+-dd の形に変換する。\n"
+"小数点の前には一桁の数字があり、小数点以下の桁数は精度で指定された桁数\n"
+"になる。精度は指定されなかった場合 6 とみなされる。 精度が 0 の場合には、\n"
+"小数点以下は表示されない。B<E> 変換では、指数を表現するときに (B<e> で\n"
+"はなく) B<E> が使われる。指数部分は少なくとも 2桁表示される。つまり、\n"
+"指数の値が 0 の場合には、00 と表示される。"
 
 #. type: TP
 #: build/C/man3/printf.3:637
 
 #. type: TP
 #: build/C/man3/printf.3:637
@@ -8563,7 +11056,7 @@ msgstr "B<a>, B<A>"
 msgid ""
 "(C99; not in SUSv2) For B<a> conversion, the I<double> argument is converted "
 "to hexadecimal notation (using the letters abcdef)  in the style [-]B<0x>hB<"
 msgid ""
 "(C99; not in SUSv2) For B<a> conversion, the I<double> argument is converted "
 "to hexadecimal notation (using the letters abcdef)  in the style [-]B<0x>hB<"
-"\\&.>hhhhB<p>\\*(Pmd; for B<A> conversion the prefix B<0X>, the letters "
+"\\&.>hhhhB<p>\\(+-; for B<A> conversion the prefix B<0X>, the letters "
 "ABCDEF, and the exponent separator B<P> is used.  There is one hexadecimal "
 "digit before the decimal point, and the number of digits after it is equal "
 "to the precision.  The default precision suffices for an exact "
 "ABCDEF, and the exponent separator B<P> is used.  There is one hexadecimal "
 "digit before the decimal point, and the number of digits after it is equal "
 "to the precision.  The default precision suffices for an exact "
@@ -8572,19 +11065,20 @@ msgid ""
 "The digit before the decimal point is unspecified for nonnormalized numbers, "
 "and nonzero but otherwise unspecified for normalized numbers."
 msgstr ""
 "The digit before the decimal point is unspecified for nonnormalized numbers, "
 "and nonzero but otherwise unspecified for normalized numbers."
 msgstr ""
-"(C99 にはあるが SUSv2 にはない)  B<a> 変換では、 I<double> 引き数を (abcdef "
-"の文字を使って)  [-]B<0x>hB<\\&.>hhhhB<p>\\*(Pmd; 形式の 16 進表記に変換す"
-"る。 B<A> 変換では、前置文字列 B<0X>, 文字 ABCDEF, 指数文字 B<P> を用いる。 "
-"小数点の前には 1桁の16進数が置かれ、小数点の後ろの桁数は 精度で指定された値と"
-"なる。 デフォルトの精度は、その値が 2進数で正確に表現できる場合には、 その値"
-"を正確に表現できる桁数となる。それ以外の場合は、 I<double> 型の値を区別するの"
-"に十分な大きさとなる。 小数点の前の数字は、正規化されていない数の場合はいくつ"
-"になるか分からない。 正規化された数の場合は、 0 以外の値になるが、いくつにな"
-"るかは分からない。"
+"(C99 にはあるが SUSv2 にはない) B<a> 変換では、 I<double> 引き数を\n"
+"(abcdef の文字を使って) [-]B<0x>hB<\\&.>hhhhB<p>\\(+- 形式の\n"
+"16 進表記に変換する。\n"
+"B<A> 変換では、前置文字列 B<0X>, 文字 ABCDEF, 指数文字 B<P> を用いる。\n"
+"小数点の前には 1 桁の 16 進数が置かれ、小数点の後ろの桁数は 精度で指定\n"
+"された値となる。デフォルトの精度は、その値が 2 進数で正確に表現できる\n"
+"場合には、その値を正確に表現できる桁数となる。それ以外の場合は、\n"
+"I<double> 型の値を区別するのに十分な大きさとなる。 小数点の前の数字は、\n"
+"正規化されていない数の場合はいくつになるか分からない。 正規化された数の\n"
+"場合は、 0 以外の値になるが、いくつになるかは分からない。"
 
 #. type: TP
 
 #. type: TP
-#: build/C/man3/printf.3:708 build/C/man3/scanf.3:456
-#: build/C/man3/wprintf.3:132
+#: build/C/man3/printf.3:708 build/C/man3/scanf.3:459
+#: build/C/man3/wprintf.3:149
 #, no-wrap
 msgid "B<c>"
 msgstr "B<c>"
 #, no-wrap
 msgid "B<c>"
 msgstr "B<c>"
@@ -8605,8 +11099,8 @@ msgstr ""
 "換し、 変換されたマルチバイト文字列を出力する。"
 
 #. type: TP
 "換し、 変換されたマルチバイト文字列を出力する。"
 
 #. type: TP
-#: build/C/man3/printf.3:726 build/C/man3/scanf.3:448
-#: build/C/man3/wprintf.3:146
+#: build/C/man3/printf.3:726 build/C/man3/scanf.3:451
+#: build/C/man3/wprintf.3:163
 #, no-wrap
 msgid "B<s>"
 msgstr "B<s>"
 #, no-wrap
 msgid "B<s>"
 msgstr "B<s>"
@@ -8614,53 +11108,52 @@ msgstr "B<s>"
 #. type: Plain text
 #: build/C/man3/printf.3:741
 msgid ""
 #. type: Plain text
 #: build/C/man3/printf.3:741
 msgid ""
-"If no B<l> modifier is present: The I<const char *> argument is expected to "
-"be a pointer to an array of character type (pointer to a string).  "
+"If no B<l> modifier is present: The I<const char\\ *> argument is expected "
+"to be a pointer to an array of character type (pointer to a string).  "
 "Characters from the array are written up to (but not including) a "
 "terminating null byte (\\(aq\\e0\\(aq); if a precision is specified, no more "
 "than the number specified are written.  If a precision is given, no null "
 "byte need be present; if the precision is not specified, or is greater than "
 "the size of the array, the array must contain a terminating null byte."
 msgstr ""
 "Characters from the array are written up to (but not including) a "
 "terminating null byte (\\(aq\\e0\\(aq); if a precision is specified, no more "
 "than the number specified are written.  If a precision is given, no null "
 "byte need be present; if the precision is not specified, or is greater than "
 "the size of the array, the array must contain a terminating null byte."
 msgstr ""
-"B<l> 修飾子がない場合、 引き数は I<const char *> 型で文字型の配列へのポイン"
+"B<l> 修飾子がない場合、 引き数は I<const char\\ *> 型で文字型の配列へのポイン"
 "タ (文字列へのポインタ) であることが 期待されている。配列中の文字は、終端の "
 "タ (文字列へのポインタ) であることが 期待されている。配列中の文字は、終端の "
-"NULL バイト (\\(aq\\e0\\(aq)  が出てくるまで出力される (終端文字は出力されな"
+"ヌルバイト (\\(aq\\e0\\(aq)  が出てくるまで出力される (終端文字は出力されな"
 "い)。 精度が指定されていると、指定された字数以上は出力されない。 精度が指定さ"
 "れた場合には、終端バイトが存在する必要はない。 精度が指定されていなかったり、"
 "い)。 精度が指定されていると、指定された字数以上は出力されない。 精度が指定さ"
 "れた場合には、終端バイトが存在する必要はない。 精度が指定されていなかったり、"
-"精度の値が配列の大きさより大きい場合には、 配列は終端の NULL バイトを含んでい"
-"ã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81ªã\81\84ã\80\82"
+"精度の値が配列の大きさより大きい場合には、 配列は終端のヌルバイトを含んでいな"
+"ければならない。"
 
 #. type: Plain text
 #: build/C/man3/printf.3:768
 msgid ""
 
 #. type: Plain text
 #: build/C/man3/printf.3:768
 msgid ""
-"If an B<l> modifier is present: The I<const wchar_t *> argument is expected "
-"to be a pointer to an array of wide characters.  Wide characters from the "
-"array are converted to multibyte characters (each by a call to the B<wcrtomb>"
-"(3)  function, with a conversion state starting in the initial state before "
-"the first wide character), up to and including a terminating null wide "
-"character.  The resulting multibyte characters are written up to (but not "
-"including) the terminating null byte.  If a precision is specified, no more "
-"bytes than the number specified are written, but no partial multibyte "
-"characters are written.  Note that the precision determines the number of "
-"I<bytes> written, not the number of I<wide characters> or I<screen "
+"If an B<l> modifier is present: The I<const wchar_t\\ *> argument is "
+"expected to be a pointer to an array of wide characters.  Wide characters "
+"from the array are converted to multibyte characters (each by a call to the "
+"B<wcrtomb>(3)  function, with a conversion state starting in the initial "
+"state before the first wide character), up to and including a terminating "
+"null wide character.  The resulting multibyte characters are written up to "
+"(but not including) the terminating null byte.  If a precision is specified, "
+"no more bytes than the number specified are written, but no partial "
+"multibyte characters are written.  Note that the precision determines the "
+"number of I<bytes> written, not the number of I<wide characters> or I<screen "
 "positions>.  The array must contain a terminating null wide character, "
 "unless a precision is given and it is so small that the number of bytes "
 "written exceeds it before the end of the array is reached."
 msgstr ""
 "positions>.  The array must contain a terminating null wide character, "
 "unless a precision is given and it is so small that the number of bytes "
 "written exceeds it before the end of the array is reached."
 msgstr ""
-"B<l> 修飾子が指定されている場合、 引き数は I<const wchar_t *> 型でワイド文字"
-"の配列へのポインタであることが期待されている。 配列中のワイド文字は (1文字毎"
-"に B<wcrtomb>(3)  を呼び出して) マルチバイト文字に変換される (最初のワイド文"
-"字の変換の前に B<wcrtomb>()  のシフト状態を初期状態に戻してから変換は行われ"
-"る)。 マルチバイト文字への変換は、文字列を終端する NULL ワイド文字が 出てくる"
-"まで行われ、終端 NULL ワイド文字も含めて変換される。 結果のマルチバイト文字列"
-"は、終端の NULL バイトが出てくるまで 出力される (終端の NULL バイトは出力され"
-"ない)。 精度が指定された場合、指定されたバイト数以上には出力されない。 但し、"
-"マルチバイト文字の一部分だけが出力されることはない。 精度は「バイト」数を指定"
-"するものであり、「ワイド文字」数や 「画面での位置」を指定するものではないこと"
-"に注意。 精度が指定されていて、さらに出力が配列の末尾に達する前に出力バイト数"
-"が 精度の値を超える場合だけは、配列は NULL ワイド文字で終端されていなくてもよ"
-"い。 それ以外の場合は、必ず配列は NULL ワイド文字で終端されていなければならな"
-"い。"
+"B<l> 修飾子が指定されている場合、 引き数は I<const wchar_t\\ *> 型でワイド文"
+"字の配列へのポインタであることが期待されている。 配列中のワイド文字は (1文字"
+"毎に B<wcrtomb>(3)  を呼び出して) マルチバイト文字に変換される (最初のワイド"
+"文字の変換の前に B<wcrtomb>()  のシフト状態を初期状態に戻してから変換は行われ"
+"る)。 マルチバイト文字への変換は、文字列を終端するヌルワイド文字が 出てくるま"
+"で行われ、終端ヌルワイド文字も含めて変換される。 結果のマルチバイト文字列は、"
+"終端のヌルバイトが出てくるまで 出力される (終端のヌルバイトは出力されない)。 "
+"精度が指定された場合、指定されたバイト数以上には出力されない。 但し、マルチバ"
+"イト文字の一部分だけが出力されることはない。 精度は「バイト」数を指定するもの"
+"であり、「ワイド文字」数や 「画面での位置」を指定するものではないことに注"
+"意。 精度が指定されていて、さらに出力が配列の末尾に達する前に出力バイト数が "
+"精度の値を超える場合だけは、配列はヌルワイド文字で終端されていなくてもよい。 "
+"それ以外の場合は、必ず配列はヌルワイド文字で終端されていなければならない。"
 
 #. type: TP
 #: build/C/man3/printf.3:768
 
 #. type: TP
 #: build/C/man3/printf.3:768
@@ -8685,7 +11178,7 @@ msgid "(Not in C99, but in SUSv2.)  Synonym for B<ls>.  Don't use."
 msgstr "(C99 にはないが SUSv2 にはある)  B<ls> と同じ。使ってはならない。"
 
 #. type: TP
 msgstr "(C99 にはないが SUSv2 にはある)  B<ls> と同じ。使ってはならない。"
 
 #. type: TP
-#: build/C/man3/printf.3:780 build/C/man3/scanf.3:500
+#: build/C/man3/printf.3:780 build/C/man3/scanf.3:502
 #, no-wrap
 msgid "B<p>"
 msgstr "B<p>"
 #, no-wrap
 msgid "B<p>"
 msgstr "B<p>"
@@ -8693,13 +11186,13 @@ msgstr "B<p>"
 #. type: Plain text
 #: build/C/man3/printf.3:788
 msgid ""
 #. type: Plain text
 #: build/C/man3/printf.3:788
 msgid ""
-"The I<void *> pointer argument is printed in hexadecimal (as if by B<%#x> or "
-"B<%#lx>)."
+"The I<void\\ *> pointer argument is printed in hexadecimal (as if by B<%#x> "
+"or B<%#lx>)."
 msgstr ""
 msgstr ""
-"I<void *> ポインタ引き数を (B<%#x> や B<%#lx> のような) 16 進数で出力する。"
+"I<void\\ *> ポインタ引き数を (B<%#x> や B<%#lx> のような) 16 進数で出力する。"
 
 #. type: TP
 
 #. type: TP
-#: build/C/man3/printf.3:788 build/C/man3/scanf.3:508
+#: build/C/man3/printf.3:788 build/C/man3/scanf.3:510
 #, no-wrap
 msgid "B<n>"
 msgstr "B<n>"
 #, no-wrap
 msgid "B<n>"
 msgstr "B<n>"
@@ -8708,10 +11201,10 @@ msgstr "B<n>"
 #: build/C/man3/printf.3:795
 msgid ""
 "The number of characters written so far is stored into the integer indicated "
 #: build/C/man3/printf.3:795
 msgid ""
 "The number of characters written so far is stored into the integer indicated "
-"by the I<int *> (or variant) pointer argument.  No argument is converted."
+"by the I<int\\ *> (or variant) pointer argument.  No argument is converted."
 msgstr ""
 msgstr ""
-"これまでに出力された文字数を I<int *> (または類似の型) のポインタ引き数が指す"
-"整数に保存する。 引き数の変換は行われない。"
+"これまでに出力された文字数を I<int\\ *> (または類似の型) のポインタ引き数が指"
+"整数に保存する。 引き数の変換は行われない。"
 
 #. type: TP
 #: build/C/man3/printf.3:795
 
 #. type: TP
 #: build/C/man3/printf.3:795
@@ -8728,7 +11221,7 @@ msgstr ""
 "(glibc での拡張)  I<strerror(errno)> の出力を表示する。引き数は必要ない。"
 
 #. type: TP
 "(glibc での拡張)  I<strerror(errno)> の出力を表示する。引き数は必要ない。"
 
 #. type: TP
-#: build/C/man3/printf.3:801 build/C/man3/scanf.3:374
+#: build/C/man3/printf.3:801 build/C/man3/scanf.3:377
 #, no-wrap
 msgid "B<%>"
 msgstr "B<%>"
 #, no-wrap
 msgid "B<%>"
 msgstr "B<%>"
@@ -8949,12 +11442,12 @@ msgstr ""
 "ルを作ることになるかもしれない。"
 
 #. type: Plain text
 "ルを作ることになるかもしれない。"
 
 #. type: Plain text
-#: build/C/man3/printf.3:977
-msgid "To print \\*(Pi to five decimal places:"
-msgstr "\\*(Pi を 5 桁で出力する。"
+#: build/C/man3/printf.3:978
+msgid "To print I<Pi> to five decimal places:"
+msgstr "I<Pi> を 5 桁で出力する。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/printf.3:983
+#: build/C/man3/printf.3:984
 #, no-wrap
 msgid ""
 "#include E<lt>math.hE<gt>\n"
 #, no-wrap
 msgid ""
 "#include E<lt>math.hE<gt>\n"
@@ -8966,7 +11459,7 @@ msgstr ""
 "fprintf(stdout, \"pi = %.5f\\en\", 4 * atan(1.0));\n"
 
 #. type: Plain text
 "fprintf(stdout, \"pi = %.5f\\en\", 4 * atan(1.0));\n"
 
 #. type: Plain text
-#: build/C/man3/printf.3:992
+#: build/C/man3/printf.3:993
 msgid ""
 "To print a date and time in the form \"Sunday, July 3, 10:02\", where "
 "I<weekday> and I<month> are pointers to strings:"
 msgid ""
 "To print a date and time in the form \"Sunday, July 3, 10:02\", where "
 "I<weekday> and I<month> are pointers to strings:"
@@ -8975,7 +11468,7 @@ msgstr ""
 "I<month> は文字列へのポインタである)"
 
 #. type: Plain text
 "I<month> は文字列へのポインタである)"
 
 #. type: Plain text
-#: build/C/man3/printf.3:998
+#: build/C/man3/printf.3:999
 #, no-wrap
 msgid ""
 "#include E<lt>stdio.hE<gt>\n"
 #, no-wrap
 msgid ""
 "#include E<lt>stdio.hE<gt>\n"
@@ -8987,7 +11480,7 @@ msgstr ""
 "\tweekday, month, day, hour, min);\n"
 
 #. type: Plain text
 "\tweekday, month, day, hour, min);\n"
 
 #. type: Plain text
-#: build/C/man3/printf.3:1004
+#: build/C/man3/printf.3:1005
 msgid ""
 "Many countries use the day-month-year order.  Hence, an internationalized "
 "version must be able to print the arguments in an order specified by the "
 msgid ""
 "Many countries use the day-month-year order.  Hence, an internationalized "
 "version must be able to print the arguments in an order specified by the "
@@ -8997,7 +11490,7 @@ msgstr ""
 "順番で 引き数を表示できなければならない。"
 
 #. type: Plain text
 "順番で 引き数を表示できなければならない。"
 
 #. type: Plain text
-#: build/C/man3/printf.3:1010
+#: build/C/man3/printf.3:1011
 #, no-wrap
 msgid ""
 "#include E<lt>stdio.hE<gt>\n"
 #, no-wrap
 msgid ""
 "#include E<lt>stdio.hE<gt>\n"
@@ -9009,7 +11502,7 @@ msgstr ""
 "\tweekday, month, day, hour, min);\n"
 
 #. type: Plain text
 "\tweekday, month, day, hour, min);\n"
 
 #. type: Plain text
-#: build/C/man3/printf.3:1017
+#: build/C/man3/printf.3:1018
 msgid ""
 "where I<format> depends on locale, and may permute the arguments.  With the "
 "value:"
 msgid ""
 "where I<format> depends on locale, and may permute the arguments.  With the "
 "value:"
@@ -9018,18 +11511,18 @@ msgstr ""
 "I<format> が"
 
 #. type: Plain text
 "I<format> が"
 
 #. type: Plain text
-#: build/C/man3/printf.3:1021
+#: build/C/man3/printf.3:1022
 #, no-wrap
 msgid "\"%1$s, %3$d. %2$s, %4$d:%5$.2d\\en\"\n"
 msgstr "\"%1$s, %3$d. %2$s, %4$d:%5$.2d\\en\"\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "\"%1$s, %3$d. %2$s, %4$d:%5$.2d\\en\"\n"
 msgstr "\"%1$s, %3$d. %2$s, %4$d:%5$.2d\\en\"\n"
 
 #. type: Plain text
-#: build/C/man3/printf.3:1025
+#: build/C/man3/printf.3:1026
 msgid "one might obtain \"Sonntag, 3. Juli, 10:02\"."
 msgstr "であれば、 \"Sonntag, 3. Juli, 10:02\" という結果になる。"
 
 #. type: Plain text
 msgid "one might obtain \"Sonntag, 3. Juli, 10:02\"."
 msgstr "であれば、 \"Sonntag, 3. Juli, 10:02\" という結果になる。"
 
 #. type: Plain text
-#: build/C/man3/printf.3:1028
+#: build/C/man3/printf.3:1029
 msgid ""
 "To allocate a sufficiently large string and print into it (code correct for "
 "both glibc 2.0 and glibc 2.1):"
 msgid ""
 "To allocate a sufficiently large string and print into it (code correct for "
 "both glibc 2.0 and glibc 2.1):"
@@ -9038,7 +11531,7 @@ msgstr ""
 "と glibc 2.1 の両方で正しく動作するコード):"
 
 #. type: Plain text
 "と glibc 2.1 の両方で正しく動作するコード):"
 
 #. type: Plain text
-#: build/C/man3/printf.3:1033
+#: build/C/man3/printf.3:1034
 #, no-wrap
 msgid ""
 "#include E<lt>stdio.hE<gt>\n"
 #, no-wrap
 msgid ""
 "#include E<lt>stdio.hE<gt>\n"
@@ -9050,14 +11543,14 @@ msgstr ""
 "#include E<lt>stdarg.hE<gt>\n"
 
 #. type: Plain text
 "#include E<lt>stdarg.hE<gt>\n"
 
 #. type: Plain text
-#: build/C/man3/printf.3:1041
+#: build/C/man3/printf.3:1042
 #, no-wrap
 msgid ""
 "char *\n"
 "make_message(const char *fmt, ...)\n"
 "{\n"
 "    int n;\n"
 #, no-wrap
 msgid ""
 "char *\n"
 "make_message(const char *fmt, ...)\n"
 "{\n"
 "    int n;\n"
-"    int size = 100;     /* Guess we need no more than 100 bytes. */\n"
+"    int size = 100;     /* Guess we need no more than 100 bytes */\n"
 "    char *p, *np;\n"
 "    va_list ap;\n"
 msgstr ""
 "    char *p, *np;\n"
 "    va_list ap;\n"
 msgstr ""
@@ -9065,34 +11558,36 @@ msgstr ""
 "make_message(const char *fmt, ...)\n"
 "{\n"
 "    int n;\n"
 "make_message(const char *fmt, ...)\n"
 "{\n"
 "    int n;\n"
-"    int size = 100;     /* Guess we need no more than 100 bytes. */\n"
+"    int size = 100;     /* Guess we need no more than 100 bytes */\n"
 "    char *p, *np;\n"
 "    va_list ap;\n"
 
 #. type: Plain text
 "    char *p, *np;\n"
 "    va_list ap;\n"
 
 #. type: Plain text
-#: build/C/man3/printf.3:1044
+#: build/C/man3/printf.3:1046
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-"    if ((p = malloc(size)) == NULL)\n"
+"    p = malloc(size);\n"
+"    if (p == NULL)\n"
 "        return NULL;\n"
 msgstr ""
 "        return NULL;\n"
 msgstr ""
-"    if ((p = malloc(size)) == NULL)\n"
+"    p = malloc(size);\n"
+"    if (p == NULL)\n"
 "        return NULL;\n"
 
 #. type: Plain text
 "        return NULL;\n"
 
 #. type: Plain text
-#: build/C/man3/printf.3:1046
+#: build/C/man3/printf.3:1048
 #, no-wrap
 msgid "    while (1) {\n"
 msgstr "    while (1) {\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "    while (1) {\n"
 msgstr "    while (1) {\n"
 
 #. type: Plain text
-#: build/C/man3/printf.3:1048
+#: build/C/man3/printf.3:1050
 #, no-wrap
 #, no-wrap
-msgid "        /* Try to print in the allocated space. */\n"
-msgstr "        /* Try to print in the allocated space. */\n"
+msgid "        /* Try to print in the allocated space */\n"
+msgstr "        /* Try to print in the allocated space */\n"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/printf.3:1052
+#: build/C/man3/printf.3:1054
 #, no-wrap
 msgid ""
 "        va_start(ap, fmt);\n"
 #, no-wrap
 msgid ""
 "        va_start(ap, fmt);\n"
@@ -9104,46 +11599,59 @@ msgstr ""
 "        va_end(ap);\n"
 
 #. type: Plain text
 "        va_end(ap);\n"
 
 #. type: Plain text
-#: build/C/man3/printf.3:1054
+#: build/C/man3/printf.3:1056
 #, no-wrap
 #, no-wrap
-msgid "        /* If that worked, return the string. */\n"
-msgstr "        /* If that worked, return the string. */\n"
+msgid "        /* Check error code */\n"
+msgstr "        /* Check error code */\n"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/printf.3:1057
+#: build/C/man3/printf.3:1061
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-"        if (n E<gt> -1 && n E<lt> size)\n"
-"            return p;\n"
+"        if (n E<lt> 0) {\n"
+"            free(p);\n"
+"            return NULL;\n"
+"        }\n"
 msgstr ""
 msgstr ""
-"        if (n E<gt> -1 && n E<lt> size)\n"
-"            return p;\n"
+"        if (n E<lt> 0) {\n"
+"            free(p);\n"
+"            return NULL;\n"
+"        }\n"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/printf.3:1059
+#: build/C/man3/printf.3:1063
 #, no-wrap
 #, no-wrap
-msgid "        /* Else try again with more space. */\n"
-msgstr "        /* Else try again with more space. */\n"
+msgid "        /* If that worked, return the string */\n"
+msgstr "        /* If that worked, return the string */\n"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/printf.3:1064
+#: build/C/man3/printf.3:1066
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-"        if (n E<gt> -1)    /* glibc 2.1 */\n"
-"            size = n+1; /* precisely what is needed */\n"
-"        else           /* glibc 2.0 */\n"
-"            size *= 2;  /* twice the old size */\n"
+"        if (n E<lt> size)\n"
+"            return p;\n"
 msgstr ""
 msgstr ""
-"        if (n E<gt> -1)    /* glibc 2.1 */\n"
-"            size = n+1; /* precisely what is needed */\n"
-"        else           /* glibc 2.0 */\n"
-"            size *= 2;  /* twice the old size */\n"
+"        if (n E<lt> size)\n"
+"            return p;\n"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/printf.3:1073
+#: build/C/man3/printf.3:1068
+#, no-wrap
+msgid "        /* Else try again with more space */\n"
+msgstr "        /* Else try again with more space */\n"
+
+#. type: Plain text
+#: build/C/man3/printf.3:1070
+#, no-wrap
+msgid "        size = n + 1;       /* Precisely what is needed */\n"
+msgstr "        size = n + 1;       /* Precisely what is needed */\n"
+
+#. type: Plain text
+#: build/C/man3/printf.3:1081
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-"        if ((np = realloc (p, size)) == NULL) {\n"
+"        np = realloc(p, size);\n"
+"        if (np == NULL) {\n"
 "            free(p);\n"
 "            return NULL;\n"
 "        } else {\n"
 "            free(p);\n"
 "            return NULL;\n"
 "        } else {\n"
@@ -9152,7 +11660,8 @@ msgid ""
 "    }\n"
 "}\n"
 msgstr ""
 "    }\n"
 "}\n"
 msgstr ""
-"        if ((np = realloc (p, size)) == NULL) {\n"
+"        np = realloc(p, size);\n"
+"        if (np == NULL) {\n"
 "            free(p);\n"
 "            return NULL;\n"
 "        } else {\n"
 "            free(p);\n"
 "            return NULL;\n"
 "        } else {\n"
@@ -9162,7 +11671,16 @@ msgstr ""
 "}\n"
 
 #. type: Plain text
 "}\n"
 
 #. type: Plain text
-#: build/C/man3/printf.3:1083
+#: build/C/man3/printf.3:1085
+msgid ""
+"If truncation occurs in glibc versions prior to 2.0.6, this is treated as an "
+"error instead of being handled gracefully."
+msgstr ""
+"バージョン 2.0.6 より前の glibc で切り詰めが起こった場合、切り詰めは適切に処"
+"理されず、エラーとして扱われる。"
+
+#. type: Plain text
+#: build/C/man3/printf.3:1094
 msgid ""
 "B<printf>(1), B<asprintf>(3), B<dprintf>(3), B<scanf>(3), B<setlocale>(3), "
 "B<wcrtomb>(3), B<wprintf>(3), B<locale>(5)"
 msgid ""
 "B<printf>(1), B<asprintf>(3), B<dprintf>(3), B<scanf>(3), B<setlocale>(3), "
 "B<wcrtomb>(3), B<wprintf>(3), B<locale>(5)"
@@ -9171,48 +11689,54 @@ msgstr ""
 "B<wcrtomb>(3), B<wprintf>(3), B<locale>(5)"
 
 #. type: TH
 "B<wcrtomb>(3), B<wprintf>(3), B<locale>(5)"
 
 #. type: TH
-#: build/C/man3/puts.3:24
+#: build/C/man3/puts.3:26
 #, no-wrap
 msgid "PUTS"
 msgstr "PUTS"
 
 #, no-wrap
 msgid "PUTS"
 msgstr "PUTS"
 
+#. type: TH
+#: build/C/man3/puts.3:26 build/C/man3/scanf.3:52
+#, no-wrap
+msgid "2014-01-11"
+msgstr "2014-01-11"
+
 #. type: Plain text
 #. type: Plain text
-#: build/C/man3/puts.3:27
+#: build/C/man3/puts.3:29
 msgid "fputc, fputs, putc, putchar, puts - output of characters and strings"
 msgstr "fputc, fputs, putc, putchar, puts - 文字と文字列の出力"
 
 #. type: Plain text
 msgid "fputc, fputs, putc, putchar, puts - output of characters and strings"
 msgstr "fputc, fputs, putc, putchar, puts - 文字と文字列の出力"
 
 #. type: Plain text
-#: build/C/man3/puts.3:32
+#: build/C/man3/puts.3:34
 #, no-wrap
 msgid "B<int fputc(int >I<c>B<, FILE *>I<stream>B<);>\n"
 msgstr "B<int fputc(int >I<c>B<, FILE *>I<stream>B<);>\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<int fputc(int >I<c>B<, FILE *>I<stream>B<);>\n"
 msgstr "B<int fputc(int >I<c>B<, FILE *>I<stream>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/puts.3:34
+#: build/C/man3/puts.3:36
 #, no-wrap
 msgid "B<int fputs(const char *>I<s>B<, FILE *>I<stream>B<);>\n"
 msgstr "B<int fputs(const char *>I<s>B<, FILE *>I<stream>B<);>\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<int fputs(const char *>I<s>B<, FILE *>I<stream>B<);>\n"
 msgstr "B<int fputs(const char *>I<s>B<, FILE *>I<stream>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/puts.3:36
+#: build/C/man3/puts.3:38
 #, no-wrap
 msgid "B<int putc(int >I<c>B<, FILE *>I<stream>B<);>\n"
 msgstr "B<int putc(int >I<c>B<, FILE *>I<stream>B<);>\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<int putc(int >I<c>B<, FILE *>I<stream>B<);>\n"
 msgstr "B<int putc(int >I<c>B<, FILE *>I<stream>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/puts.3:38
+#: build/C/man3/puts.3:40
 #, no-wrap
 msgid "B<int putchar(int >I<c>B<);>\n"
 msgstr "B<int putchar(int >I<c>B<);>\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<int putchar(int >I<c>B<);>\n"
 msgstr "B<int putchar(int >I<c>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/puts.3:40
+#: build/C/man3/puts.3:42
 #, no-wrap
 msgid "B<int puts(const char *>I<s>B<);>\n"
 msgstr "B<int puts(const char *>I<s>B<);>\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<int puts(const char *>I<s>B<);>\n"
 msgstr "B<int puts(const char *>I<s>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/puts.3:49
+#: build/C/man3/puts.3:51
 msgid ""
 "B<fputc>()  writes the character I<c>, cast to an I<unsigned char>, to "
 "I<stream>."
 msgid ""
 "B<fputc>()  writes the character I<c>, cast to an I<unsigned char>, to "
 "I<stream>."
@@ -9221,16 +11745,16 @@ msgstr ""
 "に書き込む。"
 
 #. type: Plain text
 "に書き込む。"
 
 #. type: Plain text
-#: build/C/man3/puts.3:56
+#: build/C/man3/puts.3:58
 msgid ""
 "B<fputs>()  writes the string I<s> to I<stream>, without its terminating "
 "null byte (\\(aq\\e0\\(aq)."
 msgstr ""
 msgid ""
 "B<fputs>()  writes the string I<s> to I<stream>, without its terminating "
 "null byte (\\(aq\\e0\\(aq)."
 msgstr ""
-"B<fputs>()  は、文字列 I<s> を I<stream> に書き込む。 文字列終端の NULL バイ"
-"ト (\\(aq\\e0\\(aq) は出力しない。"
+"B<fputs>()  は、文字列 I<s> を I<stream> に書き込む。 文字列終端のヌルバイト "
+"(\\(aq\\e0\\(aq) は出力しない。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/puts.3:63
+#: build/C/man3/puts.3:65
 msgid ""
 "B<putc>()  is equivalent to B<fputc>()  except that it may be implemented as "
 "a macro which evaluates I<stream> more than once."
 msgid ""
 "B<putc>()  is equivalent to B<fputc>()  except that it may be implemented as "
 "a macro which evaluates I<stream> more than once."
@@ -9239,17 +11763,17 @@ msgstr ""
 "れないという点を除き、 B<fputc>()  と同じである。"
 
 #. type: Plain text
 "れないという点を除き、 B<fputc>()  と同じである。"
 
 #. type: Plain text
-#: build/C/man3/puts.3:67
-msgid "B<putchar(>I<c>B<);> is equivalent to B<putc(>I<c>B<,>I<stdout>B<).>"
+#: build/C/man3/puts.3:69
+msgid "B<putchar(>I<c>B<);> is equivalent to B<putc(>I<c>B<, >I<stdout>B<).>"
 msgstr "B<putchar(>I<c>B<);> は、 B<putc(>I<c>B<,>I<stdout>B<)> と同じである。"
 
 #. type: Plain text
 msgstr "B<putchar(>I<c>B<);> は、 B<putc(>I<c>B<,>I<stdout>B<)> と同じである。"
 
 #. type: Plain text
-#: build/C/man3/puts.3:74
+#: build/C/man3/puts.3:76
 msgid "B<puts>()  writes the string I<s> and a trailing newline to I<stdout>."
 msgstr "B<puts>()  は、文字列 I<s> と改行を I<stdout> に書き込む。"
 
 #. type: Plain text
 msgid "B<puts>()  writes the string I<s> and a trailing newline to I<stdout>."
 msgstr "B<puts>()  は、文字列 I<s> と改行を I<stdout> に書き込む。"
 
 #. type: Plain text
-#: build/C/man3/puts.3:79
+#: build/C/man3/puts.3:81
 msgid ""
 "Calls to the functions described here can be mixed with each other and with "
 "calls to other output functions from the I<stdio> library for the same "
 msgid ""
 "Calls to the functions described here can be mixed with each other and with "
 "calls to other output functions from the I<stdio> library for the same "
@@ -9260,7 +11784,7 @@ msgstr ""
 "る。"
 
 #. type: Plain text
 "る。"
 
 #. type: Plain text
-#: build/C/man3/puts.3:94
+#: build/C/man3/puts.3:96
 msgid ""
 "B<fputc>(), B<putc>()  and B<putchar>()  return the character written as an "
 "I<unsigned char> cast to an I<int> or B<EOF> on error."
 msgid ""
 "B<fputc>(), B<putc>()  and B<putchar>()  return the character written as an "
 "I<unsigned char> cast to an I<int> or B<EOF> on error."
@@ -9269,7 +11793,7 @@ msgstr ""
 "字を I<int> にキャストして返す。 エラーが発生した場合は B<EOF> を返す。"
 
 #. type: Plain text
 "字を I<int> にキャストして返す。 エラーが発生した場合は B<EOF> を返す。"
 
 #. type: Plain text
-#: build/C/man3/puts.3:101
+#: build/C/man3/puts.3:103
 msgid ""
 "B<puts>()  and B<fputs>()  return a nonnegative number on success, or B<EOF> "
 "on error."
 msgid ""
 "B<puts>()  and B<fputs>()  return a nonnegative number on success, or B<EOF> "
 "on error."
@@ -9278,7 +11802,7 @@ msgstr ""
 "は B<EOF> を返す。"
 
 #. type: Plain text
 "は B<EOF> を返す。"
 
 #. type: Plain text
-#: build/C/man3/puts.3:110
+#: build/C/man3/puts.3:112
 msgid ""
 "It is not advisable to mix calls to output functions from the I<stdio> "
 "library with low-level calls to B<write>(2)  for the file descriptor "
 msgid ""
 "It is not advisable to mix calls to output functions from the I<stdio> "
 "library with low-level calls to B<write>(2)  for the file descriptor "
@@ -9291,15 +11815,15 @@ msgstr ""
 "性が高い。"
 
 #. type: Plain text
 "性が高い。"
 
 #. type: Plain text
-#: build/C/man3/puts.3:122
+#: build/C/man3/puts.3:124
 msgid ""
 msgid ""
-"B<write>(2), B<ferror>(3), B<fopen>(3), B<fputwc>(3), B<fputws>(3), B<fseek>"
-"(3), B<fwrite>(3), B<gets>(3), B<putwchar>(3), B<scanf>(3), B<unlocked_stdio>"
-"(3)"
+"B<write>(2), B<ferror>(3), B<fgets>(3), B<fopen>(3), B<fputwc>(3), "
+"B<fputws>(3), B<fseek>(3), B<fwrite>(3), B<putwchar>(3), B<scanf>(3), "
+"B<unlocked_stdio>(3)"
 msgstr ""
 msgstr ""
-"B<write>(2), B<ferror>(3), B<fopen>(3), B<fputwc>(3), B<fputws>(3), B<fseek>"
-"(3), B<fwrite>(3), B<gets>(3), B<putwchar>(3), B<scanf>(3), B<unlocked_stdio>"
-"(3)"
+"B<write>(2), B<ferror>(3), B<fgets>(3), B<fopen>(3), B<fputwc>(3), "
+"B<fputws>(3), B<fseek>(3), B<fwrite>(3), B<putwchar>(3), B<scanf>(3), "
+"B<unlocked_stdio>(3)"
 
 #. type: TH
 #: build/C/man2/read.2:35
 
 #. type: TH
 #: build/C/man2/read.2:35
@@ -9307,6 +11831,12 @@ msgstr ""
 msgid "READ"
 msgstr "READ"
 
 msgid "READ"
 msgstr "READ"
 
+#. type: TH
+#: build/C/man2/read.2:35 build/C/man2/write.2:39
+#, no-wrap
+msgid "2014-05-04"
+msgstr "2014-05-04"
+
 #. type: Plain text
 #: build/C/man2/read.2:38
 msgid "read - read from a file descriptor"
 #. type: Plain text
 #: build/C/man2/read.2:38
 msgid "read - read from a file descriptor"
@@ -9328,16 +11858,36 @@ msgstr ""
 "I<count> バイトを I<buf> で始まるバッファーへ読み込もうとする。"
 
 #. type: Plain text
 "I<count> バイトを I<buf> で始まるバッファーへ読み込もうとする。"
 
 #. type: Plain text
-#: build/C/man2/read.2:63
+#: build/C/man2/read.2:60
+msgid ""
+"On files that support seeking, the read operation commences at the current "
+"file offset, and the file offset is incremented by the number of bytes "
+"read.  If the current file offset is at or past the end of file, no bytes "
+"are read, and B<read>()  returns zero."
+msgstr ""
+"seek に対応しているファイルでは、read は現在のファイルオフセットから行われ、"
+"ファイルオフセットは読み込んだバイト数分だけ進められる。現在のファイルオフ"
+"セットがファイル末尾かそれより先の場合は、読み出しは行われず、 B<read>() は "
+"0 を返す。"
+
+#. type: Plain text
+#: build/C/man2/read.2:75
 msgid ""
 msgid ""
-"If I<count> is zero, B<read>()  returns zero and has no other results.  If "
-"I<count> is greater than B<SSIZE_MAX>, the result is unspecified."
+"If I<count> is zero, B<read>()  I<may> detect the errors described below.  "
+"In the absence of any errors, or if B<read>()  does not check for errors, a "
+"B<read>()  with a I<count> of 0 returns zero and has no other effects."
 msgstr ""
 msgstr ""
-"I<count> が 0 ならば、 B<read>()  は 0 を返し、他に何も起きない。 I<count> "
-"が B<SSIZE_MAX> より大きければ、結果は特定できない。"
+"I<count> が 0 の場合、 B<read>() は以下で説明するエラーを検出するI<場合がある"
+">。 どのエラーもなかった場合、もしくは B<read>() がエラーのチェックを行わない"
+"場合、 I<count> が 0 で呼び出された B<read>() は 0 を返し、何も行わない。"
+
+#. type: Plain text
+#: build/C/man2/read.2:81
+msgid "If I<count> is greater than B<SSIZE_MAX>, the result is unspecified."
+msgstr "I<count> が B<SSIZE_MAX> より大きければ、結果は規定できない。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/read.2:77
+#: build/C/man2/read.2:95
 msgid ""
 "On success, the number of bytes read is returned (zero indicates end of "
 "file), and the file position is advanced by this number.  It is not an error "
 msgid ""
 "On success, the number of bytes read is returned (zero indicates end of "
 "file), and the file position is advanced by this number.  It is not an error "
@@ -9346,7 +11896,7 @@ msgid ""
 "(maybe because we were close to end-of-file, or because we are reading from "
 "a pipe, or from a terminal), or because B<read>()  was interrupted by a "
 "signal.  On error, -1 is returned, and I<errno> is set appropriately.  In "
 "(maybe because we were close to end-of-file, or because we are reading from "
 "a pipe, or from a terminal), or because B<read>()  was interrupted by a "
 "signal.  On error, -1 is returned, and I<errno> is set appropriately.  In "
-"this case it is left unspecified whether the file position (if any) changes."
+"this case, it is left unspecified whether the file position (if any) changes."
 msgstr ""
 "成功した場合、読み込んだバイト数を返す (0 はファイルの終りを意味する)。 ファ"
 "イル位置はこの数だけ進められる。 この数が要求した数より小さかったとしてもエ"
 msgstr ""
 "成功した場合、読み込んだバイト数を返す (0 はファイルの終りを意味する)。 ファ"
 "イル位置はこの数だけ進められる。 この数が要求した数より小さかったとしてもエ"
@@ -9357,13 +11907,13 @@ msgstr ""
 "の場合はファイル位置が変更されるかどうかは 不定である。"
 
 #. type: TP
 "の場合はファイル位置が変更されるかどうかは 不定である。"
 
 #. type: TP
-#: build/C/man2/read.2:78 build/C/man3/scanf.3:546 build/C/man2/write.2:108
+#: build/C/man2/read.2:96 build/C/man3/scanf.3:548 build/C/man2/write.2:108
 #, no-wrap
 msgid "B<EAGAIN>"
 msgstr "B<EAGAIN>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<EAGAIN>"
 msgstr "B<EAGAIN>"
 
 #. type: Plain text
-#: build/C/man2/read.2:85
+#: build/C/man2/read.2:103
 msgid ""
 "The file descriptor I<fd> refers to a file other than a socket and has been "
 "marked nonblocking (B<O_NONBLOCK>), and the read would block."
 msgid ""
 "The file descriptor I<fd> refers to a file other than a socket and has been "
 "marked nonblocking (B<O_NONBLOCK>), and the read would block."
@@ -9373,14 +11923,14 @@ msgstr ""
 "する状況にある。"
 
 #. type: TP
 "する状況にある。"
 
 #. type: TP
-#: build/C/man2/read.2:85 build/C/man2/write.2:115
+#: build/C/man2/read.2:103 build/C/man2/write.2:115
 #, no-wrap
 msgid "B<EAGAIN> or B<EWOULDBLOCK>"
 msgstr "B<EAGAIN> または B<EWOULDBLOCK>"
 
 #.  Actually EAGAIN on Linux
 #. type: Plain text
 #, no-wrap
 msgid "B<EAGAIN> or B<EWOULDBLOCK>"
 msgstr "B<EAGAIN> または B<EWOULDBLOCK>"
 
 #.  Actually EAGAIN on Linux
 #. type: Plain text
-#: build/C/man2/read.2:96
+#: build/C/man2/read.2:114
 msgid ""
 "The file descriptor I<fd> refers to a socket and has been marked nonblocking "
 "(B<O_NONBLOCK>), and the read would block.  POSIX.1-2001 allows either error "
 msgid ""
 "The file descriptor I<fd> refers to a socket and has been marked nonblocking "
 "(B<O_NONBLOCK>), and the read would block.  POSIX.1-2001 allows either error "
@@ -9395,27 +11945,27 @@ msgstr ""
 "プリケーションでは、両方の可能性を 確認すべきである。"
 
 #. type: Plain text
 "プリケーションでは、両方の可能性を 確認すべきである。"
 
 #. type: Plain text
-#: build/C/man2/read.2:100
+#: build/C/man2/read.2:118
 msgid "I<fd> is not a valid file descriptor or is not open for reading."
 msgstr ""
 "I<fd> が有効なファイルディスクリプタでないか、読み込みのために オープン "
 "(open) されていない。"
 
 #. type: Plain text
 msgid "I<fd> is not a valid file descriptor or is not open for reading."
 msgstr ""
 "I<fd> が有効なファイルディスクリプタでないか、読み込みのために オープン "
 "(open) されていない。"
 
 #. type: Plain text
-#: build/C/man2/read.2:104 build/C/man2/write.2:139
+#: build/C/man2/read.2:122 build/C/man2/write.2:145
 msgid "I<buf> is outside your accessible address space."
 msgstr "I<buf> がアクセス可能なアドレス空間の外にある。"
 
 #. type: Plain text
 msgid "I<buf> is outside your accessible address space."
 msgstr "I<buf> がアクセス可能なアドレス空間の外にある。"
 
 #. type: Plain text
-#: build/C/man2/read.2:108
+#: build/C/man2/read.2:126
 msgid ""
 msgid ""
-"The call was interrupted by a signal before any data was read; see B<signal>"
-"(7)."
+"The call was interrupted by a signal before any data was read; see "
+"B<signal>(7)."
 msgstr ""
 "何のデータも読み込まないうちにシグナルに割り込まれた。 B<signal>(7)  参照。"
 
 #. type: Plain text
 msgstr ""
 "何のデータも読み込まないうちにシグナルに割り込まれた。 B<signal>(7)  参照。"
 
 #. type: Plain text
-#: build/C/man2/read.2:119
+#: build/C/man2/read.2:137
 msgid ""
 "I<fd> is attached to an object which is unsuitable for reading; or the file "
 "was opened with the B<O_DIRECT> flag, and either the address specified in "
 msgid ""
 "I<fd> is attached to an object which is unsuitable for reading; or the file "
 "was opened with the B<O_DIRECT> flag, and either the address specified in "
@@ -9428,7 +11978,7 @@ msgstr ""
 "ンメントが不適切である。"
 
 #. type: Plain text
 "ンメントが不適切である。"
 
 #. type: Plain text
-#: build/C/man2/read.2:129
+#: build/C/man2/read.2:147
 msgid ""
 "I<fd> was created via a call to B<timerfd_create>(2)  and the wrong size "
 "buffer was given to B<read>(); see B<timerfd_create>(2)  for further "
 msgid ""
 "I<fd> was created via a call to B<timerfd_create>(2)  and the wrong size "
 "buffer was given to B<read>(); see B<timerfd_create>(2)  for further "
@@ -9439,27 +11989,27 @@ msgstr ""
 "こと。"
 
 #. type: Plain text
 "こと。"
 
 #. type: Plain text
-#: build/C/man2/read.2:140
+#: build/C/man2/read.2:158
 msgid ""
 "I/O error.  This will happen for example when the process is in a background "
 msgid ""
 "I/O error.  This will happen for example when the process is in a background "
-"process group, tries to read from its controlling tty, and either it is "
+"process group, tries to read from its controlling terminal, and either it is "
 "ignoring or blocking B<SIGTTIN> or its process group is orphaned.  It may "
 "also occur when there is a low-level I/O error while reading from a disk or "
 "tape."
 msgstr ""
 "ignoring or blocking B<SIGTTIN> or its process group is orphaned.  It may "
 "also occur when there is a low-level I/O error while reading from a disk or "
 "tape."
 msgstr ""
-"I/O エラー。これは例えばプロセスがバックグランド・プロセスグループで、 それを"
-"制御している tty から読み込もうとし、 B<SIGTTIN> が無視 (ignore) または禁止 "
+"I/O エラー。これは例えばプロセスがバックグランド・プロセスグループで、それを"
+"制御している端末から読み込もうとし、 B<SIGTTIN> が無視 (ignore) または禁止 "
 "(blocking) されている場合や、 そのプロセスグループが孤立 (orphan) している場"
 "合に起こる。 またディスクやテープを読んでいる時に低レベル I/O エラー が発生し"
 "た場合にも起こる。"
 
 #. type: Plain text
 "(blocking) されている場合や、 そのプロセスグループが孤立 (orphan) している場"
 "合に起こる。 またディスクやテープを読んでいる時に低レベル I/O エラー が発生し"
 "た場合にも起こる。"
 
 #. type: Plain text
-#: build/C/man2/read.2:144
+#: build/C/man2/read.2:162
 msgid "I<fd> refers to a directory."
 msgstr "I<fd> がディレクトリを参照している。"
 
 #. type: Plain text
 msgid "I<fd> refers to a directory."
 msgstr "I<fd> がディレクトリを参照している。"
 
 #. type: Plain text
-#: build/C/man2/read.2:155
+#: build/C/man2/read.2:173
 msgid ""
 "Other errors may occur, depending on the object connected to I<fd>.  POSIX "
 "allows a B<read>()  that is interrupted after reading some data to return -1 "
 msgid ""
 "Other errors may occur, depending on the object connected to I<fd>.  POSIX "
 "allows a B<read>()  that is interrupted after reading some data to return -1 "
@@ -9472,10 +12022,10 @@ msgstr ""
 "数を返してもよい。"
 
 #. type: Plain text
 "数を返してもよい。"
 
 #. type: Plain text
-#: build/C/man2/read.2:169
+#: build/C/man2/read.2:187
 msgid ""
 msgid ""
-"On NFS file systems, reading small amounts of data will only update the "
-"timestamp the first time, subsequent calls may not do so.  This is caused by "
+"On NFS filesystems, reading small amounts of data will update the timestamp "
+"only the first time, subsequent calls may not do so.  This is caused by "
 "client side attribute caching, because most if not all NFS clients leave "
 "st_atime (last file access time)  updates to the server and client side "
 "reads satisfied from the client's cache will not cause st_atime updates on "
 "client side attribute caching, because most if not all NFS clients leave "
 "st_atime (last file access time)  updates to the server and client side "
 "reads satisfied from the client's cache will not cause st_atime updates on "
@@ -9493,18 +12043,46 @@ msgstr ""
 "ではこれは続くサーバーの 負荷を増加させ、パフォーマンスの低下をもたらす。"
 
 #. type: Plain text
 "ではこれは続くサーバーの 負荷を増加させ、パフォーマンスの低下をもたらす。"
 
 #. type: Plain text
-#: build/C/man2/read.2:178
+#: build/C/man2/read.2:190 build/C/man2/write.2:214
+msgid ""
+"According to POSIX.1-2008/SUSv4 Section XSI 2.9.7 (\"Thread Interactions "
+"with Regular File Operations\"):"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/read.2:195 build/C/man2/write.2:219
+msgid ""
+"All of the following functions shall be atomic with respect to each other in "
+"the effects specified in POSIX.1-2008 when they operate on regular files or "
+"symbolic links: ..."
+msgstr ""
+
+#
+#.  http://thread.gmane.org/gmane.linux.kernel/1649458
+#.     From: Michael Kerrisk (man-pages <mtk.manpages <at> gmail.com>
+#.     Subject: Update of file offset on write() etc. is non-atomic with I/O
+#.     Date: 2014-02-17 15:41:37 GMT
+#.     Newsgroups: gmane.linux.kernel, gmane.linux.file-systems
+#.  commit 9c225f2655e36a470c4f58dbbc99244c5fc7f2d4
+#.     Author: Linus Torvalds <torvalds@linux-foundation.org>
+#.     Date:   Mon Mar 3 09:36:58 2014 -0800
+#.         vfs: atomic f_pos accesses as per POSIX
+#. type: Plain text
+#: build/C/man2/read.2:226
 msgid ""
 msgid ""
-"Many file systems and disks were considered to be fast enough that the "
-"implementation of B<O_NONBLOCK> was deemed unnecessary.  So, B<O_NONBLOCK> "
-"may not be available on files and/or disks."
+"Among the APIs subsequently listed are B<read>()  and B<readv>(2).  And "
+"among the effects that should be atomic across threads (and processes)  are "
+"updates of the file offset.  However, on Linux before version 3.14, this was "
+"not the case: if two processes that share an open file description (see "
+"B<open>(2))  perform a B<read>()  (or B<readv>(2))  at the same time, then "
+"the I/O operations were not atomic with respect updating the file offset, "
+"with the result that the reads in the two processes might (incorrectly) "
+"overlap in the blocks of data that they obtained.  This problem was fixed in "
+"Linux 3.14."
 msgstr ""
 msgstr ""
-"多くのファイルシステムやディスクは B<O_NONBLOCK> の実装はしなくても済むくらい"
-"に十分に高速であると考えられている。 それでそのようなファイルやディスクには "
-"B<O_NONBLOCK> は利用できないかもしれない。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/read.2:191
+#: build/C/man2/read.2:239
 msgid ""
 "B<close>(2), B<fcntl>(2), B<ioctl>(2), B<lseek>(2), B<open>(2), B<pread>(2), "
 "B<readdir>(2), B<readlink>(2), B<readv>(2), B<select>(2), B<write>(2), "
 msgid ""
 "B<close>(2), B<fcntl>(2), B<ioctl>(2), B<lseek>(2), B<open>(2), B<pread>(2), "
 "B<readdir>(2), B<readlink>(2), B<readv>(2), B<select>(2), B<write>(2), "
@@ -9515,38 +12093,39 @@ msgstr ""
 "B<fread>(3)"
 
 #. type: TH
 "B<fread>(3)"
 
 #. type: TH
-#: build/C/man2/readlink.2:41
+#: build/C/man2/readlink.2:44
 #, no-wrap
 msgid "READLINK"
 msgstr "READLINK"
 
 #, no-wrap
 msgid "READLINK"
 msgstr "READLINK"
 
-#. type: TH
-#: build/C/man2/readlink.2:41
-#, no-wrap
-msgid "2011-09-20"
-msgstr "2011-09-20"
+#. type: Plain text
+#: build/C/man2/readlink.2:47
+msgid "readlink, readlinkat - read value of a symbolic link"
+msgstr "readlink, readlinkat - シンボリックリンクの値を読む"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/readlink.2:44
-msgid "readlink - read value of a symbolic link"
-msgstr "readlink - シンボリックリンクの値を読む"
+#: build/C/man2/readlink.2:53
+#, no-wrap
+msgid "B<ssize_t readlink(const char *>I<pathname>B<, char *>I<buf>B<, size_t >I<bufsiz>B<);>\n"
+msgstr "B<ssize_t readlink(const char *>I<pathname>B<, char *>I<buf>B<, size_t >I<bufsiz>B<);>\n"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/readlink.2:48
+#: build/C/man2/readlink.2:59
+#, no-wrap
 msgid ""
 msgid ""
-"B<ssize_t readlink(const char *>I<path>B<, char *>I<buf>B<, size_t "
-">I<bufsiz>B<);>"
+"B<ssize_t readlinkat(int >I<dirfd>B<, const char *>I<pathname>B<,>\n"
+"B<                   char *>I<buf>B<, size_t >I<bufsiz>B<);>\n"
 msgstr ""
 msgstr ""
-"B<ssize_t readlink(const char *>I<path>B<, char *>I<buf>B<, size_t "
-">I<bufsiz>B<);>"
+"B<ssize_t readlinkat(int >I<dirfd>B<, const char *>I<pathname>B<,>\n"
+"B<                   char *>I<buf>B<, size_t >I<bufsiz>B<);>\n"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/readlink.2:56
+#: build/C/man2/readlink.2:68
 msgid "B<readlink>():"
 msgstr "B<readlink>():"
 
 #. type: Plain text
 msgid "B<readlink>():"
 msgstr "B<readlink>():"
 
 #. type: Plain text
-#: build/C/man2/readlink.2:59 build/C/man2/symlink.2:50
+#: build/C/man2/readlink.2:71 build/C/man2/symlink.2:59
 msgid ""
 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
 "_XOPEN_SOURCE_EXTENDED || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
 msgid ""
 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
 "_XOPEN_SOURCE_EXTENDED || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
@@ -9555,30 +12134,93 @@ msgstr ""
 "_XOPEN_SOURCE_EXTENDED || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
 
 #. type: Plain text
 "_XOPEN_SOURCE_EXTENDED || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
 
 #. type: Plain text
-#: build/C/man2/readlink.2:75
+#: build/C/man2/readlink.2:74
+msgid "B<readlinkat>():"
+msgstr "B<readlinkat>():"
+
+#. type: Plain text
+#: build/C/man2/readlink.2:100
 msgid ""
 msgid ""
-"B<readlink>()  places the contents of the symbolic link I<path> in the "
+"B<readlink>()  places the contents of the symbolic link I<pathname> in the "
 "buffer I<buf>, which has size I<bufsiz>.  B<readlink>()  does not append a "
 "null byte to I<buf>.  It will truncate the contents (to a length of "
 "I<bufsiz> characters), in case the buffer is too small to hold all of the "
 "contents."
 msgstr ""
 "buffer I<buf>, which has size I<bufsiz>.  B<readlink>()  does not append a "
 "null byte to I<buf>.  It will truncate the contents (to a length of "
 "I<bufsiz> characters), in case the buffer is too small to hold all of the "
 "contents."
 msgstr ""
-"B<readlink>()  は I<path> で与えられたシンボリックリンクの内容を I<buf> バッ"
-"ファーへ格納する、 I<buf> のサイズは I<bufsiz> である。 B<readlink>()  は "
-"NULL バイトを I<buf> に追加しない。 その内容全てを格納するのにバッファーが小"
-"さ過ぎる場合は、 (I<bufsiz> バイトの長さに) 内容を切り詰める。"
+"B<readlink>()  は I<pathname> で与えられたシンボリックリンクの内容を I<buf> "
+"バッファーへ格納する、 I<buf> のサイズは I<bufsiz> である。 B<readlink>()  は"
+"ヌルバイトを I<buf> に追加しない。 その内容全てを格納するのにバッファーが小さ"
+"過ぎる場合は、 (I<bufsiz> バイトの長さに) 内容を切り詰める。"
+
+#. type: SS
+#: build/C/man2/readlink.2:100
+#, no-wrap
+msgid "readlinkat()"
+msgstr "readlinkat()"
+
+#. type: Plain text
+#: build/C/man2/readlink.2:106
+msgid ""
+"The B<readlinkat>()  system call operates in exactly the same way as "
+"B<readlink>(), except for the differences described here."
+msgstr ""
+"B<readlinkat>() システムコールは B<readlink>() と全く同様に動作するが、以下で"
+"説明する点が異なる。"
+
+#. type: Plain text
+#: build/C/man2/readlink.2:116
+msgid ""
+"If the pathname given in I<pathname> is relative, then it is interpreted "
+"relative to the directory referred to by the file descriptor I<dirfd> "
+"(rather than relative to the current working directory of the calling "
+"process, as is done by B<readlink>()  for a relative pathname)."
+msgstr ""
+"I<pathname> で指定されたパス名が相対パスの場合、このパス名はファイルディスク"
+"リプター I<dirfd> が参照するディレクトリに対する相対パスと解釈される "
+"(B<readlink>() に相対パス名を渡した場合のように、呼び出したプロセスのカレント"
+"ワーキングディレクトリに対する相対パスではない)。"
+
+#. type: Plain text
+#: build/C/man2/readlink.2:128
+msgid ""
+"If I<pathname> is relative and I<dirfd> is the special value B<AT_FDCWD>, "
+"then I<pathname> is interpreted relative to the current working directory of "
+"the calling process (like B<readlink>())."
+msgstr ""
+"I<pathname> で指定されたパス名が相対パスで、 I<dirfd> が特別な値 B<AT_FDCWD> "
+"の場合、 (B<readlink>() と同様に) I<pathname> は呼び出したプロセスのカレント"
+"ワーキングディレクトリに対する相対パスと解釈される。"
+
+#.  commit 65cfc6722361570bfe255698d9cd4dccaf47570d
+#. type: Plain text
+#: build/C/man2/readlink.2:148
+msgid ""
+"Since Linux 2.6.39, I<pathname> can be an empty string, in which case the "
+"call operates on the file referred to by I<dirfd> (which may have been "
+"obtained using the B<open>(2)  B<O_PATH> flag).  In this case, I<dirfd> can "
+"refer to any type of file, not just a directory."
+msgstr ""
+"Linux 2.6.39 以降では、 I<pathname> に空文字列を指定できる。 その場合、呼び出"
+"しは I<dirfd> が参照するファイルに対して行われる (I<dirfd> は B<open>(2) の "
+"B<O_PATH> フラグを使って取得できる)。 この場合、 I<dirfd> はディレクトリだけ"
+"でなく、ファイルを参照していてもよい。"
+
+#. type: Plain text
+#: build/C/man2/readlink.2:153
+msgid "See B<openat>(2)  for an explanation of the need for B<readlinkat>()."
+msgstr "B<readlinkat>() の必要性についての説明については B<openat>(2) を参照。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/readlink.2:83
+#: build/C/man2/readlink.2:159
 msgid ""
 msgid ""
-"On success, B<readlink>()  returns the number of bytes placed in I<buf>.  On "
+"On success, these calls return the number of bytes placed in I<buf>.  On "
 "error, -1 is returned and I<errno> is set to indicate the error."
 msgstr ""
 "error, -1 is returned and I<errno> is set to indicate the error."
 msgstr ""
-"成功すると、 B<readlink>()  は I<buf> に格納されたバイト数を返す。 エラーの場"
-"合、-1 を返し、 I<errno> にエラーを示す値を設定する。"
+"成功すると、これらのシステムコールは I<buf> に格納されたバイト数を返す。 エ"
+"ラーの場合、-1 を返し、 I<errno> にエラーを示す値を設定する。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/readlink.2:89
+#: build/C/man2/readlink.2:165
 msgid ""
 "Search permission is denied for a component of the path prefix.  (See also "
 "B<path_resolution>(7).)"
 msgid ""
 "Search permission is denied for a component of the path prefix.  (See also "
 "B<path_resolution>(7).)"
@@ -9587,7 +12229,7 @@ msgstr ""
 "参照すること)。"
 
 #. type: Plain text
 "参照すること)。"
 
 #. type: Plain text
-#: build/C/man2/readlink.2:93
+#: build/C/man2/readlink.2:169
 msgid "I<buf> extends outside the process's allocated address space."
 msgstr "I<buf> がプロセスに割り当てられたアドレス空間の外を指している。"
 
 msgid "I<buf> extends outside the process's allocated address space."
 msgstr "I<buf> がプロセスに割り当てられたアドレス空間の外を指している。"
 
@@ -9597,47 +12239,79 @@ msgstr "I<buf> がプロセスに割り当てられたアドレス空間の外
 #.  See: http://thread.gmane.org/gmane.linux.man/380
 #.  Subject: [patch 0/3] [RFC] kernel/glibc mismatch of "readlink" syscall?
 #. type: Plain text
 #.  See: http://thread.gmane.org/gmane.linux.man/380
 #.  Subject: [patch 0/3] [RFC] kernel/glibc mismatch of "readlink" syscall?
 #. type: Plain text
-#: build/C/man2/readlink.2:102
+#: build/C/man2/readlink.2:178
 msgid "I<bufsiz> is not positive."
 msgstr "I<bufsiz> が正でない。"
 
 #. type: Plain text
 msgid "I<bufsiz> is not positive."
 msgstr "I<bufsiz> が正でない。"
 
 #. type: Plain text
-#: build/C/man2/readlink.2:105
+#: build/C/man2/readlink.2:181
 msgid "The named file is not a symbolic link."
 msgstr "指定したファイルがシンボリックリンクでない。"
 
 #. type: Plain text
 msgid "The named file is not a symbolic link."
 msgstr "指定したファイルがシンボリックリンクでない。"
 
 #. type: Plain text
-#: build/C/man2/readlink.2:108
-msgid "An I/O error occurred while reading from the file system."
+#: build/C/man2/readlink.2:184
+msgid "An I/O error occurred while reading from the filesystem."
 msgstr "ファイルシステムの読み込み中に I/O エラーが起こった。"
 
 #. type: Plain text
 msgstr "ファイルシステムの読み込み中に I/O エラーが起こった。"
 
 #. type: Plain text
-#: build/C/man2/readlink.2:111
+#: build/C/man2/readlink.2:187
 msgid "Too many symbolic links were encountered in translating the pathname."
 msgstr "パス名にシンボリックリンクが多すぎる。"
 
 #. type: Plain text
 msgid "Too many symbolic links were encountered in translating the pathname."
 msgstr "パス名にシンボリックリンクが多すぎる。"
 
 #. type: Plain text
-#: build/C/man2/readlink.2:114
+#: build/C/man2/readlink.2:190
 msgid "A pathname, or a component of a pathname, was too long."
 msgstr "パス名かパス名の一部分が長過ぎる。"
 
 #. type: Plain text
 msgid "A pathname, or a component of a pathname, was too long."
 msgstr "パス名かパス名の一部分が長過ぎる。"
 
 #. type: Plain text
-#: build/C/man2/readlink.2:117
+#: build/C/man2/readlink.2:193
 msgid "The named file does not exist."
 msgstr "その名前のファイルが存在しない。"
 
 #. type: Plain text
 msgid "The named file does not exist."
 msgstr "その名前のファイルが存在しない。"
 
 #. type: Plain text
-#: build/C/man2/readlink.2:123
+#: build/C/man2/readlink.2:199
 msgid "A component of the path prefix is not a directory."
 msgstr "パスのディレクトリ部分がディレクトリでない。"
 
 #. type: Plain text
 msgid "A component of the path prefix is not a directory."
 msgstr "パスのディレクトリ部分がディレクトリでない。"
 
 #. type: Plain text
-#: build/C/man2/readlink.2:128
-msgid "4.4BSD (B<readlink>()  first appeared in 4.2BSD), POSIX.1-2001."
-msgstr "4.4BSD (B<readlink>()  は 4.2BSD で初めて登場した), POSIX.1-2001."
+#: build/C/man2/readlink.2:202
+msgid "The following additional errors can occur for B<readlinkat>():"
+msgstr "B<readlinkat>() では以下のエラーも発生する。"
+
+#. type: Plain text
+#: build/C/man2/readlink.2:212 build/C/man2/unlink.2:269
+msgid ""
+"I<pathname> is relative and I<dirfd> is a file descriptor referring to a "
+"file other than a directory."
+msgstr ""
+"I<pathname> が相対パスで、 I<dirfd> がディレクトリ以外のファイルを参照してい"
+"るファイルディスクリプタである。"
+
+#. type: Plain text
+#: build/C/man2/readlink.2:216
+msgid ""
+"B<readlinkat>()  was added to Linux in kernel 2.6.16; library support was "
+"added to glibc in version 2.4."
+msgstr ""
+"B<readlinkat>()  はカーネル 2.6.16 で Linux に追加された。 ライブラリによるサ"
+"ポートはバージョン 2.4 で glibc に追加された。"
+
+#. type: Plain text
+#: build/C/man2/readlink.2:222
+msgid ""
+"B<readlink>(): 4.4BSD (B<readlink>()  first appeared in 4.2BSD), "
+"POSIX.1-2001, POSIX.1-2008."
+msgstr ""
+"4.4BSD (B<readlink>()  は 4.2BSD で初めて登場した), POSIX.1-2001, "
+"POSIX.1-2008."
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/readlink.2:136
+#: build/C/man2/readlink.2:225
+msgid "B<readlinkat>(): POSIX.1-2008."
+msgstr "B<readlinkat>(): POSIX.1-2008."
+
+#. type: Plain text
+#: build/C/man2/readlink.2:233
 msgid ""
 "In versions of glibc up to and including glibc 2.4, the return type of "
 "B<readlink>()  was declared as I<int>.  Nowadays, the return type is "
 msgid ""
 "In versions of glibc up to and including glibc 2.4, the return type of "
 "B<readlink>()  was declared as I<int>.  Nowadays, the return type is "
@@ -9648,29 +12322,43 @@ msgstr ""
 "る (返り値 I<ssize_t> は POSIX.1-2001 で (新たに) 必須となった)。"
 
 #. type: Plain text
 "る (返り値 I<ssize_t> は POSIX.1-2001 で (新たに) 必須となった)。"
 
 #. type: Plain text
-#: build/C/man2/readlink.2:155
+#: build/C/man2/readlink.2:256
 msgid ""
 "Using a statically sized buffer might not provide enough room for the "
 "symbolic link contents.  The required size for the buffer can be obtained "
 "from the I<stat.st_size> value returned by a call to B<lstat>(2)  on the "
 msgid ""
 "Using a statically sized buffer might not provide enough room for the "
 "symbolic link contents.  The required size for the buffer can be obtained "
 "from the I<stat.st_size> value returned by a call to B<lstat>(2)  on the "
-"link.  However, the number of bytes written by B<readlink>()  should be "
-"checked to make sure that the size of the symbolic link did not increase "
-"between the calls.  Dynamically allocating the buffer for B<readlink>()  "
-"also addresses a common portability problem when using I<PATH_MAX> for the "
-"buffer size, as this constant is not guaranteed to be defined per POSIX if "
-"the system does not have such limit."
-msgstr ""
+"link.  However, the number of bytes written by B<readlink>()  and "
+"B<readlinkat>()  should be checked to make sure that the size of the "
+"symbolic link did not increase between the calls.  Dynamically allocating "
+"the buffer for B<readlink>()  and B<readlinkat>()  also addresses a common "
+"portability problem when using I<PATH_MAX> for the buffer size, as this "
+"constant is not guaranteed to be defined per POSIX if the system does not "
+"have such limit."
+msgstr ""
+"静的な大きさのバッファを使うと、 シンボリックリンクの内容を格納するのに十分な"
+"領域がない場合がある。 バッファに必要なサイズは、 そのシンボリックリンクに対"
+"して B<lstat>(2) の呼び出しで返される I<stat.st_size> の値から取得できる。 た"
+"だし、 B<readlink>() や B<readlinkat>() が書き込んだバイト数をチェックして、 "
+"シンボリックリンクのサイズが二つの呼び出しの間で増えていないことを確認すべき"
+"である。 B<readlink>() や B<readlinkat>() 用のバッファを動的に割り当てる方法"
+"でも、 バッファサイズとして I<PATH_MAX> を使用する場合に共通する移植性の問題"
+"を解決することができる。 なぜなら、POSIX では、 システムがそのような上限値を"
+"定義していない場合には、 I<PATH_MAX> が定義されることが保証されていないからで"
+"ある。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/readlink.2:161
+#: build/C/man2/readlink.2:262
 msgid ""
 "The following program allocates the buffer needed by B<readlink>()  "
 "dynamically from the information provided by B<lstat>(), making sure there's "
 "no race condition between the calls."
 msgstr ""
 msgid ""
 "The following program allocates the buffer needed by B<readlink>()  "
 "dynamically from the information provided by B<lstat>(), making sure there's "
 "no race condition between the calls."
 msgstr ""
+"以下のプログラムは、 B<readlink>() が必要とするバッファを、\n"
+"B<lstat>() が提供する情報に基づいて動的に割り当てる。\n"
+"また、両方の呼び出し間で競合条件がないことを保証している。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/readlink.2:168
+#: build/C/man2/readlink.2:269
 #, no-wrap
 msgid ""
 "#include E<lt>sys/types.hE<gt>\n"
 #, no-wrap
 msgid ""
 "#include E<lt>sys/types.hE<gt>\n"
@@ -9686,7 +12374,7 @@ msgstr ""
 "#include E<lt>unistd.hE<gt>\n"
 
 #. type: Plain text
 "#include E<lt>unistd.hE<gt>\n"
 
 #. type: Plain text
-#: build/C/man2/readlink.2:175
+#: build/C/man2/readlink.2:276
 #, no-wrap
 msgid ""
 "int\n"
 #, no-wrap
 msgid ""
 "int\n"
@@ -9704,7 +12392,7 @@ msgstr ""
 "    ssize_t r;\n"
 
 #. type: Plain text
 "    ssize_t r;\n"
 
 #. type: Plain text
-#: build/C/man2/readlink.2:180
+#: build/C/man2/readlink.2:281
 #, no-wrap
 msgid ""
 "    if (argc != 2) {\n"
 #, no-wrap
 msgid ""
 "    if (argc != 2) {\n"
@@ -9718,7 +12406,7 @@ msgstr ""
 "    }\n"
 
 #. type: Plain text
 "    }\n"
 
 #. type: Plain text
-#: build/C/man2/readlink.2:185
+#: build/C/man2/readlink.2:286
 #, no-wrap
 msgid ""
 "    if (lstat(argv[1], &sb) == -1) {\n"
 #, no-wrap
 msgid ""
 "    if (lstat(argv[1], &sb) == -1) {\n"
@@ -9732,7 +12420,7 @@ msgstr ""
 "    }\n"
 
 #. type: Plain text
 "    }\n"
 
 #. type: Plain text
-#: build/C/man2/readlink.2:191
+#: build/C/man2/readlink.2:292
 #, no-wrap
 msgid ""
 "    linkname = malloc(sb.st_size + 1);\n"
 #, no-wrap
 msgid ""
 "    linkname = malloc(sb.st_size + 1);\n"
@@ -9748,27 +12436,27 @@ msgstr ""
 "    }\n"
 
 #. type: Plain text
 "    }\n"
 
 #. type: Plain text
-#: build/C/man2/readlink.2:193
+#: build/C/man2/readlink.2:294
 #, no-wrap
 msgid "    r = readlink(argv[1], linkname, sb.st_size + 1);\n"
 msgstr "    r = readlink(argv[1], linkname, sb.st_size + 1);\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "    r = readlink(argv[1], linkname, sb.st_size + 1);\n"
 msgstr "    r = readlink(argv[1], linkname, sb.st_size + 1);\n"
 
 #. type: Plain text
-#: build/C/man2/readlink.2:198
+#: build/C/man2/readlink.2:299
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-"    if (r E<lt> 0) {\n"
-"        perror(\"lstat\");\n"
+"    if (r == -1) {\n"
+"        perror(\"readlink\");\n"
 "        exit(EXIT_FAILURE);\n"
 "    }\n"
 msgstr ""
 "        exit(EXIT_FAILURE);\n"
 "    }\n"
 msgstr ""
-"    if (r E<lt> 0) {\n"
-"        perror(\"lstat\");\n"
+"    if (r == -1) {\n"
+"        perror(\"readlink\");\n"
 "        exit(EXIT_FAILURE);\n"
 "    }\n"
 
 #. type: Plain text
 "        exit(EXIT_FAILURE);\n"
 "    }\n"
 
 #. type: Plain text
-#: build/C/man2/readlink.2:204
+#: build/C/man2/readlink.2:305
 #, no-wrap
 msgid ""
 "    if (r E<gt> sb.st_size) {\n"
 #, no-wrap
 msgid ""
 "    if (r E<gt> sb.st_size) {\n"
@@ -9784,64 +12472,64 @@ msgstr ""
 "    }\n"
 
 #. type: Plain text
 "    }\n"
 
 #. type: Plain text
-#: build/C/man2/readlink.2:206
+#: build/C/man2/readlink.2:307
 #, no-wrap
 #, no-wrap
-msgid "    linkname[sb.st_size] = \\(aq\\e0\\(aq;\n"
-msgstr "    linkname[sb.st_size] = \\(aq\\e0\\(aq;\n"
+msgid "    linkname[r] = \\(aq\\e0\\(aq;\n"
+msgstr "    linkname[r] = \\(aq\\e0\\(aq;\n"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/readlink.2:208
+#: build/C/man2/readlink.2:309
 #, no-wrap
 msgid "    printf(\"\\(aq%s\\(aq points to \\(aq%s\\(aq\\en\", argv[1], linkname);\n"
 msgstr "    printf(\"\\(aq%s\\(aq points to \\(aq%s\\(aq\\en\", argv[1], linkname);\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "    printf(\"\\(aq%s\\(aq points to \\(aq%s\\(aq\\en\", argv[1], linkname);\n"
 msgstr "    printf(\"\\(aq%s\\(aq points to \\(aq%s\\(aq\\en\", argv[1], linkname);\n"
 
 #. type: Plain text
-#: build/C/man2/readlink.2:220
+#: build/C/man2/readlink.2:320
 msgid ""
 msgid ""
-"B<readlink>(1), B<lstat>(2), B<readlinkat>(2), B<stat>(2), B<symlink>(2), "
+"B<readlink>(1), B<lstat>(2), B<stat>(2), B<symlink>(2), "
 "B<path_resolution>(7), B<symlink>(7)"
 msgstr ""
 "B<path_resolution>(7), B<symlink>(7)"
 msgstr ""
-"B<readlink>(1), B<lstat>(2), B<readlinkat>(2), B<stat>(2), B<symlink>(2),\n"
+"B<readlink>(1), B<lstat>(2), B<stat>(2), B<symlink>(2), "
 "B<path_resolution>(7), B<symlink>(7)"
 
 #. type: TH
 "B<path_resolution>(7), B<symlink>(7)"
 
 #. type: TH
-#: build/C/man2/readv.2:30
+#: build/C/man2/readv.2:32
 #, no-wrap
 msgid "READV"
 msgstr "READV"
 
 #. type: TH
 #, no-wrap
 msgid "READV"
 msgstr "READV"
 
 #. type: TH
-#: build/C/man2/readv.2:30
+#: build/C/man2/readv.2:32
 #, no-wrap
 msgid "2010-11-17"
 msgstr "2010-11-17"
 
 #. type: Plain text
 #, no-wrap
 msgid "2010-11-17"
 msgstr "2010-11-17"
 
 #. type: Plain text
-#: build/C/man2/readv.2:33
+#: build/C/man2/readv.2:35
 msgid ""
 "readv, writev, preadv, pwritev - read or write data into multiple buffers"
 msgstr "readv, writev, preadv, pwritev - 複数のバッファへの読み書きを行なう"
 
 #. type: Plain text
 msgid ""
 "readv, writev, preadv, pwritev - read or write data into multiple buffers"
 msgstr "readv, writev, preadv, pwritev - 複数のバッファへの読み書きを行なう"
 
 #. type: Plain text
-#: build/C/man2/readv.2:36 build/C/man2/process_vm_readv.2:33
+#: build/C/man2/readv.2:38
 #, no-wrap
 msgid "B<#include E<lt>sys/uio.hE<gt>>\n"
 msgstr "B<#include E<lt>sys/uio.hE<gt>>\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<#include E<lt>sys/uio.hE<gt>>\n"
 msgstr "B<#include E<lt>sys/uio.hE<gt>>\n"
 
 #. type: Plain text
-#: build/C/man2/readv.2:38
+#: build/C/man2/readv.2:40
 #, no-wrap
 msgid "B<ssize_t readv(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<);>\n"
 msgstr "B<ssize_t readv(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<);>\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<ssize_t readv(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<);>\n"
 msgstr "B<ssize_t readv(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<);>\n"
 
 #. type: Plain text
-#: build/C/man2/readv.2:40
+#: build/C/man2/readv.2:42
 #, no-wrap
 msgid "B<ssize_t writev(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<);>\n"
 msgstr "B<ssize_t writev(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<);>\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<ssize_t writev(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<);>\n"
 msgstr "B<ssize_t writev(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<);>\n"
 
 #. type: Plain text
-#: build/C/man2/readv.2:43
+#: build/C/man2/readv.2:45
 #, no-wrap
 msgid ""
 "B<ssize_t preadv(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<,>\n"
 #, no-wrap
 msgid ""
 "B<ssize_t preadv(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<,>\n"
@@ -9851,7 +12539,7 @@ msgstr ""
 "B<               off_t >I<offset>B<);>\n"
 
 #. type: Plain text
 "B<               off_t >I<offset>B<);>\n"
 
 #. type: Plain text
-#: build/C/man2/readv.2:46
+#: build/C/man2/readv.2:48
 #, no-wrap
 msgid ""
 "B<ssize_t pwritev(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<,>\n"
 #, no-wrap
 msgid ""
 "B<ssize_t pwritev(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<,>\n"
@@ -9861,12 +12549,12 @@ msgstr ""
 "B<                off_t >I<offset>B<);>\n"
 
 #. type: Plain text
 "B<                off_t >I<offset>B<);>\n"
 
 #. type: Plain text
-#: build/C/man2/readv.2:56
+#: build/C/man2/readv.2:58
 msgid "B<preadv>(), B<pwritev>(): _BSD_SOURCE"
 msgstr "B<preadv>(), B<pwritev>(): _BSD_SOURCE"
 
 #. type: Plain text
 msgid "B<preadv>(), B<pwritev>(): _BSD_SOURCE"
 msgstr "B<preadv>(), B<pwritev>(): _BSD_SOURCE"
 
 #. type: Plain text
-#: build/C/man2/readv.2:66
+#: build/C/man2/readv.2:68
 msgid ""
 "The B<readv>()  system call reads I<iovcnt> buffers from the file associated "
 "with the file descriptor I<fd> into the buffers described by I<iov> "
 msgid ""
 "The B<readv>()  system call reads I<iovcnt> buffers from the file associated "
 "with the file descriptor I<fd> into the buffers described by I<iov> "
@@ -9877,7 +12565,7 @@ msgstr ""
 "されたバッファに格納する (\"scatter input\";「ばらまき入力」)。"
 
 #. type: Plain text
 "されたバッファに格納する (\"scatter input\";「ばらまき入力」)。"
 
 #. type: Plain text
-#: build/C/man2/readv.2:76
+#: build/C/man2/readv.2:78
 msgid ""
 "The B<writev>()  system call writes I<iovcnt> buffers of data described by "
 "I<iov> to the file associated with the file descriptor I<fd> (\"gather output"
 msgid ""
 "The B<writev>()  system call writes I<iovcnt> buffers of data described by "
 "I<iov> to the file associated with the file descriptor I<fd> (\"gather output"
@@ -9890,7 +12578,7 @@ msgstr ""
 "れたファイルに書き込む (\"gather output\";「かき集め出力」)。"
 
 #. type: Plain text
 "れたファイルに書き込む (\"gather output\";「かき集め出力」)。"
 
 #. type: Plain text
-#: build/C/man2/readv.2:85
+#: build/C/man2/readv.2:87
 msgid ""
 "The pointer I<iov> points to an array of I<iovec> structures, defined in "
 "I<E<lt>sys/uio.hE<gt>> as:"
 msgid ""
 "The pointer I<iov> points to an array of I<iovec> structures, defined in "
 "I<E<lt>sys/uio.hE<gt>> as:"
@@ -9899,7 +12587,7 @@ msgstr ""
 "は I<E<lt>sys/uio.hE<gt>> で以下のように定義されている:"
 
 #. type: Plain text
 "は I<E<lt>sys/uio.hE<gt>> で以下のように定義されている:"
 
 #. type: Plain text
-#: build/C/man2/readv.2:93 build/C/man2/process_vm_readv.2:111
+#: build/C/man2/readv.2:95
 #, no-wrap
 msgid ""
 "struct iovec {\n"
 #, no-wrap
 msgid ""
 "struct iovec {\n"
@@ -9913,7 +12601,7 @@ msgstr ""
 "};\n"
 
 #. type: Plain text
 "};\n"
 
 #. type: Plain text
-#: build/C/man2/readv.2:101
+#: build/C/man2/readv.2:103
 msgid ""
 "The B<readv>()  system call works just like B<read>(2)  except that multiple "
 "buffers are filled."
 msgid ""
 "The B<readv>()  system call works just like B<read>(2)  except that multiple "
 "buffers are filled."
@@ -9922,7 +12610,7 @@ msgstr ""
 "B<read>(2) と全く同様の動作を行う。"
 
 #. type: Plain text
 "B<read>(2) と全く同様の動作を行う。"
 
 #. type: Plain text
-#: build/C/man2/readv.2:107
+#: build/C/man2/readv.2:109
 msgid ""
 "The B<writev>()  system call works just like B<write>(2)  except that "
 "multiple buffers are written out."
 msgid ""
 "The B<writev>()  system call works just like B<write>(2)  except that "
 "multiple buffers are written out."
@@ -9931,13 +12619,13 @@ msgstr ""
 "B<write>(2) と全く同様の動作を行う。"
 
 #. type: Plain text
 "B<write>(2) と全く同様の動作を行う。"
 
 #. type: Plain text
-#: build/C/man2/readv.2:126
+#: build/C/man2/readv.2:128
 msgid ""
 "Buffers are processed in array order.  This means that B<readv>()  "
 "completely fills I<iov>[0] before proceeding to I<iov>[1], and so on.  (If "
 "there is insufficient data, then not all buffers pointed to by I<iov> may be "
 msgid ""
 "Buffers are processed in array order.  This means that B<readv>()  "
 "completely fills I<iov>[0] before proceeding to I<iov>[1], and so on.  (If "
 "there is insufficient data, then not all buffers pointed to by I<iov> may be "
-"filled.)  Similarly, B<writev>()  writes out the entire contents of I<iov>"
-"[0] before proceeding to I<iov>[1], and so on."
+"filled.)  Similarly, B<writev>()  writes out the entire contents of "
+"I<iov>[0] before proceeding to I<iov>[1], and so on."
 msgstr ""
 "バッファは配列の順序で処理される。これは、 B<readv>()  が I<iov>[0] が完全に"
 "一杯になるまでデータを詰めてから、 I<iov>[1] などに進むことを意味する (データ"
 msgstr ""
 "バッファは配列の順序で処理される。これは、 B<readv>()  が I<iov>[0] が完全に"
 "一杯になるまでデータを詰めてから、 I<iov>[1] などに進むことを意味する (データ"
@@ -9945,7 +12633,7 @@ msgstr ""
 "B<writev>()  は I<iov>[0] の内容を全部書き出してから I<iov>[1] などに進む。"
 
 #. type: Plain text
 "B<writev>()  は I<iov>[0] の内容を全部書き出してから I<iov>[1] などに進む。"
 
 #. type: Plain text
-#: build/C/man2/readv.2:144
+#: build/C/man2/readv.2:146
 msgid ""
 "The data transfers performed by B<readv>()  and B<writev>()  are atomic: the "
 "data written by B<writev>()  is written as a single block that is not "
 msgid ""
 "The data transfers performed by B<readv>()  and B<writev>()  are atomic: the "
 "data written by B<writev>()  is written as a single block that is not "
@@ -9964,38 +12652,50 @@ msgstr ""
 "作の影響を受けることはない。"
 
 #. type: SS
 "作の影響を受けることはない。"
 
 #. type: SS
-#: build/C/man2/readv.2:144
+#: build/C/man2/readv.2:146
 #, no-wrap
 msgid "preadv() and pwritev()"
 msgstr "preadv() と pwritev()"
 
 #. type: Plain text
 #, no-wrap
 msgid "preadv() and pwritev()"
 msgstr "preadv() と pwritev()"
 
 #. type: Plain text
-#: build/C/man2/readv.2:157
+#: build/C/man2/readv.2:159
 msgid ""
 "The B<preadv>()  system call combines the functionality of B<readv>()  and "
 "B<pread>(2).  It performs the same task as B<readv>(), but adds a fourth "
 "argument, I<offset>, which specifies the file offset at which the input "
 "operation is to be performed."
 msgstr ""
 msgid ""
 "The B<preadv>()  system call combines the functionality of B<readv>()  and "
 "B<pread>(2).  It performs the same task as B<readv>(), but adds a fourth "
 "argument, I<offset>, which specifies the file offset at which the input "
 "operation is to be performed."
 msgstr ""
+"B<preadv>() システムコールは B<readv>() と B<preadv>(2) の機能を\n"
+"組み合わせたものである。\n"
+"B<readv>() と同じ処理を実行するが、\n"
+"4 番目の引き数 I<offset> が追加されており、\n"
+"この引き数は入力操作を行うファイルオフセットを指定する。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/readv.2:170
+#: build/C/man2/readv.2:172
 msgid ""
 "The B<pwritev>()  system call combines the functionality of B<writev>()  and "
 "B<pwrite>(2).  It performs the same task as B<writev>(), but adds a fourth "
 "argument, I<offset>, which specifies the file offset at which the output "
 "operation is to be performed."
 msgstr ""
 msgid ""
 "The B<pwritev>()  system call combines the functionality of B<writev>()  and "
 "B<pwrite>(2).  It performs the same task as B<writev>(), but adds a fourth "
 "argument, I<offset>, which specifies the file offset at which the output "
 "operation is to be performed."
 msgstr ""
+"B<pwritev>() システムコールは B<writev>() と B<pwrite>(2) の機能を\n"
+"組み合わせたものである。\n"
+"B<writev>() と同じ処理を実行するが、\n"
+"4 番目の引き数 I<offset> が追加されており、\n"
+"この引き数は出力操作を行うファイルオフセットを指定する。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/readv.2:175
+#: build/C/man2/readv.2:177
 msgid ""
 "The file offset is not changed by these system calls.  The file referred to "
 "by I<fd> must be capable of seeking."
 msgstr ""
 msgid ""
 "The file offset is not changed by these system calls.  The file referred to "
 "by I<fd> must be capable of seeking."
 msgstr ""
+"これらのシステムコールで、ファイルオフセットは変更されない。\n"
+"I<fd> が参照するファイルは seek 可能でなければならない。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/readv.2:186
+#: build/C/man2/readv.2:188
 msgid ""
 "On success, B<readv>()  and B<preadv>()  return the number of bytes read; "
 "B<writev>()  and B<pwritev>()  return the number of bytes written.  On "
 msgid ""
 "On success, B<readv>()  and B<preadv>()  return the number of bytes read; "
 "B<writev>()  and B<pwritev>()  return the number of bytes written.  On "
@@ -10006,11 +12706,11 @@ msgstr ""
 "エラーの場合 -1 を返し、I<errno> を適切に設定する。"
 
 #. type: Plain text
 "エラーの場合 -1 を返し、I<errno> を適切に設定する。"
 
 #. type: Plain text
-#: build/C/man2/readv.2:198
+#: build/C/man2/readv.2:200
 msgid ""
 "The errors are as given for B<read>(2)  and B<write>(2).  Furthermore, "
 msgid ""
 "The errors are as given for B<read>(2)  and B<write>(2).  Furthermore, "
-"B<preadv>()  and B<pwritev>()  can also fail for the same reasons as B<lseek>"
-"(2).  Additionally, the following error is defined:"
+"B<preadv>()  and B<pwritev>()  can also fail for the same reasons as "
+"B<lseek>(2).  Additionally, the following error is defined:"
 msgstr ""
 "B<read>(2)  や B<write>(2)  と同じエラーが定義されている。\n"
 "さらに、 B<preadv>() と B<pwritev>() は B<lseek>(2) と同じ理由でも失敗す"
 msgstr ""
 "B<read>(2)  や B<write>(2)  と同じエラーが定義されている。\n"
 "さらに、 B<preadv>() と B<pwritev>() は B<lseek>(2) と同じ理由でも失敗す"
@@ -10018,7 +12718,7 @@ msgstr ""
 "また、追加で以下のエラーが定義されている:"
 
 #. type: Plain text
 "また、追加で以下のエラーが定義されている:"
 
 #. type: Plain text
-#: build/C/man2/readv.2:207
+#: build/C/man2/readv.2:209
 msgid ""
 "The sum of the I<iov_len> values overflows an I<ssize_t> value.  Or, the "
 "vector count I<iovcnt> is less than zero or greater than the permitted "
 msgid ""
 "The sum of the I<iov_len> values overflows an I<ssize_t> value.  Or, the "
 "vector count I<iovcnt> is less than zero or greater than the permitted "
@@ -10028,16 +12728,18 @@ msgstr ""
 "数 I<iovcnt> が 0 より小さいか許可された最大値よりも大きかった。"
 
 #. type: Plain text
 "数 I<iovcnt> が 0 より小さいか許可された最大値よりも大きかった。"
 
 #. type: Plain text
-#: build/C/man2/readv.2:212
+#: build/C/man2/readv.2:214
 msgid ""
 "B<preadv>()  and B<pwritev>()  first appeared in Linux 2.6.30; library "
 "support was added in glibc 2.10."
 msgstr ""
 msgid ""
 "B<preadv>()  and B<pwritev>()  first appeared in Linux 2.6.30; library "
 "support was added in glibc 2.10."
 msgstr ""
+"B<preadv>() と B<pwritev>() は Linux 2.6.30 で初めて登場した。\n"
+"ライブラリによるサポートは glibc 2.10 で追加された。"
 
 #.  The readv/writev system calls were buggy before Linux 1.3.40.
 #.  (Says release.libc.)
 #. type: Plain text
 
 #.  The readv/writev system calls were buggy before Linux 1.3.40.
 #.  (Says release.libc.)
 #. type: Plain text
-#: build/C/man2/readv.2:220
+#: build/C/man2/readv.2:222
 msgid ""
 "B<readv>(), B<writev>(): 4.4BSD (these system calls first appeared in "
 "4.2BSD), POSIX.1-2001.  Linux libc5 used I<size_t> as the type of the "
 msgid ""
 "B<readv>(), B<writev>(): 4.4BSD (these system calls first appeared in "
 "4.2BSD), POSIX.1-2001.  Linux libc5 used I<size_t> as the type of the "
@@ -10049,19 +12751,19 @@ msgstr ""
 "返り値の型として I<int> を使用していた。"
 
 #. type: Plain text
 "返り値の型として I<int> を使用していた。"
 
 #. type: Plain text
-#: build/C/man2/readv.2:224
+#: build/C/man2/readv.2:226
 msgid ""
 "B<preadv>(), B<pwritev>(): nonstandard, but present also on the modern BSDs."
 msgid ""
 "B<preadv>(), B<pwritev>(): nonstandard, but present also on the modern BSDs."
-msgstr ""
+msgstr "B<preadv>(), B<pwritev>(): 非標準だが、最近の BSD にも存在する。"
 
 #. type: SS
 
 #. type: SS
-#: build/C/man2/readv.2:225
+#: build/C/man2/readv.2:227
 #, no-wrap
 #, no-wrap
-msgid "Linux Notes"
+msgid "Linux notes"
 msgstr "Linux での注意"
 
 #. type: Plain text
 msgstr "Linux での注意"
 
 #. type: Plain text
-#: build/C/man2/readv.2:256
+#: build/C/man2/readv.2:258
 msgid ""
 "POSIX.1-2001 allows an implementation to place a limit on the number of "
 "items that can be passed in I<iov>.  An implementation can advertise its "
 msgid ""
 "POSIX.1-2001 allows an implementation to place a limit on the number of "
 "items that can be passed in I<iov>.  An implementation can advertise its "
@@ -10070,7 +12772,7 @@ msgid ""
 "by these mechanisms is 1024, which is the true kernel limit.  However, the "
 "glibc wrapper functions do some extra work if they detect that the "
 "underlying kernel system call failed because this limit was exceeded.  In "
 "by these mechanisms is 1024, which is the true kernel limit.  However, the "
 "glibc wrapper functions do some extra work if they detect that the "
 "underlying kernel system call failed because this limit was exceeded.  In "
-"the case of B<readv>()  the wrapper function allocates a temporary buffer "
+"the case of B<readv>().  the wrapper function allocates a temporary buffer "
 "large enough for all of the items specified by I<iov>, passes that buffer in "
 "a call to B<read>(2), copies data from the buffer to the locations specified "
 "by the I<iov_base> fields of the elements of I<iov>, and then frees the "
 "large enough for all of the items specified by I<iov>, passes that buffer in "
 "a call to B<read>(2), copies data from the buffer to the locations specified "
 "by the I<iov_base> fields of the elements of I<iov>, and then frees the "
@@ -10087,11 +12789,11 @@ msgstr ""
 "た全ての要素を格納できる大きさの一時バッファを割り当て、 B<read>(2)  を呼び出"
 "す際にそのバッファを渡し、 そのバッファのデータを I<iov> の各要素の "
 "I<iov_base> フィールドが指定する場所にコピーしてから、 そのバッファを解放す"
 "た全ての要素を格納できる大きさの一時バッファを割り当て、 B<read>(2)  を呼び出"
 "す際にそのバッファを渡し、 そのバッファのデータを I<iov> の各要素の "
 "I<iov_base> フィールドが指定する場所にコピーしてから、 そのバッファを解放す"
-"る。 B<writev>()  のラッパー関数も、同じように一時バッファを使って B<write>"
-"(2)  を呼び出す。"
+"る。 B<writev>()  のラッパー関数も、同じように一時バッファを使って "
+"B<write>(2)  を呼び出す。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/readv.2:263
+#: build/C/man2/readv.2:265
 msgid ""
 "It is not advisable to mix calls to B<readv>()  or B<writev>(), which "
 "operate on file descriptors, with the functions from the stdio library; the "
 msgid ""
 "It is not advisable to mix calls to B<readv>()  or B<writev>(), which "
 "operate on file descriptors, with the functions from the stdio library; the "
@@ -10103,12 +12805,12 @@ msgstr ""
 "得られないだろう。"
 
 #. type: Plain text
 "得られないだろう。"
 
 #. type: Plain text
-#: build/C/man2/readv.2:266
+#: build/C/man2/readv.2:268
 msgid "The following code sample demonstrates the use of B<writev>():"
 msgstr "以下のサンプルコードは B<writev>()  の使用方法を示すものである。"
 
 #. type: Plain text
 msgid "The following code sample demonstrates the use of B<writev>():"
 msgstr "以下のサンプルコードは B<writev>()  の使用方法を示すものである。"
 
 #. type: Plain text
-#: build/C/man2/readv.2:273
+#: build/C/man2/readv.2:275
 #, no-wrap
 msgid ""
 "char *str0 = \"hello \";\n"
 #, no-wrap
 msgid ""
 "char *str0 = \"hello \";\n"
@@ -10122,7 +12824,7 @@ msgstr ""
 "ssize_t nwritten;\n"
 
 #. type: Plain text
 "ssize_t nwritten;\n"
 
 #. type: Plain text
-#: build/C/man2/readv.2:278
+#: build/C/man2/readv.2:280
 #, no-wrap
 msgid ""
 "iov[0].iov_base = str0;\n"
 #, no-wrap
 msgid ""
 "iov[0].iov_base = str0;\n"
@@ -10136,13 +12838,13 @@ msgstr ""
 "iov[1].iov_len = strlen(str1);\n"
 
 #. type: Plain text
 "iov[1].iov_len = strlen(str1);\n"
 
 #. type: Plain text
-#: build/C/man2/readv.2:280
+#: build/C/man2/readv.2:282
 #, no-wrap
 msgid "nwritten = writev(STDOUT_FILENO, iov, 2);\n"
 msgstr "nwritten = writev(STDOUT_FILENO, iov, 2);\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "nwritten = writev(STDOUT_FILENO, iov, 2);\n"
 msgstr "nwritten = writev(STDOUT_FILENO, iov, 2);\n"
 
 #. type: Plain text
-#: build/C/man2/readv.2:286
+#: build/C/man2/readv.2:288
 msgid "B<pread>(2), B<read>(2), B<write>(2)"
 msgstr "B<pread>(2), B<read>(2), B<write>(2)"
 
 msgid "B<pread>(2), B<read>(2), B<write>(2)"
 msgstr "B<pread>(2), B<read>(2), B<write>(2)"
 
@@ -10155,8 +12857,8 @@ msgstr "REMOVE"
 #. type: TH
 #: build/C/man3/remove.3:31
 #, no-wrap
 #. type: TH
 #: build/C/man3/remove.3:31
 #, no-wrap
-msgid "2008-12-03"
-msgstr "2008-12-03"
+msgid "2014-03-10"
+msgstr "2014-03-10"
 
 #. type: Plain text
 #: build/C/man3/remove.3:34
 
 #. type: Plain text
 #: build/C/man3/remove.3:34
@@ -10171,8 +12873,8 @@ msgstr "B<int remove(const char *>I<pathname>B<);>"
 #. type: Plain text
 #: build/C/man3/remove.3:46
 msgid ""
 #. type: Plain text
 #: build/C/man3/remove.3:46
 msgid ""
-"B<remove>()  deletes a name from the file system.  It calls B<unlink>(2)  "
-"for files, and B<rmdir>(2)  for directories."
+"B<remove>()  deletes a name from the filesystem.  It calls B<unlink>(2)  for "
+"files, and B<rmdir>(2)  for directories."
 msgstr ""
 "B<remove>()  はファイルシステムからファイル名を削除する。 ファイルに対しては "
 "B<unlink>(2)  を、ディレクトリに対しては B<rmdir>(2)  を呼び出す。"
 msgstr ""
 "B<remove>()  はファイルシステムからファイル名を削除する。 ファイルに対しては "
 "B<unlink>(2)  を、ディレクトリに対しては B<rmdir>(2)  を呼び出す。"
@@ -10200,7 +12902,7 @@ msgstr ""
 "でファイルは存在し続ける。"
 
 #. type: Plain text
 "でファイルは存在し続ける。"
 
 #. type: Plain text
-#: build/C/man3/remove.3:57
+#: build/C/man3/remove.3:57 build/C/man2/unlink.2:78
 msgid "If the name referred to a symbolic link, the link is removed."
 msgstr "名前が指しているのがシンボリックリンクなら、そのリンクを削除する。"
 
 msgid "If the name referred to a symbolic link, the link is removed."
 msgstr "名前が指しているのがシンボリックリンクなら、そのリンクを削除する。"
 
@@ -10219,12 +12921,17 @@ msgid "The errors that occur are those for B<unlink>(2)  and B<rmdir>(2)."
 msgstr "発生するエラーは B<unlink>(2)  および B<rmdir>(2)  と同じものである。"
 
 #. type: Plain text
 msgstr "発生するエラーは B<unlink>(2)  および B<rmdir>(2)  と同じものである。"
 
 #. type: Plain text
-#: build/C/man3/remove.3:72
+#: build/C/man3/remove.3:75
+msgid "The B<remove>()  function is thread-safe."
+msgstr "関数 B<remove>() はスレッドセーフである。"
+
+#. type: Plain text
+#: build/C/man3/remove.3:77
 msgid "C89, C99, 4.3BSD, POSIX.1-2001."
 msgstr "C89, C99, 4.3BSD, POSIX.1-2001."
 
 #. type: Plain text
 msgid "C89, C99, 4.3BSD, POSIX.1-2001."
 msgstr "C89, C99, 4.3BSD, POSIX.1-2001."
 
 #. type: Plain text
-#: build/C/man3/remove.3:78
+#: build/C/man3/remove.3:83
 msgid ""
 "Under libc4 and libc5, B<remove>()  was an alias for B<unlink>(2)  (and "
 "hence would not remove directories)."
 msgid ""
 "Under libc4 and libc5, B<remove>()  was an alias for B<unlink>(2)  (and "
 "hence would not remove directories)."
@@ -10233,7 +12940,7 @@ msgstr ""
 "(従ってディレクトリを削除できなかった)。"
 
 #. type: Plain text
 "(従ってディレクトリを削除できなかった)。"
 
 #. type: Plain text
-#: build/C/man3/remove.3:81 build/C/man2/unlink.2:148
+#: build/C/man3/remove.3:86 build/C/man2/unlink.2:284
 msgid ""
 "Infelicities in the protocol underlying NFS can cause the unexpected "
 "disappearance of files which are still being used."
 msgid ""
 "Infelicities in the protocol underlying NFS can cause the unexpected "
 "disappearance of files which are still being used."
@@ -10242,7 +12949,7 @@ msgstr ""
 "うことがありえる。"
 
 #. type: Plain text
 "うことがありえる。"
 
 #. type: Plain text
-#: build/C/man3/remove.3:92
+#: build/C/man3/remove.3:97
 msgid ""
 "B<rm>(1), B<unlink>(1), B<link>(2), B<mknod>(2), B<open>(2), B<rename>(2), "
 "B<rmdir>(2), B<unlink>(2), B<mkfifo>(3), B<symlink>(7)"
 msgid ""
 "B<rm>(1), B<unlink>(1), B<link>(2), B<mknod>(2), B<open>(2), B<rename>(2), "
 "B<rmdir>(2), B<unlink>(2), B<mkfifo>(3), B<symlink>(7)"
@@ -10251,29 +12958,59 @@ msgstr ""
 "B<rmdir>(2), B<unlink>(2), B<mkfifo>(3), B<symlink>(7)"
 
 #. type: TH
 "B<rmdir>(2), B<unlink>(2), B<mkfifo>(3), B<symlink>(7)"
 
 #. type: TH
-#: build/C/man2/rename.2:32
+#: build/C/man2/rename.2:33
 #, no-wrap
 msgid "RENAME"
 msgstr "RENAME"
 
 #, no-wrap
 msgid "RENAME"
 msgstr "RENAME"
 
-#. type: TH
-#: build/C/man2/rename.2:32
+#. type: Plain text
+#: build/C/man2/rename.2:36
+msgid "rename, renameat, renameat2 - change the name or location of a file"
+msgstr "rename, renameat, renameat2 - ファイルの名前や位置を変更する"
+
+#. type: Plain text
+#: build/C/man2/rename.2:41
+#, no-wrap
+msgid "B<int rename(const char *>I<oldpath>B<, const char *>I<newpath>B<);>\n"
+msgstr "B<int rename(const char *>I<oldpath>B<, const char *>I<newpath>B<);>\n"
+
+#. type: Plain text
+#: build/C/man2/rename.2:44
+#, no-wrap
+msgid ""
+"B<#include E<lt>fcntl.hE<gt>           >/* Definition of AT_* constants */\n"
+"B<#include E<lt>stdio.hE<gt>>\n"
+msgstr ""
+"B<#include E<lt>fcntl.hE<gt>           >/* AT_* 定数の定義 */\n"
+"B<#include E<lt>stdio.hE<gt>>\n"
+
+#. type: Plain text
+#: build/C/man2/rename.2:47
 #, no-wrap
 #, no-wrap
-msgid "2009-03-30"
-msgstr "2009-03-30"
+msgid ""
+"B<int renameat(int >I<olddirfd>B<, const char *>I<oldpath>B<,>\n"
+"B<             int >I<newdirfd>B<, const char *>I<newpath>B<);>\n"
+msgstr ""
+"B<int renameat(int >I<olddirfd>B<, const char *>I<oldpath>B<,>\n"
+"B<             int >I<newdirfd>B<, const char *>I<newpath>B<);>\n"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/rename.2:35
-msgid "rename - change the name or location of a file"
-msgstr "rename - ファイルの名前や位置を変更する"
+#: build/C/man2/rename.2:51
+#, no-wrap
+msgid ""
+"B<int renameat2(int >I<olddirfd>B<, const char *>I<oldpath>B<,>\n"
+"B<              int >I<newdirfd>B<, const char *>I<newpath>B<, unsigned int >I<flags>B<);>\n"
+msgstr ""
+"B<int renameat2(int >I<olddirfd>B<, const char *>I<oldpath>B<,>\n"
+"B<              int >I<newdirfd>B<, const char *>I<newpath>B<, unsigned int >I<flags>B<);>\n"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/rename.2:39
-msgid "B<int rename(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
-msgstr "B<int rename(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
+#: build/C/man2/rename.2:59
+msgid "B<renameat>():"
+msgstr "B<renameat>():"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/rename.2:48
+#: build/C/man2/rename.2:81
 msgid ""
 "B<rename>()  renames a file, moving it between directories if required.  Any "
 "other hard links to the file (as created using B<link>(2))  are unaffected.  "
 msgid ""
 "B<rename>()  renames a file, moving it between directories if required.  Any "
 "other hard links to the file (as created using B<link>(2))  are unaffected.  "
@@ -10285,9 +13022,9 @@ msgstr ""
 "リプタにも影響はない。"
 
 #. type: Plain text
 "リプタにも影響はない。"
 
 #. type: Plain text
-#: build/C/man2/rename.2:56
+#: build/C/man2/rename.2:89
 msgid ""
 msgid ""
-"If I<newpath> already exists it will be atomically replaced (subject to a "
+"If I<newpath> already exists, it will be atomically replaced (subject to a "
 "few conditions; see ERRORS below), so that there is no point at which "
 "another process attempting to access I<newpath> will find it missing."
 msgstr ""
 "few conditions; see ERRORS below), so that there is no point at which "
 "another process attempting to access I<newpath> will find it missing."
 msgstr ""
@@ -10297,7 +13034,7 @@ msgstr ""
 "とはない (訳註: 常にアクセス可能である)。"
 
 #. type: Plain text
 "とはない (訳註: 常にアクセス可能である)。"
 
 #. type: Plain text
-#: build/C/man2/rename.2:64
+#: build/C/man2/rename.2:97
 msgid ""
 "If I<oldpath> and I<newpath> are existing hard links referring to the same "
 "file, then B<rename>()  does nothing, and returns a success status."
 msgid ""
 "If I<oldpath> and I<newpath> are existing hard links referring to the same "
 "file, then B<rename>()  does nothing, and returns a success status."
@@ -10306,16 +13043,16 @@ msgstr ""
 "ている場合、 B<rename>()  は何も行わず、ステータスとして成功を返す。"
 
 #. type: Plain text
 "ている場合、 B<rename>()  は何も行わず、ステータスとして成功を返す。"
 
 #. type: Plain text
-#: build/C/man2/rename.2:72
+#: build/C/man2/rename.2:105
 msgid ""
 msgid ""
-"If I<newpath> exists but the operation fails for some reason B<rename>()  "
+"If I<newpath> exists but the operation fails for some reason, B<rename>()  "
 "guarantees to leave an instance of I<newpath> in place."
 msgstr ""
 "I<newpath> が存在し、何らかの理由で操作が失敗した場合、 B<rename>()  は "
 "I<newpath> の実体を元のまま残すことを保証する。"
 
 #. type: Plain text
 "guarantees to leave an instance of I<newpath> in place."
 msgstr ""
 "I<newpath> が存在し、何らかの理由で操作が失敗した場合、 B<rename>()  は "
 "I<newpath> の実体を元のまま残すことを保証する。"
 
 #. type: Plain text
-#: build/C/man2/rename.2:78
+#: build/C/man2/rename.2:111
 msgid ""
 "I<oldpath> can specify a directory.  In this case, I<newpath> must either "
 "not exist, or it must specify an empty directory."
 msgid ""
 "I<oldpath> can specify a directory.  In this case, I<newpath> must either "
 "not exist, or it must specify an empty directory."
@@ -10324,7 +13061,7 @@ msgstr ""
 "存在しないか、空のディレクトリでなければならない。"
 
 #. type: Plain text
 "存在しないか、空のディレクトリでなければならない。"
 
 #. type: Plain text
-#: build/C/man2/rename.2:85
+#: build/C/man2/rename.2:118
 msgid ""
 "However, when overwriting there will probably be a window in which both "
 "I<oldpath> and I<newpath> refer to the file being renamed."
 msgid ""
 "However, when overwriting there will probably be a window in which both "
 "I<oldpath> and I<newpath> refer to the file being renamed."
@@ -10333,17 +13070,110 @@ msgstr ""
 "I<newpath> の両方で参照できる瞬間がおそらく存在する。"
 
 #. type: Plain text
 "I<newpath> の両方で参照できる瞬間がおそらく存在する。"
 
 #. type: Plain text
-#: build/C/man2/rename.2:91
+#: build/C/man2/rename.2:124
 msgid ""
 msgid ""
-"If I<oldpath> refers to a symbolic link the link is renamed; if I<newpath> "
-"refers to a symbolic link the link will be overwritten."
+"If I<oldpath> refers to a symbolic link, the link is renamed; if I<newpath> "
+"refers to a symbolic link, the link will be overwritten."
 msgstr ""
 "I<oldpath> がシンボリックリンク (symbolic link) を参照している場合は、 リンク"
 "の名前が変更される。 また、 I<newpath> がシンボリックリンクを参照している場合"
 "は、リンクが上書きされる。"
 
 msgstr ""
 "I<oldpath> がシンボリックリンク (symbolic link) を参照している場合は、 リンク"
 "の名前が変更される。 また、 I<newpath> がシンボリックリンクを参照している場合"
 "は、リンクが上書きされる。"
 
+#. type: SS
+#: build/C/man2/rename.2:124
+#, no-wrap
+msgid "renameat ()"
+msgstr "renameat ()"
+
+#. type: Plain text
+#: build/C/man2/rename.2:130
+msgid ""
+"The B<renameat>()  system call operates in exactly the same way as "
+"B<rename>(), except for the differences described here."
+msgstr ""
+"B<renameat>() システムコールは B<rename>() と全く同様に動作するが、以下で説明"
+"する点が異なる。"
+
+#. type: Plain text
+#: build/C/man2/rename.2:140
+msgid ""
+"If the pathname given in I<oldpath> is relative, then it is interpreted "
+"relative to the directory referred to by the file descriptor I<olddirfd> "
+"(rather than relative to the current working directory of the calling "
+"process, as is done by B<rename>()  for a relative pathname)."
+msgstr ""
+"I<oldpath> で指定されたパス名が相対パスの場合、このパス名はファイルディスクリ"
+"プター I<olddirfd> が参照するディレクトリに対する相対パスと解釈される "
+"(B<rename>(2) に相対パス名を渡した場合のように、呼び出したプロセスのカレント"
+"ワーキングディレクトリに対する相対パスではない)。"
+
+#. type: Plain text
+#: build/C/man2/rename.2:152
+msgid ""
+"If I<oldpath> is relative and I<olddirfd> is the special value B<AT_FDCWD>, "
+"then I<oldpath> is interpreted relative to the current working directory of "
+"the calling process (like B<rename>())."
+msgstr ""
+"I<oldpath> で指定されたパス名が相対パスで、 I<olddirfd> が特別な値 "
+"B<AT_FDCWD> の場合、 (B<rename>(2) と同様に) I<oldpath> は呼び出したプロセス"
+"のカレントワーキングディレクトリに対する相対パスと解釈される。"
+
+#. type: Plain text
+#: build/C/man2/rename.2:171
+msgid "See B<openat>(2)  for an explanation of the need for B<renameat>()."
+msgstr "B<renameat>() の必要性についての説明については B<openat>(2) を参照。"
+
+#. type: SS
+#: build/C/man2/rename.2:171
+#, no-wrap
+msgid "renameat2()"
+msgstr "renameat2()"
+
+#. type: Plain text
+#: build/C/man2/rename.2:182
+msgid ""
+"B<renameat2>()  has an additional I<flags> argument.  A B<renameat2>()  call "
+"with a zero I<flags> argument is equivalent to B<renameat>()."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/rename.2:186
+#, fuzzy
+#| msgid "The character % is followed by zero or more of the following flags:"
+msgid ""
+"The I<flags> argument is a bit mask consisting of zero or more of the "
+"following flags:"
+msgstr "% 文字の後ろには 0 個以上のフラグ文字が続く。"
+
+#. type: TP
+#: build/C/man2/rename.2:186
+#, no-wrap
+msgid "B<RENAME_NOREPLACE>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/rename.2:194
+msgid ""
+"Don't overwrite I<newpath>.  of the rename.  Return an error if I<newpath> "
+"already exists."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/rename.2:194
+#, no-wrap
+msgid "B<RENAME_EXCHANGE>"
+msgstr "B<RENAME_EXCHANGE>"
+
+#. type: Plain text
+#: build/C/man2/rename.2:203
+msgid ""
+"Atomically exchange I<oldpath> and I<newpath>.  Both pathnames must exist "
+"but may be of different types (e.g., one could be a non-empty directory and "
+"the other a symbolic link)."
+msgstr ""
+
 #. type: Plain text
 #. type: Plain text
-#: build/C/man2/rename.2:116
+#: build/C/man2/rename.2:228
 msgid ""
 "Write permission is denied for the directory containing I<oldpath> or "
 "I<newpath>, or, search permission is denied for one of the directories in "
 msgid ""
 "Write permission is denied for the directory containing I<oldpath> or "
 "I<newpath>, or, search permission is denied for one of the directories in "
@@ -10357,13 +13187,13 @@ msgstr ""
 "な) 書き込み許可がない (B<path_resolution>(7)  も参照)。"
 
 #. type: TP
 "な) 書き込み許可がない (B<path_resolution>(7)  も参照)。"
 
 #. type: TP
-#: build/C/man2/rename.2:116 build/C/man2/rmdir.2:55 build/C/man2/unlink.2:71
+#: build/C/man2/rename.2:228 build/C/man2/rmdir.2:55 build/C/man2/unlink.2:169
 #, no-wrap
 msgid "B<EBUSY>"
 msgstr "B<EBUSY>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<EBUSY>"
 msgstr "B<EBUSY>"
 
 #. type: Plain text
-#: build/C/man2/rename.2:133
+#: build/C/man2/rename.2:245
 msgid ""
 "The rename fails because I<oldpath> or I<newpath> is a directory that is in "
 "use by some process (perhaps as current working directory, or as root "
 msgid ""
 "The rename fails because I<oldpath> or I<newpath> is a directory that is in "
 "use by some process (perhaps as current working directory, or as root "
@@ -10384,7 +13214,7 @@ msgstr ""
 "B<EBUSY> を返すことが許されている。)"
 
 #. type: Plain text
 "B<EBUSY> を返すことが許されている。)"
 
 #. type: Plain text
-#: build/C/man2/rename.2:140
+#: build/C/man2/rename.2:255
 msgid ""
 "The new pathname contained a path prefix of the old, or, more generally, an "
 "attempt was made to make a directory a subdirectory of itself."
 msgid ""
 "The new pathname contained a path prefix of the old, or, more generally, an "
 "attempt was made to make a directory a subdirectory of itself."
@@ -10393,14 +13223,14 @@ msgstr ""
 "ディレクトリに 変更しようとした場合がほとんどである。"
 
 #. type: Plain text
 "ディレクトリに 変更しようとした場合がほとんどである。"
 
 #. type: Plain text
-#: build/C/man2/rename.2:146
+#: build/C/man2/rename.2:261
 msgid "I<newpath> is an existing directory, but I<oldpath> is not a directory."
 msgstr ""
 "I<newpath> は存在しているディレクトリであるが、 I<oldpath> はディレクトリでな"
 "い。"
 
 #. type: Plain text
 msgid "I<newpath> is an existing directory, but I<oldpath> is not a directory."
 msgstr ""
 "I<newpath> は存在しているディレクトリであるが、 I<oldpath> はディレクトリでな"
 "い。"
 
 #. type: Plain text
-#: build/C/man2/rename.2:157
+#: build/C/man2/rename.2:272
 msgid ""
 "I<oldpath> already has the maximum number of links to it, or it was a "
 "directory and the directory containing I<newpath> has the maximum number of "
 msgid ""
 "I<oldpath> already has the maximum number of links to it, or it was a "
 "directory and the directory containing I<newpath> has the maximum number of "
@@ -10410,7 +13240,7 @@ msgstr ""
 "I<newpath> を含んでいるディレクトリが最大数までのリンクを持っている。"
 
 #. type: Plain text
 "I<newpath> を含んでいるディレクトリが最大数までのリンクを持っている。"
 
 #. type: Plain text
-#: build/C/man2/rename.2:173
+#: build/C/man2/rename.2:288
 msgid ""
 "The link named by I<oldpath> does not exist; or, a directory component in "
 "I<newpath> does not exist; or, I<oldpath> or I<newpath> is an empty string."
 msgid ""
 "The link named by I<oldpath> does not exist; or, a directory component in "
 "I<newpath> does not exist; or, I<oldpath> or I<newpath> is an empty string."
@@ -10419,7 +13249,7 @@ msgstr ""
 "クトリが存在しない。 または、 I<oldpath> か I<newpath> が空の文字列である。"
 
 #. type: Plain text
 "クトリが存在しない。 または、 I<oldpath> か I<newpath> が空の文字列である。"
 
 #. type: Plain text
-#: build/C/man2/rename.2:190
+#: build/C/man2/rename.2:305
 msgid ""
 "A component used as a directory in I<oldpath> or I<newpath> is not, in fact, "
 "a directory.  Or, I<oldpath> is a directory, and I<newpath> exists but is "
 msgid ""
 "A component used as a directory in I<oldpath> or I<newpath> is not, in fact, "
 "a directory.  Or, I<oldpath> is a directory, and I<newpath> exists but is "
@@ -10430,13 +13260,13 @@ msgstr ""
 "トリでない。"
 
 #. type: TP
 "トリでない。"
 
 #. type: TP
-#: build/C/man2/rename.2:190
+#: build/C/man2/rename.2:305
 #, no-wrap
 msgid "B<ENOTEMPTY> or B<EEXIST>"
 msgstr "B<ENOTEMPTY  または  EEXIST>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<ENOTEMPTY> or B<EEXIST>"
 msgstr "B<ENOTEMPTY  または  EEXIST>"
 
 #. type: Plain text
-#: build/C/man2/rename.2:194
+#: build/C/man2/rename.2:309
 msgid ""
 "I<newpath> is a nonempty directory, that is, contains entries other than \"."
 "\" and \"..\"."
 msgid ""
 "I<newpath> is a nonempty directory, that is, contains entries other than \"."
 "\" and \"..\"."
@@ -10445,13 +13275,13 @@ msgstr ""
 "でいる。"
 
 #. type: TP
 "でいる。"
 
 #. type: TP
-#: build/C/man2/rename.2:194 build/C/man2/unlink.2:126
+#: build/C/man2/rename.2:309 build/C/man2/unlink.2:224
 #, no-wrap
 msgid "B<EPERM> or B<EACCES>"
 msgstr "B<EPERM> または B<EACCES>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<EPERM> or B<EACCES>"
 msgstr "B<EPERM> または B<EACCES>"
 
 #. type: Plain text
-#: build/C/man2/rename.2:218
+#: build/C/man2/rename.2:333
 msgid ""
 "The directory containing I<oldpath> has the sticky bit (B<S_ISVTX>)  set and "
 "the process's effective user ID is neither the user ID of the file to be "
 msgid ""
 "The directory containing I<oldpath> has the sticky bit (B<S_ISVTX>)  set and "
 "the process's effective user ID is neither the user ID of the file to be "
@@ -10461,7 +13291,7 @@ msgid ""
 "sticky bit set and the process's effective user ID is neither the user ID of "
 "the file to be replaced nor that of the directory containing it, and the "
 "process is not privileged (Linux: does not have the B<CAP_FOWNER> "
 "sticky bit set and the process's effective user ID is neither the user ID of "
 "the file to be replaced nor that of the directory containing it, and the "
 "process is not privileged (Linux: does not have the B<CAP_FOWNER> "
-"capability); or the file system containing I<pathname> does not support "
+"capability); or the filesystem containing I<pathname> does not support "
 "renaming of the type requested."
 msgstr ""
 "I<oldpath> のあるディレクトリにスティッキービット (sticky bit)  "
 "renaming of the type requested."
 msgstr ""
 "I<oldpath> のあるディレクトリにスティッキービット (sticky bit)  "
@@ -10476,11 +13306,11 @@ msgstr ""
 "存在するファイルシステムが、要求された種類の名前の変更を サポートしていない。"
 
 #. type: Plain text
 "存在するファイルシステムが、要求された種類の名前の変更を サポートしていない。"
 
 #. type: Plain text
-#: build/C/man2/rename.2:229
+#: build/C/man2/rename.2:344
 msgid ""
 msgid ""
-"I<oldpath> and I<newpath> are not on the same mounted file system.  (Linux "
-"permits a file system to be mounted at multiple points, but B<rename>()  "
-"does not work across different mount points, even if the same file system is "
+"I<oldpath> and I<newpath> are not on the same mounted filesystem.  (Linux "
+"permits a filesystem to be mounted at multiple points, but B<rename>()  does "
+"not work across different mount points, even if the same filesystem is "
 "mounted on both.)"
 msgstr ""
 "I<oldpath> と I<newpath> が同じマウントされたファイルシステムに存在しない。 "
 "mounted on both.)"
 msgstr ""
 "I<oldpath> と I<newpath> が同じマウントされたファイルシステムに存在しない。 "
@@ -10489,14 +13319,75 @@ msgstr ""
 "別々のマウント位置を跨いでは動作しない。)"
 
 #. type: Plain text
 "別々のマウント位置を跨いでは動作しない。)"
 
 #. type: Plain text
-#: build/C/man2/rename.2:231
-msgid "4.3BSD, C89, C99, POSIX.1-2001."
-msgstr "4.3BSD, C89, C99, POSIX.1-2001."
+#: build/C/man2/rename.2:349
+msgid ""
+"The following additional errors can occur for B<renameat>()  and "
+"B<renameat2>():"
+msgstr "B<renameat>() と B<renameat2>() では以下のエラーも発生する。"
+
+#. type: Plain text
+#: build/C/man2/rename.2:368
+msgid "The following additional errors can occur for B<renameat2>():"
+msgstr "B<renameat2>() では以下のエラーも発生する。"
+
+#. type: Plain text
+#: build/C/man2/rename.2:376
+msgid "I<flags> contains B<RENAME_NOREPLACE> and I<newpath> already exists."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/rename.2:385
+msgid ""
+"An invalid flag was specified in I<flags>, or both B<RENAME_NOREPLACE> and "
+"B<RENAME_EXCHANGE> were specified."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/rename.2:389
+#, fuzzy
+#| msgid "The filesystem does not allow unlinking of files."
+msgid "The filesystem does not support one of the flags in I<flags>."
+msgstr "ファイルシステムがファイルに対する unlink 操作を許していない。"
+
+#. type: Plain text
+#: build/C/man2/rename.2:397
+msgid "I<flags> contains B<RENAME_EXCHANGE> and I<newpath> does not exist."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/rename.2:401
+msgid ""
+"B<renameat>()  was added to Linux in kernel 2.6.16; library support was "
+"added to glibc in version 2.4."
+msgstr ""
+"B<renameat>()  はカーネル 2.6.16 で Linux に追加された。 ライブラリによるサ"
+"ポートはバージョン 2.4 で glibc に追加された。"
+
+#.  FIXME glibc support is pending.
+#. type: Plain text
+#: build/C/man2/rename.2:405
+msgid "B<renameat2>()  was added to Linux in kernel 3.15."
+msgstr "B<renameat2>()  はカーネル 2.6.16 で Linux に追加された。"
+
+#. type: Plain text
+#: build/C/man2/rename.2:408
+msgid "B<rename>(): 4.3BSD, C89, C99, POSIX.1-2001, POSIX.1-2008."
+msgstr "B<rename>(): 4.3BSD, C89, C99, POSIX.1-2001, POSIX.1-2008."
+
+#. type: Plain text
+#: build/C/man2/rename.2:411
+msgid "B<renameat>(): POSIX.1-2008."
+msgstr "B<renameat>(): POSIX.1-2008."
+
+#. type: Plain text
+#: build/C/man2/rename.2:414
+msgid "B<renameat2()> is Linux-specific."
+msgstr "B<renameat2>()  は Linux 固有である。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/rename.2:242
+#: build/C/man2/rename.2:425
 msgid ""
 msgid ""
-"On NFS file systems, you can not assume that if the operation failed the "
+"On NFS filesystems, you can not assume that if the operation failed, the "
 "file was not renamed.  If the server does the rename operation and then "
 "crashes, the retransmitted RPC which will be processed when the server is up "
 "again causes a failure.  The application is expected to deal with this.  See "
 "file was not renamed.  If the server does the rename operation and then "
 "crashes, the retransmitted RPC which will be processed when the server is up "
 "again causes a failure.  The application is expected to deal with this.  See "
@@ -10509,13 +13400,13 @@ msgstr ""
 "待されている。 同様の問題について B<link>(2)  にも書かれている。"
 
 #. type: Plain text
 "待されている。 同様の問題について B<link>(2)  にも書かれている。"
 
 #. type: Plain text
-#: build/C/man2/rename.2:251
+#: build/C/man2/rename.2:433
 msgid ""
 msgid ""
-"B<mv>(1), B<chmod>(2), B<link>(2), B<renameat>(2), B<symlink>(2), B<unlink>"
-"(2), B<path_resolution>(7), B<symlink>(7)"
+"B<mv>(1), B<chmod>(2), B<link>(2), B<symlink>(2), B<unlink>(2), "
+"B<path_resolution>(7), B<symlink>(7)"
 msgstr ""
 msgstr ""
-"B<mv>(1), B<chmod>(2), B<link>(2), B<renameat>(2), B<symlink>(2), B<unlink>"
-"(2), B<path_resolution>(7), B<symlink>(7)"
+"B<mv>(1), B<chmod>(2), B<link>(2), B<symlink>(2), B<unlink>(2), "
+"B<path_resolution>(7), B<symlink>(7)"
 
 #. type: TH
 #: build/C/man2/rmdir.2:30
 
 #. type: TH
 #: build/C/man2/rmdir.2:30
@@ -10576,11 +13467,6 @@ msgid "I<pathname> has I<.> as last component."
 msgstr "I<pathname> の最後のディレクトリ部分が I<.> である。"
 
 #. type: Plain text
 msgstr "I<pathname> の最後のディレクトリ部分が I<.> である。"
 
 #. type: Plain text
-#: build/C/man2/rmdir.2:77
-msgid "Too many symbolic links were encountered in resolving I<pathname>."
-msgstr "I<pathname> を解決する際に遭遇したシンボリックリンクが多過ぎる。"
-
-#. type: Plain text
 #: build/C/man2/rmdir.2:85
 msgid ""
 "A directory component in I<pathname> does not exist or is a dangling "
 #: build/C/man2/rmdir.2:85
 msgid ""
 "A directory component in I<pathname> does not exist or is a dangling "
@@ -10631,7 +13517,7 @@ msgstr ""
 #. type: Plain text
 #: build/C/man2/rmdir.2:123
 msgid ""
 #. type: Plain text
 #: build/C/man2/rmdir.2:123
 msgid ""
-"The file system containing I<pathname> does not support the removal of "
+"The filesystem containing I<pathname> does not support the removal of "
 "directories."
 msgstr ""
 "I<pathname> を含んでいるファイルシステムがディレクトリの 削除をサポートしてい"
 "directories."
 msgstr ""
 "I<pathname> を含んでいるファイルシステムがディレクトリの 削除をサポートしてい"
@@ -10639,7 +13525,7 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/rmdir.2:127
 
 #. type: Plain text
 #: build/C/man2/rmdir.2:127
-msgid "I<pathname> refers to a directory on a read-only file system."
+msgid "I<pathname> refers to a directory on a read-only filesystem."
 msgstr ""
 "I<pathname> が読み込み専用のファイルシステム上のディレクトリを参照している。"
 
 msgstr ""
 "I<pathname> が読み込み専用のファイルシステム上のディレクトリを参照している。"
 
@@ -10662,19 +13548,19 @@ msgstr ""
 "B<unlink>(2), B<unlinkat>(2)"
 
 #. type: TH
 "B<unlink>(2), B<unlinkat>(2)"
 
 #. type: TH
-#: build/C/man3/scanf.3:50
+#: build/C/man3/scanf.3:52
 #, no-wrap
 msgid "SCANF"
 msgstr "SCANF"
 
 #. type: Plain text
 #, no-wrap
 msgid "SCANF"
 msgstr "SCANF"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:53
+#: build/C/man3/scanf.3:55
 msgid ""
 "scanf, fscanf, sscanf, vscanf, vsscanf, vfscanf - input format conversion"
 msgstr "scanf, fscanf, sscanf, vscanf, vsscanf, vfscanf - 書式付き入力変換"
 
 #. type: Plain text
 msgid ""
 "scanf, fscanf, sscanf, vscanf, vsscanf, vfscanf - input format conversion"
 msgstr "scanf, fscanf, sscanf, vscanf, vsscanf, vfscanf - 書式付き入力変換"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:60
+#: build/C/man3/scanf.3:62
 #, no-wrap
 msgid ""
 "B<int scanf(const char *>I<format>B<, ...);>\n"
 #, no-wrap
 msgid ""
 "B<int scanf(const char *>I<format>B<, ...);>\n"
@@ -10686,13 +13572,13 @@ msgstr ""
 "B<int sscanf(const char *>I<str>B<, const char *>I<format>B<, ...);>\n"
 
 #. type: Plain text
 "B<int sscanf(const char *>I<str>B<, const char *>I<format>B<, ...);>\n"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:62
+#: build/C/man3/scanf.3:64
 #, no-wrap
 msgid "B<#include E<lt>stdarg.hE<gt>>\n"
 msgstr "B<#include E<lt>stdarg.hE<gt>>\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<#include E<lt>stdarg.hE<gt>>\n"
 msgstr "B<#include E<lt>stdarg.hE<gt>>\n"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:66
+#: build/C/man3/scanf.3:68
 #, no-wrap
 msgid ""
 "B<int vscanf(const char *>I<format>B<, va_list >I<ap>B<);>\n"
 #, no-wrap
 msgid ""
 "B<int vscanf(const char *>I<format>B<, va_list >I<ap>B<);>\n"
@@ -10704,12 +13590,12 @@ msgstr ""
 "B<int vfscanf(FILE *>I<stream>B<, const char *>I<format>B<, va_list >I<ap>B<);>\n"
 
 #. type: Plain text
 "B<int vfscanf(FILE *>I<stream>B<, const char *>I<format>B<, va_list >I<ap>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:77
+#: build/C/man3/scanf.3:79
 msgid "B<vscanf>(), B<vsscanf>(), B<vfscanf>():"
 msgstr "B<vscanf>(), B<vsscanf>(), B<vfscanf>():"
 
 #. type: Plain text
 msgid "B<vscanf>(), B<vsscanf>(), B<vfscanf>():"
 msgstr "B<vscanf>(), B<vsscanf>(), B<vfscanf>():"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:80
+#: build/C/man3/scanf.3:82
 msgid ""
 "_XOPEN_SOURCE\\ E<gt>=\\ 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ "
 "200112L;"
 msgid ""
 "_XOPEN_SOURCE\\ E<gt>=\\ 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ "
 "200112L;"
@@ -10718,7 +13604,7 @@ msgstr ""
 "200112L;"
 
 #. type: Plain text
 "200112L;"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:102
+#: build/C/man3/scanf.3:104
 msgid ""
 "The B<scanf>()  family of functions scans input according to I<format> as "
 "described below.  This format may contain I<conversion specifications>; the "
 msgid ""
 "The B<scanf>()  family of functions scans input according to I<format> as "
 "described below.  This format may contain I<conversion specifications>; the "
@@ -10734,7 +13620,7 @@ msgstr ""
 "は、対応する変換指定が返す値に 適合していなければならない。"
 
 #. type: Plain text
 "は、対応する変換指定が返す値に 適合していなければならない。"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:113
+#: build/C/man3/scanf.3:115
 msgid ""
 "If the number of conversion specifications in I<format> exceeds the number "
 "of I<pointer> arguments, the results are undefined.  If the number of "
 msgid ""
 "If the number of conversion specifications in I<format> exceeds the number "
 "of I<pointer> arguments, the results are undefined.  If the number of "
@@ -10746,18 +13632,18 @@ msgstr ""
 "な I<pointer> 引き数の評価は行われるが、それ以外は行われず無視される。"
 
 #. type: Plain text
 "な I<pointer> 引き数の評価は行われるが、それ以外は行われず無視される。"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:125
+#: build/C/man3/scanf.3:127
 msgid ""
 "The B<scanf>()  function reads input from the standard input stream "
 "I<stdin>, B<fscanf>()  reads input from the stream pointer I<stream>, and "
 "B<sscanf>()  reads its input from the character string pointed to by I<str>."
 msgstr ""
 "B<scanf>()  関数は標準入力ストリーム I<stdin> からの入力を読み込む。 "
 msgid ""
 "The B<scanf>()  function reads input from the standard input stream "
 "I<stdin>, B<fscanf>()  reads input from the stream pointer I<stream>, and "
 "B<sscanf>()  reads its input from the character string pointed to by I<str>."
 msgstr ""
 "B<scanf>()  関数は標準入力ストリーム I<stdin> からの入力を読み込む。 "
-"B<fscanf>()  はストリームポインタ I<stream> からの入力を読み込む。 B<sscanf>"
-"()  は文字列ポインタ I<str> で示された文字列からの入力を読み込む。"
+"B<fscanf>()  はストリームポインタ I<stream> からの入力を読み込む。 "
+"B<sscanf>()  は文字列ポインタ I<str> で示された文字列からの入力を読み込む。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/scanf.3:143
+#: build/C/man3/scanf.3:145
 msgid ""
 "The B<vfscanf>()  function is analogous to B<vfprintf>(3)  and reads input "
 "from the stream pointer I<stream> using a variable argument list of pointers "
 msgid ""
 "The B<vfscanf>()  function is analogous to B<vfprintf>(3)  and reads input "
 "from the stream pointer I<stream> using a variable argument list of pointers "
@@ -10773,7 +13659,7 @@ msgstr ""
 "関係は B<vprintf>(3)  と B<vsprintf>(3)  関数の関係と同様である。"
 
 #. type: Plain text
 "関係は B<vprintf>(3)  と B<vsprintf>(3)  関数の関係と同様である。"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:157
+#: build/C/man3/scanf.3:159
 msgid ""
 "The I<format> string consists of a sequence of I<directives> which describe "
 "how to process the sequence of input characters.  If processing of a "
 msgid ""
 "The I<format> string consists of a sequence of I<directives> which describe "
 "how to process the sequence of input characters.  If processing of a "
@@ -10790,20 +13676,20 @@ msgstr ""
 "であったこと (下記参照) を意味する。"
 
 #. type: Plain text
 "であったこと (下記参照) を意味する。"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:159
+#: build/C/man3/scanf.3:161
 msgid "A directive is one of the following:"
 msgstr "命令は以下のいずれかである:"
 
 #. type: TP
 msgid "A directive is one of the following:"
 msgstr "命令は以下のいずれかである:"
 
 #. type: TP
-#: build/C/man3/scanf.3:159 build/C/man3/scanf.3:165 build/C/man3/scanf.3:169
-#: build/C/man3/scanf.3:188 build/C/man3/scanf.3:199 build/C/man3/scanf.3:217
-#: build/C/man3/scanf.3:229 build/C/man3/scanf.3:243
+#: build/C/man3/scanf.3:161 build/C/man3/scanf.3:167 build/C/man3/scanf.3:171
+#: build/C/man3/scanf.3:190 build/C/man3/scanf.3:201 build/C/man3/scanf.3:220
+#: build/C/man3/scanf.3:232 build/C/man3/scanf.3:246
 #, no-wrap
 msgid "\\(bu"
 msgstr "\\(bu"
 
 #. type: Plain text
 #, no-wrap
 msgid "\\(bu"
 msgstr "\\(bu"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:165
+#: build/C/man3/scanf.3:167
 msgid ""
 "A sequence of white-space characters (space, tab, newline, etc.; see "
 "B<isspace>(3)).  This directive matches any amount of white space, including "
 msgid ""
 "A sequence of white-space characters (space, tab, newline, etc.; see "
 "B<isspace>(3)).  This directive matches any amount of white space, including "
@@ -10814,7 +13700,7 @@ msgstr ""
 "致する)。"
 
 #. type: Plain text
 "致する)。"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:169
+#: build/C/man3/scanf.3:171
 msgid ""
 "An ordinary character (i.e., one other than white space or \\(aq%\\(aq).  "
 "This character must exactly match the next character of input."
 msgid ""
 "An ordinary character (i.e., one other than white space or \\(aq%\\(aq).  "
 "This character must exactly match the next character of input."
@@ -10823,7 +13709,7 @@ msgstr ""
 "の次の文字に正確に一致しなければならない。"
 
 #. type: Plain text
 "の次の文字に正確に一致しなければならない。"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:180
+#: build/C/man3/scanf.3:182
 msgid ""
 "A conversion specification, which commences with a \\(aq%\\(aq (percent) "
 "character.  A sequence of characters from the input is converted according "
 msgid ""
 "A conversion specification, which commences with a \\(aq%\\(aq (percent) "
 "character.  A sequence of characters from the input is converted according "
@@ -10838,7 +13724,7 @@ msgstr ""
 "る \\(emこれが I<「一致の失敗」 (matching failure)> である。"
 
 #. type: Plain text
 "る \\(emこれが I<「一致の失敗」 (matching failure)> である。"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:188
+#: build/C/man3/scanf.3:190
 msgid ""
 "Each I<conversion specification> in I<format> begins with either the "
 "character \\(aq%\\(aq or the character sequence \"B<%>I<n>B<$>\" (see below "
 msgid ""
 "Each I<conversion specification> in I<format> begins with either the "
 "character \\(aq%\\(aq or the character sequence \"B<%>I<n>B<$>\" (see below "
@@ -10848,7 +13734,7 @@ msgstr ""
 "%>I<n>B<$>\" (違いについては後述) で始まり、以下の要素が続く。"
 
 #. type: Plain text
 "%>I<n>B<$>\" (違いについては後述) で始まり、以下の要素が続く。"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:199
+#: build/C/man3/scanf.3:201
 msgid ""
 "An optional \\(aq*\\(aq assignment-suppression character: B<scanf>()  reads "
 "input as directed by the conversion specification, but discards the input.  "
 msgid ""
 "An optional \\(aq*\\(aq assignment-suppression character: B<scanf>()  reads "
 "input as directed by the conversion specification, but discards the input.  "
@@ -10860,29 +13746,27 @@ msgstr ""
 "く、 B<scanf>()  が返す代入が成功した数にこの指定は含まれない。"
 
 #. type: Plain text
 "く、 B<scanf>()  が返す代入が成功した数にこの指定は含まれない。"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:217
+#: build/C/man3/scanf.3:220
 msgid ""
 msgid ""
-"An optional \\(aqa\\(aq character.  This is used with string conversions, "
-"and relieves the caller of the need to allocate a corresponding buffer to "
-"hold the input: instead, B<scanf>()  allocates a buffer of sufficient size, "
-"and assigns the address of this buffer to the corresponding I<pointer> "
-"argument, which should be a pointer to a I<char *> variable (this variable "
-"does not need to be initialized before the call).  The caller should "
-"subsequently B<free>(3)  this buffer when it is no longer required.  This is "
-"a GNU extension; C99 employs the \\(aqa\\(aq character as a conversion "
-"specifier (and it can also be used as such in the GNU implementation)."
+"An optional \\(aqm\\(aq character.  This is used with string conversions (I<"
+"%s>, I<%c>, I<%[>), and relieves the caller of the need to allocate a "
+"corresponding buffer to hold the input: instead, B<scanf>()  allocates a "
+"buffer of sufficient size, and assigns the address of this buffer to the "
+"corresponding I<pointer> argument, which should be a pointer to a I<char\\ "
+"*> variable (this variable does not need to be initialized before the "
+"call).  The caller should subsequently B<free>(3)  this buffer when it is no "
+"longer required."
 msgstr ""
 msgstr ""
-"文字 \\(aqa\\(aq (省略可能)。これは文字列変換とともに使用され、これを使うと "
-"呼び出し元が入力を保持する対応するバッファを確保する必要がなくなる。 代わり"
-"に B<scanf>()  が必要な大きさのバッファを確保し、このバッファのアドレスを 対"
-"応する I<pointer> 引き数に代入する。 I<pointer> 引き数は I<char *> 型の変数へ"
-"のポインタでなければならない (変数自体は呼び出し前に初期化されている必要はな"
-"い)。 呼び出し元は、不要になった時点で、このバッファを B<free>(3)  すべきであ"
-"る。この機能は GNU による拡張である。 C99 は \\(aqa\\(aq 文字を変換指定として"
-"使用している (こちらも GNU の実装と同じように使用することができる)。"
+"文字 \\(aqm\\(aq (省略可能)。これは文字列変換 (I<%s>, I<%c>, I<%[>) とともに"
+"使用され、これを使うと 呼び出し元が入力を保持する対応するバッファを確保する必"
+"要がなくなる。 代わりに B<scanf>()  が必要な大きさのバッファを確保し、この"
+"バッファのアドレスを 対応する I<pointer> 引き数に代入する。 I<pointer> 引き数"
+"は I<char\\ *> 型の変数へのポインタでなければならない (変数自体は呼び出し前に"
+"初期化されている必要はない)。 呼び出し元は、不要になった時点で、このバッファ"
+"を B<free>(3) すべきである。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/scanf.3:229
+#: build/C/man3/scanf.3:232
 msgid ""
 "An optional decimal integer which specifies the I<maximum field width>.  "
 "Reading of characters stops either when this maximum is reached or when a "
 msgid ""
 "An optional decimal integer which specifies the I<maximum field width>.  "
 "Reading of characters stops either when this maximum is reached or when a "
@@ -10897,11 +13781,11 @@ msgstr ""
 "一致しない文字が見つかるか、のどちらかに なると、文字の読み込みを停止する。 "
 "ほとんどの変換では、先頭のホワイトスペース文字は捨てられ (例外については後述"
 "する)、 捨てられたこれらの文字は最大フィールド幅の計算には含まれない。 文字列"
 "一致しない文字が見つかるか、のどちらかに なると、文字の読み込みを停止する。 "
 "ほとんどの変換では、先頭のホワイトスペース文字は捨てられ (例外については後述"
 "する)、 捨てられたこれらの文字は最大フィールド幅の計算には含まれない。 文字列"
-"の入力変換では、入力の末尾を示す終端の NULL バイト (\\(aq\\e0\\(aq)  も格納さ"
-"ã\82\8cã\82\8bã\81\8cã\80\81æ\9c\80大ã\83\95ã\82£ã\83¼ã\83«ã\83\89å¹\85ã\81«ã\81¯ã\81\93ã\81®çµ\82端ã\83\90ã\82¤ã\83\88ã\81¯å\90«ã\81¾ã\82\8cã\81ªã\81\84ã\80\82"
+"の入力変換では、入力の末尾を示す終端のヌルバイト (\\(aq\\e0\\(aq)  も格納され"
+"るが、最大フィールド幅にはこの終端バイトは含まれない。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/scanf.3:243
+#: build/C/man3/scanf.3:246
 msgid ""
 "An optional I<type modifier character>.  For example, the B<l> type modifier "
 "is used with integer conversions such as B<%d> to specify that the "
 msgid ""
 "An optional I<type modifier character>.  For example, the B<l> type modifier "
 "is used with integer conversions such as B<%d> to specify that the "
@@ -10913,24 +13797,24 @@ msgstr ""
 "I<int> ではなく I<long int> を参照していることを指定できる。"
 
 #. type: Plain text
 "I<int> ではなく I<long int> を参照していることを指定できる。"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:248
+#: build/C/man3/scanf.3:251
 msgid ""
 "A I<conversion specifier> that specifies the type of input conversion to be "
 "performed."
 msgstr "I<「変換指定」> : 実行すべき入力変換の種類を指定する。"
 
 #. type: Plain text
 msgid ""
 "A I<conversion specifier> that specifies the type of input conversion to be "
 "performed."
 msgstr "I<「変換指定」> : 実行すべき入力変換の種類を指定する。"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:277
+#: build/C/man3/scanf.3:280
 msgid ""
 "The conversion specifications in I<format> are of two forms, either "
 "beginning with \\(aq%\\(aq or beginning with \"B<%>I<n>B<$>\".  The two "
 "forms should not be mixed in the same I<format> string, except that a string "
 "containing \"B<%>I<n>B<$>\" specifications can include B<%%> and B<%*>.  If "
 msgid ""
 "The conversion specifications in I<format> are of two forms, either "
 "beginning with \\(aq%\\(aq or beginning with \"B<%>I<n>B<$>\".  The two "
 "forms should not be mixed in the same I<format> string, except that a string "
 "containing \"B<%>I<n>B<$>\" specifications can include B<%%> and B<%*>.  If "
-"I<format> contains \\(aq%\\(aq specifications then these correspond in order "
-"with successive I<pointer> arguments.  In the \"B<%>I<n>B<$>\" form (which "
-"is specified in POSIX.1-2001, but not C99), I<n> is a decimal integer that "
-"specifies that the converted input should be placed in the location referred "
-"to by the I<n>-th I<pointer> argument following I<format>."
+"I<format> contains \\(aq%\\(aq specifications, then these correspond in "
+"order with successive I<pointer> arguments.  In the \"B<%>I<n>B<$>\" form "
+"(which is specified in POSIX.1-2001, but not C99), I<n> is a decimal integer "
+"that specifies that the converted input should be placed in the location "
+"referred to by the I<n>-th I<pointer> argument following I<format>."
 msgstr ""
 "I<format> 中の変換指定は、\\(aq%\\(aq で始まるか、 \"B<%>I<n>B<$>\" で始まる"
 "かの、いずれかの形式である。 これら 2つの形式を同じ I<format> 文字列に混ぜる"
 msgstr ""
 "I<format> 中の変換指定は、\\(aq%\\(aq で始まるか、 \"B<%>I<n>B<$>\" で始まる"
 "かの、いずれかの形式である。 これら 2つの形式を同じ I<format> 文字列に混ぜる"
@@ -10942,20 +13826,20 @@ msgstr ""
 "I<pointer> 引き数が参照する場所に格納することを指定する。"
 
 #. type: SS
 "I<pointer> 引き数が参照する場所に格納することを指定する。"
 
 #. type: SS
-#: build/C/man3/scanf.3:277
+#: build/C/man3/scanf.3:280
 #, no-wrap
 msgid "Conversions"
 msgstr "変換"
 
 #. type: Plain text
 #, no-wrap
 msgid "Conversions"
 msgstr "変換"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:281
+#: build/C/man3/scanf.3:284
 msgid ""
 "The following I<type modifier characters> can appear in a conversion "
 "specification:"
 msgstr "変換指定には、以下の I<「型修飾子」> を入れることができる。"
 
 #. type: Plain text
 msgid ""
 "The following I<type modifier characters> can appear in a conversion "
 "specification:"
 msgstr "変換指定には、以下の I<「型修飾子」> を入れることができる。"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:291
+#: build/C/man3/scanf.3:294
 msgid ""
 "Indicates that the conversion will be one of B<d>, B<i>, B<o>, B<u>, B<x>, "
 "B<X>, or B<n> and the next pointer is a pointer to a I<short int> or "
 msgid ""
 "Indicates that the conversion will be one of B<d>, B<i>, B<o>, B<u>, B<x>, "
 "B<X>, or B<n> and the next pointer is a pointer to a I<short int> or "
@@ -10966,7 +13850,7 @@ msgstr ""
 "あることを示す。"
 
 #. type: Plain text
 "あることを示す。"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:299
+#: build/C/man3/scanf.3:302
 msgid ""
 "As for B<h>, but the next pointer is a pointer to a I<signed char> or "
 "I<unsigned char>."
 msgid ""
 "As for B<h>, but the next pointer is a pointer to a I<signed char> or "
 "I<unsigned char>."
@@ -10975,7 +13859,7 @@ msgstr ""
 "タであることを示す。"
 
 #. type: Plain text
 "タであることを示す。"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:308
+#: build/C/man3/scanf.3:311
 msgid ""
 "As for B<h>, but the next pointer is a pointer to an I<intmax_t> or a "
 "I<uintmax_t>.  This modifier was introduced in C99."
 msgid ""
 "As for B<h>, but the next pointer is a pointer to an I<intmax_t> or a "
 "I<uintmax_t>.  This modifier was introduced in C99."
@@ -10985,15 +13869,16 @@ msgstr ""
 
 #.  This use of l was introduced in Amendment 1 to ISO C90.
 #. type: Plain text
 
 #.  This use of l was introduced in Amendment 1 to ISO C90.
 #. type: Plain text
-#: build/C/man3/scanf.3:335
+#: build/C/man3/scanf.3:338
 msgid ""
 "Indicates either that the conversion will be one of B<d>, B<i>, B<o>, B<u>, "
 "B<x>, B<X>, or B<n> and the next pointer is a pointer to a I<long int> or "
 "I<unsigned long int> (rather than I<int>), or that the conversion will be "
 "one of B<e>, B<f>, or B<g> and the next pointer is a pointer to I<double> "
 "(rather than I<float>).  Specifying two B<l> characters is equivalent to "
 msgid ""
 "Indicates either that the conversion will be one of B<d>, B<i>, B<o>, B<u>, "
 "B<x>, B<X>, or B<n> and the next pointer is a pointer to a I<long int> or "
 "I<unsigned long int> (rather than I<int>), or that the conversion will be "
 "one of B<e>, B<f>, or B<g> and the next pointer is a pointer to I<double> "
 "(rather than I<float>).  Specifying two B<l> characters is equivalent to "
-"B<L>.  If used with B<%c> or B<%s> the corresponding parameter is considered "
-"as a pointer to a wide character or wide-character string respectively."
+"B<L>.  If used with B<%c> or B<%s>, the corresponding parameter is "
+"considered as a pointer to a wide character or wide-character string "
+"respectively."
 msgstr ""
 "変換が B<d>, B<i>, B<o>, B<u>, B<x>, B<X>, B<n> か B<n> のいずれかであり次の"
 "ポインタが (I<int> ではなく)  I<long int> か I<unsigned long int> へのポイン"
 msgstr ""
 "変換が B<d>, B<i>, B<o>, B<u>, B<x>, B<X>, B<n> か B<n> のいずれかであり次の"
 "ポインタが (I<int> ではなく)  I<long int> か I<unsigned long int> へのポイン"
@@ -11010,7 +13895,7 @@ msgstr ""
 #.  type. Any program using this will not be portable to all
 #.  architectures).
 #. type: Plain text
 #.  type. Any program using this will not be portable to all
 #.  architectures).
 #. type: Plain text
-#: build/C/man3/scanf.3:351
+#: build/C/man3/scanf.3:354
 msgid ""
 "Indicates that the conversion will be either B<e>, B<f>, or B<g> and the "
 "next pointer is a pointer to I<long double> or the conversion will be B<d>, "
 msgid ""
 "Indicates that the conversion will be either B<e>, B<f>, or B<g> and the "
 "next pointer is a pointer to I<long double> or the conversion will be B<d>, "
@@ -11021,12 +13906,12 @@ msgstr ""
 "I<long long> へのポインタであることのいずれかであることを示す。"
 
 #. type: Plain text
 "I<long long> へのポインタであることのいずれかであることを示す。"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:356
+#: build/C/man3/scanf.3:359
 msgid "equivalent to B<L>.  This specifier does not exist in ANSI C."
 msgstr "B<L> と同一である。 この修飾子は ANSI C には存在しない。"
 
 #. type: Plain text
 msgid "equivalent to B<L>.  This specifier does not exist in ANSI C."
 msgstr "B<L> と同一である。 この修飾子は ANSI C には存在しない。"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:363
+#: build/C/man3/scanf.3:366
 msgid ""
 "As for B<h>, but the next pointer is a pointer to a I<ptrdiff_t>.  This "
 "modifier was introduced in C99."
 msgid ""
 "As for B<h>, but the next pointer is a pointer to a I<ptrdiff_t>.  This "
 "modifier was introduced in C99."
@@ -11035,7 +13920,7 @@ msgstr ""
 "この修飾子は C99 で導入された。"
 
 #. type: Plain text
 "この修飾子は C99 で導入された。"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:370
+#: build/C/man3/scanf.3:373
 msgid ""
 "As for B<h>, but the next pointer is a pointer to a I<size_t>.  This "
 "modifier was introduced in C99."
 msgid ""
 "As for B<h>, but the next pointer is a pointer to a I<size_t>.  This "
 "modifier was introduced in C99."
@@ -11044,12 +13929,12 @@ msgstr ""
 "修飾子は C99 で導入された。"
 
 #. type: Plain text
 "修飾子は C99 で導入された。"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:374
+#: build/C/man3/scanf.3:377
 msgid "The following I<conversion specifiers> are available:"
 msgstr "以下の I<「変換指定子」> が利用可能である。"
 
 #. type: Plain text
 msgid "The following I<conversion specifiers> are available:"
 msgstr "以下の I<「変換指定子」> が利用可能である。"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:383
+#: build/C/man3/scanf.3:386
 msgid ""
 "Matches a literal \\(aq%\\(aq.  That is, B<%\\&%> in the format string "
 "matches a single input \\(aq%\\(aq character.  No conversion is done (but "
 msgid ""
 "Matches a literal \\(aq%\\(aq.  That is, B<%\\&%> in the format string "
 "matches a single input \\(aq%\\(aq character.  No conversion is done (but "
@@ -11060,13 +13945,13 @@ msgstr ""
 "る)、 変数への代入は生じない。"
 
 #. type: TP
 "る)、 変数への代入は生じない。"
 
 #. type: TP
-#: build/C/man3/scanf.3:383
+#: build/C/man3/scanf.3:386
 #, no-wrap
 msgid "B<d>"
 msgstr "B<d>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<d>"
 msgstr "B<d>"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:388
+#: build/C/man3/scanf.3:391
 msgid ""
 "Matches an optionally signed decimal integer; the next pointer must be a "
 "pointer to I<int>."
 msgid ""
 "Matches an optionally signed decimal integer; the next pointer must be a "
 "pointer to I<int>."
@@ -11075,13 +13960,13 @@ msgstr ""
 "ばならない。"
 
 #. type: TP
 "ばならない。"
 
 #. type: TP
-#: build/C/man3/scanf.3:388
+#: build/C/man3/scanf.3:391
 #, no-wrap
 msgid "B<D>"
 msgstr "B<D>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<D>"
 msgstr "B<D>"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:397
+#: build/C/man3/scanf.3:400
 msgid ""
 "Equivalent to I<ld>; this exists only for backward compatibility.  (Note: "
 "thus only in libc4.  In libc5 and glibc the B<%D> is silently ignored, "
 msgid ""
 "Equivalent to I<ld>; this exists only for backward compatibility.  (Note: "
 "thus only in libc4.  In libc5 and glibc the B<%D> is silently ignored, "
@@ -11092,13 +13977,13 @@ msgstr ""
 "れ、古いプログラムにおいて謎に満ちた失敗の原因となる。)"
 
 #. type: TP
 "れ、古いプログラムにおいて謎に満ちた失敗の原因となる。)"
 
 #. type: TP
-#: build/C/man3/scanf.3:397
+#: build/C/man3/scanf.3:400
 #, no-wrap
 msgid "B<i>"
 msgstr "B<i>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<i>"
 msgstr "B<i>"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:409
+#: build/C/man3/scanf.3:412
 msgid ""
 "Matches an optionally signed integer; the next pointer must be a pointer to "
 "I<int>.  The integer is read in base 16 if it begins with I<0x> or I<0X>, in "
 msgid ""
 "Matches an optionally signed integer; the next pointer must be a pointer to "
 "I<int>.  The integer is read in base 16 if it begins with I<0x> or I<0X>, in "
@@ -11111,13 +13996,13 @@ msgstr ""
 "される文字は、これらの基数に対応しているものだけである。"
 
 #. type: TP
 "される文字は、これらの基数に対応しているものだけである。"
 
 #. type: TP
-#: build/C/man3/scanf.3:409
+#: build/C/man3/scanf.3:412
 #, no-wrap
 msgid "B<o>"
 msgstr "B<o>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<o>"
 msgstr "B<o>"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:413
+#: build/C/man3/scanf.3:416
 msgid ""
 "Matches an unsigned octal integer; the next pointer must be a pointer to "
 "I<unsigned int>."
 msgid ""
 "Matches an unsigned octal integer; the next pointer must be a pointer to "
 "I<unsigned int>."
@@ -11126,13 +14011,13 @@ msgstr ""
 "らない。"
 
 #. type: TP
 "らない。"
 
 #. type: TP
-#: build/C/man3/scanf.3:413
+#: build/C/man3/scanf.3:416
 #, no-wrap
 msgid "B<u>"
 msgstr "B<u>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<u>"
 msgstr "B<u>"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:418
+#: build/C/man3/scanf.3:421
 msgid ""
 "Matches an unsigned decimal integer; the next pointer must be a pointer to "
 "I<unsigned int>."
 msgid ""
 "Matches an unsigned decimal integer; the next pointer must be a pointer to "
 "I<unsigned int>."
@@ -11141,7 +14026,7 @@ msgstr ""
 "でなければならない。"
 
 #. type: Plain text
 "でなければならない。"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:423
+#: build/C/man3/scanf.3:426
 msgid ""
 "Matches an unsigned hexadecimal integer; the next pointer must be a pointer "
 "to I<unsigned int>."
 msgid ""
 "Matches an unsigned hexadecimal integer; the next pointer must be a pointer "
 "to I<unsigned int>."
@@ -11150,24 +14035,24 @@ msgstr ""
 "タでなければならない。"
 
 #. type: TP
 "タでなければならない。"
 
 #. type: TP
-#: build/C/man3/scanf.3:423
+#: build/C/man3/scanf.3:426
 #, no-wrap
 msgid "B<X>"
 msgstr "B<X>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<X>"
 msgstr "B<X>"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:427
+#: build/C/man3/scanf.3:430
 msgid "Equivalent to B<x>."
 msgstr "B<x> と同一である。"
 
 #. type: TP
 msgid "Equivalent to B<x>."
 msgstr "B<x> と同一である。"
 
 #. type: TP
-#: build/C/man3/scanf.3:427
+#: build/C/man3/scanf.3:430
 #, no-wrap
 msgid "B<f>"
 msgstr "B<f>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<f>"
 msgstr "B<f>"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:432
+#: build/C/man3/scanf.3:435
 msgid ""
 "Matches an optionally signed floating-point number; the next pointer must be "
 "a pointer to I<float>."
 msgid ""
 "Matches an optionally signed floating-point number; the next pointer must be "
 "a pointer to I<float>."
@@ -11176,35 +14061,35 @@ msgstr ""
 "ればならない。"
 
 #. type: TP
 "ればならない。"
 
 #. type: TP
-#: build/C/man3/scanf.3:432
+#: build/C/man3/scanf.3:435
 #, no-wrap
 msgid "B<e>"
 msgstr "B<e>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<e>"
 msgstr "B<e>"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:436 build/C/man3/scanf.3:440 build/C/man3/scanf.3:444
+#: build/C/man3/scanf.3:439 build/C/man3/scanf.3:443 build/C/man3/scanf.3:447
 msgid "Equivalent to B<f>."
 msgstr "B<f> と同一である。"
 
 #. type: TP
 msgid "Equivalent to B<f>."
 msgstr "B<f> と同一である。"
 
 #. type: TP
-#: build/C/man3/scanf.3:436
+#: build/C/man3/scanf.3:439
 #, no-wrap
 msgid "B<g>"
 msgstr "B<g>"
 
 #. type: TP
 #, no-wrap
 msgid "B<g>"
 msgstr "B<g>"
 
 #. type: TP
-#: build/C/man3/scanf.3:440
+#: build/C/man3/scanf.3:443
 #, no-wrap
 msgid "B<E>"
 msgstr "B<E>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<E>"
 msgstr "B<E>"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:448
+#: build/C/man3/scanf.3:451
 msgid "(C99) Equivalent to B<f>."
 msgstr "(C99)  B<f> と同一である。"
 
 #. type: Plain text
 msgid "(C99) Equivalent to B<f>."
 msgstr "(C99)  B<f> と同一である。"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:456
+#: build/C/man3/scanf.3:459
 msgid ""
 "Matches a sequence of non-white-space characters; the next pointer must be a "
 "pointer to character array that is long enough to hold the input sequence "
 msgid ""
 "Matches a sequence of non-white-space characters; the next pointer must be a "
 "pointer to character array that is long enough to hold the input sequence "
@@ -11214,12 +14099,12 @@ msgid ""
 msgstr ""
 "ホワイトスペースではない文字で構成された文字列に対応する。 次のポインタは文字"
 "の配列へのポインタでなければならず、 その文字配列は、入力された文字列と (自動"
 msgstr ""
 "ホワイトスペースではない文字で構成された文字列に対応する。 次のポインタは文字"
 "の配列へのポインタでなければならず、 その文字配列は、入力された文字列と (自動"
-"的に追加される) 終端の NULL バイト (\\(aq\\e0\\(aq) を格納するのに十分な大き"
-"ã\81\95ã\81§ã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81ªã\81\84ã\80\82 æ\96\87å­\97å\88\97ã\81®å\85¥å\8a\9bã\81¯ã\80\81ã\83\9bã\83¯ã\82¤ã\83\88ã\82¹ã\83\9aã\83¼ã\82¹ã\81\8cå\85¥å\8a\9bã\81\95ã\82\8cã\82\8bã\81\8bã\80\81æ\9c\80大"
+"的に追加される) 終端のヌルバイト (\\(aq\\e0\\(aq) を格納するのに十分な大きさ"
+"でなければならない。 文字列の入力は、ホワイトスペースが入力されるか、最大"
 "フィールド幅に 達するか、のどちらかが起こると停止される。"
 
 #. type: Plain text
 "フィールド幅に 達するか、のどちらかが起こると停止される。"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:467
+#: build/C/man3/scanf.3:469
 msgid ""
 "Matches a sequence of characters whose length is specified by the I<maximum "
 "field width> (default 1); the next pointer must be a pointer to I<char>, and "
 msgid ""
 "Matches a sequence of characters whose length is specified by the I<maximum "
 "field width> (default 1); the next pointer must be a pointer to I<char>, and "
@@ -11229,18 +14114,18 @@ msgid ""
 msgstr ""
 "I<「最大フィールド幅」> (デフォルトは 1) で指定された幅の文字の列に対応す"
 "る。 次のポインタは I<char> へのポインタで、すべての文字を格納するのに十分な"
 msgstr ""
 "I<「最大フィールド幅」> (デフォルトは 1) で指定された幅の文字の列に対応す"
 "る。 次のポインタは I<char> へのポインタで、すべての文字を格納するのに十分な"
-"領域が なければならない (終端の NULL バイトは追加されない)。 通常行われる先頭"
-"ã\81®ã\83\9bã\83¯ã\82¤ã\83\88ã\82¹ã\83\9aã\83¼ã\82¹ã\81®èª­ã\81¿é£\9bã\81°ã\81\97ã\81¯è¡\8cã\82\8fã\82\8cã\81ªã\81\84ã\80\82 å\85\88é ­ã\81®ã\83\9bã\83¯ã\82¤ã\83\88ã\82¹ã\83\9aã\83¼ã\82¹ã\82\92読ã\81¿é£\9bã\81°"
-"ã\81\99ã\81\9fã\82\81ã\81«ã\81¯ã\80\81 ã\83\95ã\82©ã\83¼ã\83\9eã\83\83ã\83\88æ\96\87ã\81®ä¸­ã\81§æ\98\8e示ç\9a\84ã\81«ã\82¹ã\83\9aã\83¼ã\82¹ã\82\92使ç\94¨ã\81\99ã\82\8cã\81°è\89¯ã\81\84ã\80\82"
+"領域が なければならない (終端のヌルバイトは追加されない)。 通常行われる先頭の"
+"ã\83\9bã\83¯ã\82¤ã\83\88ã\82¹ã\83\9aã\83¼ã\82¹ã\81®èª­ã\81¿é£\9bã\81°ã\81\97ã\81¯è¡\8cã\82\8fã\82\8cã\81ªã\81\84ã\80\82 å\85\88é ­ã\81®ã\83\9bã\83¯ã\82¤ã\83\88ã\82¹ã\83\9aã\83¼ã\82¹ã\82\92読ã\81¿é£\9bã\81°ã\81\99"
+"ためには、 フォーマット文の中で明示的にスペースを使用すれば良い。"
 
 #. type: TP
 
 #. type: TP
-#: build/C/man3/scanf.3:467
+#: build/C/man3/scanf.3:469
 #, no-wrap
 msgid "B<\\&[>"
 msgstr "B<\\&[>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<\\&[>"
 msgstr "B<\\&[>"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:500
+#: build/C/man3/scanf.3:502
 msgid ""
 "Matches a nonempty sequence of characters from the specified set of accepted "
 "characters; the next pointer must be a pointer to I<char>, and there must be "
 msgid ""
 "Matches a nonempty sequence of characters from the specified set of accepted "
 "characters; the next pointer must be a pointer to I<char>, and there must be "
@@ -11254,29 +14139,29 @@ msgid ""
 "or the circumflex; any other position will end the set.  The hyphen "
 "character B<-> is also special; when placed between two other characters, it "
 "adds all intervening characters to the set.  To include a hyphen, make it "
 "or the circumflex; any other position will end the set.  The hyphen "
 "character B<-> is also special; when placed between two other characters, it "
 "adds all intervening characters to the set.  To include a hyphen, make it "
-"the last character before the final close bracket.  For instance, B<[^]0-9-]"
-"> means the set \"everything except close bracket, zero through nine, and "
-"hyphen\".  The string ends with the appearance of a character not in the "
-"(or, with a circumflex, in) set or when the field width runs out."
+"the last character before the final close bracket.  For instance, "
+"B<[^]0-9-]> means the set \"everything except close bracket, zero through "
+"nine, and hyphen\".  The string ends with the appearance of a character not "
+"in the (or, with a circumflex, in) set or when the field width runs out."
 msgstr ""
 "格納された文字列のうちから取り出された、 指定された文字の集合で構成される空で"
 "はない文字の列に対応する。 次のポインタは I<char> へのポインタでなければなら"
 msgstr ""
 "格納された文字列のうちから取り出された、 指定された文字の集合で構成される空で"
 "はない文字の列に対応する。 次のポインタは I<char> へのポインタでなければなら"
-"ず、 そこには文字列中のすべての文字と終端の NULL バイト を格納するための十分"
-"な領域がなければならない。 通常行われる先頭のホワイトスペースの読み飛ばしは行"
-"ã\82\8fã\82\8cã\81ªã\81\84ã\80\82 ã\81\93ã\81®æ\96\87å­\97å\88\97ã\81¯ç\89¹å\88¥ã\81ªé\9b\86å\90\88ã\81®ä¸­ã\81®æ\96\87å­\97ã\81§æ§\8bæ\88\90ã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bã\80\82 ã\81\93ã\81®é\9b\86å\90\88ã\81¯ é\96\8bã\81\8d"
-"括弧 B<[> と閉じ括弧 B<]> の間の文字で定義される。 開き括弧のあとの最初の文字"
-"が曲アクセント記号 (B<^>)  の場合、集合はこれらの文字を含まないものとなる。 "
-"閉じ括弧を集合に含ませるためには、この文字を開き括弧または 曲アクセント記号の"
-"ã\81\82ã\81¨ã\81®æ\9c\80å\88\9dã\81®æ\96\87å­\97ã\81«ã\81\99ã\82\8cã\81°ã\82\88ã\81\84ã\80\82 ã\81¤ã\81¾ã\82\8aã\80\81ä»\96ã\81®ä½\8dç½®ã\81«é\96\89ã\81\98æ\8b¬å¼§ã\82\92ç½®ã\81\8fã\81¨æ\96\87å­\97ã\81®é\9b\86å\90\88ã\81\8c"
-"終る。 ハイフン B<-> もまた特殊文字である。 二つの異なる文字の間に置かれた"
-"時、この文字は、 その間にある全ての文字を集合に加える。 ハイフン自体を含ませ"
-"ã\82\8bã\81\9fã\82\81ã\81«ã\81¯ã\80\81 æ\8b¬å¼§ã\81\8cé\96\89ã\81\98ã\82\8bå\89\8dã\81®æ\9c\80å¾\8cã\81®ä¸\80æ\96\87å­\97ã\82\92ã\83\8fã\82¤ã\83\95ã\83³ã\81«ã\81\99ã\82\8cã\81°ã\82\88ã\81\84ã\80\82 ä¾\8bã\81\88ã\81°ã\80\81 B<"
-"[^]0-9-]> は「閉じ括弧、0 〜 9、ハイフンの 3 種類を除く全ての文字」の集合を意"
-"味する。 この文字列は 集合に含まれていない (曲アクセントの場合には含まれる) "
-"文字の 出現または確保された領域が使い切られた時に終了する。"
-
-#. type: Plain text
-#: build/C/man3/scanf.3:508
+"ず、 そこには文字列中のすべての文字と終端のヌルバイト を格納するための十分な"
+"領域がなければならない。 通常行われる先頭のホワイトスペースの読み飛ばしは行わ"
+"ã\82\8cã\81ªã\81\84ã\80\82 ã\81\93ã\81®æ\96\87å­\97å\88\97ã\81¯ç\89¹å\88¥ã\81ªé\9b\86å\90\88ã\81®ä¸­ã\81®æ\96\87å­\97ã\81§æ§\8bæ\88\90ã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bã\80\82 ã\81\93ã\81®é\9b\86å\90\88ã\81¯ é\96\8bã\81\8dæ\8b¬"
+"弧 B<[> と閉じ括弧 B<]> の間の文字で定義される。 開き括弧のあとの最初の文字が"
+"曲アクセント記号 (B<^>)  の場合、集合はこれらの文字を含まないものとなる。 閉"
+"じ括弧を集合に含ませるためには、この文字を開き括弧または 曲アクセント記号のあ"
+"ã\81¨ã\81®æ\9c\80å\88\9dã\81®æ\96\87å­\97ã\81«ã\81\99ã\82\8cã\81°ã\82\88ã\81\84ã\80\82 ã\81¤ã\81¾ã\82\8aã\80\81ä»\96ã\81®ä½\8dç½®ã\81«é\96\89ã\81\98æ\8b¬å¼§ã\82\92ç½®ã\81\8fã\81¨æ\96\87å­\97ã\81®é\9b\86å\90\88ã\81\8cçµ\82"
+"る。 ハイフン B<-> もまた特殊文字である。 二つの異なる文字の間に置かれた時、"
+"この文字は、 その間にある全ての文字を集合に加える。 ハイフン自体を含ませるた"
+"ã\82\81ã\81«ã\81¯ã\80\81 æ\8b¬å¼§ã\81\8cé\96\89ã\81\98ã\82\8bå\89\8dã\81®æ\9c\80å¾\8cã\81®ä¸\80æ\96\87å­\97ã\82\92ã\83\8fã\82¤ã\83\95ã\83³ã\81«ã\81\99ã\82\8cã\81°ã\82\88ã\81\84ã\80\82 ä¾\8bã\81\88ã\81°ã\80\81 "
+"B<[^]0-9-]> は「閉じ括弧、0 〜 9、ハイフンの 3 種類を除く全ての文字」の集合を"
+"意味する。 この文字列は 集合に含まれていない (曲アクセントの場合には含まれ"
+"る) 文字の 出現または確保された領域が使い切られた時に終了する。"
+
+#. type: Plain text
+#: build/C/man3/scanf.3:510
 msgid ""
 "Matches a pointer value (as printed by B<%p> in B<printf>(3); the next "
 "pointer must be a pointer to a pointer to I<void>."
 msgid ""
 "Matches a pointer value (as printed by B<%p> in B<printf>(3); the next "
 "pointer must be a pointer to a pointer to I<void>."
@@ -11285,7 +14170,7 @@ msgstr ""
 "タは I<void> へのポインタへのポインタでなければならない。"
 
 #. type: Plain text
 "タは I<void> へのポインタへのポインタでなければならない。"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:528
+#: build/C/man3/scanf.3:530
 msgid ""
 "Nothing is expected; instead, the number of characters consumed thus far "
 "from the input is stored through the next pointer, which must be a pointer "
 msgid ""
 "Nothing is expected; instead, the number of characters consumed thus far "
 "from the input is stored through the next pointer, which must be a pointer "
@@ -11305,7 +14190,7 @@ msgstr ""
 "が返り値に与える影響についてはどのような仮定もしないのが 賢明であろう。"
 
 #. type: Plain text
 "が返り値に与える影響についてはどのような仮定もしないのが 賢明であろう。"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:533
+#: build/C/man3/scanf.3:535
 msgid ""
 "These functions return the number of input items successfully matched and "
 "assigned, which can be fewer than provided for, or even zero in the event of "
 msgid ""
 "These functions return the number of input items successfully matched and "
 "assigned, which can be fewer than provided for, or even zero in the event of "
@@ -11316,7 +14201,7 @@ msgstr ""
 "ることもある。"
 
 #. type: Plain text
 "ることもある。"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:545
+#: build/C/man3/scanf.3:547
 msgid ""
 "The value B<EOF> is returned if the end of input is reached before either "
 "the first successful conversion or a matching failure occurs.  B<EOF> is "
 msgid ""
 "The value B<EOF> is returned if the end of input is reached before either "
 "the first successful conversion or a matching failure occurs.  B<EOF> is "
@@ -11330,7 +14215,7 @@ msgstr ""
 "(B<ferror>(3)  参照)、 I<errno> にエラーを示す値がセットされる。"
 
 #. type: Plain text
 "(B<ferror>(3)  参照)、 I<errno> にエラーを示す値がセットされる。"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:551
+#: build/C/man3/scanf.3:553
 msgid ""
 "The file descriptor underlying I<stream> is marked nonblocking, and the read "
 "operation would block."
 msgid ""
 "The file descriptor underlying I<stream> is marked nonblocking, and the read "
 "operation would block."
@@ -11339,7 +14224,7 @@ msgstr ""
 "込み操作は停止 (block) することになる。"
 
 #. type: Plain text
 "込み操作は停止 (block) することになる。"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:556
+#: build/C/man3/scanf.3:558
 msgid ""
 "The file descriptor underlying I<stream> is invalid, or not open for reading."
 msgstr ""
 msgid ""
 "The file descriptor underlying I<stream> is invalid, or not open for reading."
 msgstr ""
@@ -11347,40 +14232,40 @@ msgstr ""
 "ンされていない。"
 
 #. type: Plain text
 "ンされていない。"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:559
+#: build/C/man3/scanf.3:561
 msgid "Input byte sequence does not form a valid character."
 msgstr "入力されたバイト列が有効な文字を構成していない。"
 
 #. type: Plain text
 msgid "Input byte sequence does not form a valid character."
 msgstr "入力されたバイト列が有効な文字を構成していない。"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:563
+#: build/C/man3/scanf.3:565
 msgid "The read operation was interrupted by a signal; see B<signal>(7)."
 msgstr "読み込み操作がシグナルにより割り込まれた。 B<signal>(7)  参照。"
 
 #. type: Plain text
 msgid "The read operation was interrupted by a signal; see B<signal>(7)."
 msgstr "読み込み操作がシグナルにより割り込まれた。 B<signal>(7)  参照。"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:568
+#: build/C/man3/scanf.3:570
 msgid "Not enough arguments; or I<format> is NULL."
 msgstr "引き数が十分でない。または I<format> が NULL である。"
 
 #. type: Plain text
 msgid "Not enough arguments; or I<format> is NULL."
 msgstr "引き数が十分でない。または I<format> が NULL である。"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:571
+#: build/C/man3/scanf.3:573
 msgid "Out of memory."
 msgstr "メモリ不足。"
 
 #. type: TP
 msgid "Out of memory."
 msgstr "メモリ不足。"
 
 #. type: TP
-#: build/C/man3/scanf.3:571
+#: build/C/man3/scanf.3:573
 #, no-wrap
 msgid "B<ERANGE>"
 msgstr "B<ERANGE>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<ERANGE>"
 msgstr "B<ERANGE>"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:575
+#: build/C/man3/scanf.3:577
 msgid ""
 "The result of an integer conversion would exceed the size that can be stored "
 "in the corresponding integer type."
 msgstr "整数変換の結果が、対応する整数型に格納できるサイズを越えてしまう。"
 
 #. type: Plain text
 msgid ""
 "The result of an integer conversion would exceed the size that can be stored "
 "in the corresponding integer type."
 msgstr "整数変換の結果が、対応する整数型に格納できるサイズを越えてしまう。"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:585
+#: build/C/man3/scanf.3:587
 msgid ""
 "The functions B<fscanf>(), B<scanf>(), and B<sscanf>()  conform to C89 and "
 "C99 and POSIX.1-2001.  These standards do not specify the B<ERANGE> error."
 msgid ""
 "The functions B<fscanf>(), B<scanf>(), and B<sscanf>()  conform to C89 and "
 "C99 and POSIX.1-2001.  These standards do not specify the B<ERANGE> error."
@@ -11389,7 +14274,7 @@ msgstr ""
 "ている。 これらの標準では、エラー B<ERANGE> は規定されていない。"
 
 #. type: Plain text
 "ている。 これらの標準では、エラー B<ERANGE> は規定されていない。"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:595
+#: build/C/man3/scanf.3:597
 msgid ""
 "The B<q> specifier is the 4.4BSD notation for I<long long>, while B<ll> or "
 "the usage of B<L> in integer conversions is the GNU notation."
 msgid ""
 "The B<q> specifier is the 4.4BSD notation for I<long long>, while B<ll> or "
 "the usage of B<L> in integer conversions is the GNU notation."
@@ -11398,7 +14283,7 @@ msgstr ""
 "B<ll> または B<L> の使用は GNU での拡張である。"
 
 #. type: Plain text
 "B<ll> または B<L> の使用は GNU での拡張である。"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:606
+#: build/C/man3/scanf.3:608
 msgid ""
 "The Linux version of these functions is based on the I<GNU> I<libio> "
 "library.  Take a look at the I<info> documentation of I<GNU> I<libc "
 msgid ""
 "The Linux version of these functions is based on the I<GNU> I<libio> "
 "library.  Take a look at the I<info> documentation of I<GNU> I<libc "
@@ -11407,112 +14292,97 @@ msgstr ""
 "これらの関数の Linux 版は I<GNU> I<libio> ライブラリーを元にしている。 より簡"
 "潔な説明には I<GNU> I<libc (glibc-1.08)> の I<info> 文書に目を通すこと。"
 
 "これらの関数の Linux 版は I<GNU> I<libio> ライブラリーを元にしている。 より簡"
 "潔な説明には I<GNU> I<libc (glibc-1.08)> の I<info> 文書に目を通すこと。"
 
-#.  This feature seems to be present at least as far back as glibc 2.0.
+#. type: SS
+#: build/C/man3/scanf.3:609
+#, no-wrap
+msgid "The 'a' assignment-allocation modifier"
+msgstr "'a' 代入割り当て (assignment-allocation) 修飾子"
+
 #. type: Plain text
 #. type: Plain text
-#: build/C/man3/scanf.3:624
+#: build/C/man3/scanf.3:620
 msgid ""
 msgid ""
-"The GNU C library supports a nonstandard extension that causes the library "
-"to dynamically allocate a string of sufficient size for input strings for "
-"the B<%s> and B<%a[>I<range>B<]> conversion specifiers.  To make use of this "
-"feature, specify B<a> as a length modifier (thus B<%as> or B<%a[>I<range>B<]"
-">).  The caller must B<free>(3)  the returned string, as in the following "
-"example:"
+"Originally, the GNU C library supported dynamic allocation for string inputs "
+"(as a nonstandard extension) via the B<a> character.  (This feature is "
+"present at least as far back as glibc 2.0.)  Thus, one could write the "
+"following to have B<scanf>()  allocate a buffer for an input string, with a "
+"pointer to that buffer being returned in I<*buf>:"
 msgstr ""
 msgstr ""
-"GNU C ライブラリ (glibc) では非標準のオプションをサポートしており、 このオプ"
-"ションを使うと変換指定子 B<%s> や B<%a[>I<range>B<]> への入力文字列に対して十"
-"分な大きさの文字列をライブラリが動的に確保する ようになる。 この機能を使用す"
-"ã\82\8bã\81«ã\81¯ã\80\81é\95·ã\81\95修飾å­\90ã\81¨ã\81\97ã\81¦ B<a> ã\82\92æ\8c\87å®\9aã\81\99ã\82\8b (ã\81\97ã\81\9fã\81\8cã\81£ã\81¦ã\80\81å\85¨ä½\93ã\81¨ã\81\97ã\81¦ã\81¯ B<%as> ã\82\84 "
-"B<%a[>I<range>B<]> となる)。 以下の例にあるように、呼び出し側は返された文字列"
-"ã\82\92 B<free>(3)  ã\81\97ã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81ªã\81\84。"
+"元々、 GNU C ライブラリ (glibc) では、 B<a> 文字による文字列入力に対する動的"
+"割り当て変換指定子 (dynamic allocation conversion specifier) を (非標準の拡張"
+"として) サポートしている。この機能は少なくとも glibc 2.0 の時点ではすでに存在"
+"ã\81\97ã\81¦ã\81\84ã\82\8bã\80\82 ã\81\97ã\81\9fã\81\8cã\81£ã\81¦ã\80\81以ä¸\8bã\81®ã\82\88ã\81\86ã\81«ã\81\97ã\81¦ã\80\81 B<scanf>() ã\81«å\85¥å\8a\9bæ\96\87å­\97å\88\97ã\81«å¯¾ã\81\97ã\81¦ã\83\90ã\83\83"
+"ファを割り当てさせることができる。割り当てられたバッファは I<*buf> で返され"
+"ã\82\8b。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/scanf.3:629
+#: build/C/man3/scanf.3:623
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-"char *p;\n"
-"int n;\n"
+"    char *buf;\n"
+"    scanf(\"%as\", &buf);\n"
 msgstr ""
 msgstr ""
-"char *p;\n"
-"int n;\n"
+"    char *buf;\n"
+"    scanf(\"%as\", &buf);\n"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/scanf.3:640
-#, no-wrap
+#: build/C/man3/scanf.3:634
 msgid ""
 msgid ""
-"errno = 0;\n"
-"n = scanf(\"%a[a-z]\", &p);\n"
-"if (n == 1) {\n"
-"    printf(\"read: %s\\en\", p);\n"
-"    free(p);\n"
-"} else if (errno != 0) {\n"
-"    perror(\"scanf\");\n"
-"} else {\n"
-"    fprintf(stderr, \"No matching characters\\en\");\n"
-"}\n"
+"The use of the letter B<a> for this purpose was problematic, since B<a> is "
+"also specified by the ISO C standard as a synonym for B<f> (floating-point "
+"input).  POSIX.1-2008 instead specifies the B<m> modifier for assignment "
+"allocation (as documented in DESCRIPTION, above)."
 msgstr ""
 msgstr ""
-"errno = 0;\n"
-"n = scanf(\"%a[a-z]\", &p);\n"
-"if (n == 1) {\n"
-"    printf(\"read: %s\\en\", p);\n"
-"    free(p);\n"
-"} else if (errno != 0) {\n"
-"    perror(\"scanf\");\n"
-"} else {\n"
-"    fprintf(stderr, \"No matching characters\\en\");\n"
-"}\n"
+"この目的で文字 B<a> を使うのは問題をはらんでいる。 なぜなら、 B<a> は ISO C "
+"標準では (浮動小数点入力を表す) の B<f> の同義語として定義されているからであ"
+"る。 その代わり、 POSIX.1-2008 では、(上記の「説明」に書かれている通り) 代入"
+"割り当てを行う修飾子として B<m> が規定されている。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/scanf.3:648
+#: build/C/man3/scanf.3:646
 msgid ""
 msgid ""
-"As shown in the above example, it is only necessary to call B<free>(3)  if "
-"the B<scanf>()  call successfully read a string."
+"Note that the B<a> modifier is not available if the program is compiled with "
+"I<gcc -std=c99> or I<gcc -D_ISOC99_SOURCE> (unless B<_GNU_SOURCE> is also "
+"specified), in which case the B<a> is interpreted as a specifier for "
+"floating-point numbers (see above)."
 msgstr ""
 msgstr ""
-"上記の例にあるように、 B<scanf>()  が文字列の読み込みに成功した場合にだけ、 "
-"B<free>(3)  を呼び出す必要がある。"
+"B<a> 修飾子は I<gcc -std=c99> や I<gcc -D_ISOC99_SOURCE> でコンパイルしたプロ"
+"グラムでは (B<_GNU_SOURCE> も同時に指定していない場合) 利用できない点に注意。"
+"この場合、 B<a> は (上述の通り) 浮動小数点数を示す変換指定子と解釈される。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/scanf.3:660
+#: build/C/man3/scanf.3:652
 msgid ""
 msgid ""
-"The B<a> modifier is not available if the program is compiled with I<gcc -"
-"std=c99> or I<gcc -D_ISOC99_SOURCE> (unless B<_GNU_SOURCE> is also "
-"specified), in which case the B<a> is interpreted as a specifier for "
-"floating-point numbers (see above)."
+"Support for the B<m> modifier was added to glibc starting with version 2.7, "
+"and new programs should use that modifier instead of B<a>."
 msgstr ""
 msgstr ""
-"I<gcc -std=c99> や I<gcc -D_ISOC99_SOURCE> でコンパイルしたプログラムでは "
-"(B<_GNU_SOURCE> も同時に指定していない場合)、 B<a> 修飾子は利用できない。 上"
-"記の場合、 B<a> は (上述の通り) 浮動小数点数を示す変換指定子と解釈される。"
+"B<m> 修飾子への対応はバージョン 2.7 以降の glibc で追加されている。新しいプロ"
+"グラムでぇあ B<a> の代わりに B<m> を使用すべきである。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/scanf.3:669
+#: build/C/man3/scanf.3:658
 msgid ""
 msgid ""
-"Since version 2.7, glibc also provides the B<m> modifier for the same "
-"purpose as the B<a> modifier.  The B<m> modifier has the following "
-"advantages:"
+"As well as being standardized by POSIX, the B<m> modifier has the following "
+"further advantages over the use of B<a:>"
 msgstr ""
 msgstr ""
-"バージョン 2.7 以降では、glibc は B<a> 修飾子と同じ目的で B<m> 修飾子も提供し"
-"ã\81¦ã\81\84ã\82\8bã\80\82 B<m> ä¿®é£¾å­\90ã\81¯ä»¥ä¸\8bã\81®利点がある。"
+"POSIX で標準化されているだけでなく、 B<m> 修飾子には B<a> を利用する場合に比"
+"ã\81¹ã\81¦ä»¥ä¸\8bã\81®ã\82\88ã\81\86ã\81ª利点がある。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/scanf.3:674
+#: build/C/man3/scanf.3:663
 msgid "It may also be applied to B<%c> conversion specifiers (e.g., B<%3mc>)."
 msgstr "B<%c> 変換指定子にも適用できる (例えば B<%3mc>)。"
 
 #. type: Plain text
 msgid "It may also be applied to B<%c> conversion specifiers (e.g., B<%3mc>)."
 msgstr "B<%c> 変換指定子にも適用できる (例えば B<%3mc>)。"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:680
+#: build/C/man3/scanf.3:669
 msgid ""
 "It avoids ambiguity with respect to the B<%a> floating-point conversion "
 msgid ""
 "It avoids ambiguity with respect to the B<%a> floating-point conversion "
-"specifier (and is unaffected by I<gcc -std=c99> etc.)"
+"specifier (and is unaffected by I<gcc -std=c99> etc.)."
 msgstr ""
 "浮動小数点変換指定子としての B<%a> との紛らわしさが避けられる (また I<gcc -"
 "std=c99> などの影響も避けられる)。"
 
 #. type: Plain text
 #: build/C/man3/scanf.3:682
 msgstr ""
 "浮動小数点変換指定子としての B<%a> との紛らわしさが避けられる (また I<gcc -"
 "std=c99> などの影響も避けられる)。"
 
 #. type: Plain text
 #: build/C/man3/scanf.3:682
-msgid "It is specified in the upcoming revision of the POSIX.1 standard."
-msgstr "POSIX.1 標準の次の改訂版で規定される。"
-
-#. type: Plain text
-#: build/C/man3/scanf.3:695
 msgid ""
 "All functions are fully C89 conformant, but provide the additional "
 "specifiers B<q> and B<a> as well as an additional behavior of the B<L> and "
 msgid ""
 "All functions are fully C89 conformant, but provide the additional "
 "specifiers B<q> and B<a> as well as an additional behavior of the B<L> and "
@@ -11525,33 +14395,90 @@ msgstr ""
 "れない。"
 
 #. type: Plain text
 "れない。"
 
 #. type: Plain text
-#: build/C/man3/scanf.3:711
+#: build/C/man3/scanf.3:698
 msgid ""
 "Some combinations of the type modifiers and conversion specifiers defined by "
 msgid ""
 "Some combinations of the type modifiers and conversion specifiers defined by "
-"ANSI C do not make sense (e.g.  B<%Ld>).  While they may have a well-defined "
+"ANSI C do not make sense (e.g., B<%Ld>).  While they may have a well-defined "
 "behavior on Linux, this need not to be so on other architectures.  Therefore "
 "it usually is better to use modifiers that are not defined by ANSI C at all, "
 "that is, use B<q> instead of B<L> in combination with B<d>, B<i>, B<o>, "
 "B<u>, B<x>, and B<X> conversions or B<ll>."
 msgstr ""
 "behavior on Linux, this need not to be so on other architectures.  Therefore "
 "it usually is better to use modifiers that are not defined by ANSI C at all, "
 "that is, use B<q> instead of B<L> in combination with B<d>, B<i>, B<o>, "
 "B<u>, B<x>, and B<X> conversions or B<ll>."
 msgstr ""
-"ANSI C で定義された型修飾子と変換指定子の組み合わせの中には 意味をなさないも"
-"のがある (例えば、 B<%Ld>)。 これらが指定された場合、 Linux 上でははっきりと"
-"定義された振る舞いをするかもしれないが、 他のアーキテクチャでも同様になってい"
-"るとは限らない。 それゆえに、ほとんどの場合、 ANSI C で定義されていない修飾子"
-"を使用した方が良い。 すなわち、 B<d>, B<i>, B<o>, B<u>, B<x>, B<X> 変換や "
-"B<ll> と組み合わせる場合には、 B<L> の代わりに B<q> を使用した方が良い。"
+"ANSI C で定義された型修飾子と変換指定子の組み合わせの中には 意味を\n"
+"なさないものがある (例えば、 B<%Ld>)。 これらが指定された場合、 \n"
+"Linux 上でははっきりと定義された振る舞いをするかもしれないが、\n"
+"他のアーキテクチャでも同様になっているとは限らない。\n"
+"それゆえに、ほとんどの場合、 ANSI C で定義されていない修飾子を使用した\n"
+"方が良い。すなわち、 B<d>, B<i>, B<o>, B<u>, B<x>, B<X> 変換や B<ll>\n"
+"と組み合わせる場合には、 B<L> の代わりに B<q> を使用した方が良い。"
+
+#. type: Plain text
+#: build/C/man3/scanf.3:704
+msgid ""
+"The usage of B<q> is not the same as on 4.4BSD, as it may be used in float "
+"conversions equivalently to B<L>."
+msgstr ""
+"B<q> の使用方法は 4.4BSD と同じではない。 4.4BSD では B<q> は B<L> と同等に浮"
+"動小数の変換に使用される。"
+
+#. type: Plain text
+#: build/C/man3/scanf.3:714
+msgid ""
+"To use the dynamic allocation conversion specifier, specify B<m> as a length "
+"modifier (thus B<%ms> or B<%m[>I<range>B<]>).  The caller must B<free>(3)  "
+"the returned string, as in the following example:"
+msgstr ""
+"動的割り当て変換指定子を使用するには、長さ修飾子として B<m> を指定する (つま"
+"り、全体としては B<%ms> や B<%m[>I<range>B<]> となる)。以下の例にあるように、"
+"呼び出し側は返された文字列を B<free>(3) しなければならない。"
+
+#. type: Plain text
+#: build/C/man3/scanf.3:719
+#, no-wrap
+msgid ""
+"char *p;\n"
+"int n;\n"
+msgstr ""
+"char *p;\n"
+"int n;\n"
+
+#. type: Plain text
+#: build/C/man3/scanf.3:730
+#, no-wrap
+msgid ""
+"errno = 0;\n"
+"n = scanf(\"%m[a-z]\", &p);\n"
+"if (n == 1) {\n"
+"    printf(\"read: %s\\en\", p);\n"
+"    free(p);\n"
+"} else if (errno != 0) {\n"
+"    perror(\"scanf\");\n"
+"} else {\n"
+"    fprintf(stderr, \"No matching characters\\en\");\n"
+"}\n"
+msgstr ""
+"errno = 0;\n"
+"n = scanf(\"%m[a-z]\", &p);\n"
+"if (n == 1) {\n"
+"    printf(\"read: %s\\en\", p);\n"
+"    free(p);\n"
+"} else if (errno != 0) {\n"
+"    perror(\"scanf\");\n"
+"} else {\n"
+"    fprintf(stderr, \"No matching characters\\en\");\n"
+"}\n"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/scanf.3:717
+#: build/C/man3/scanf.3:738
 msgid ""
 msgid ""
-"The usage of B<q> is not the same as on 4.4BSD, as it may be used in float "
-"conversions equivalently to B<L>."
+"As shown in the above example, it is necessary to call B<free>(3)  only if "
+"the B<scanf>()  call successfully read a string."
 msgstr ""
 msgstr ""
-"B<q> の使用方法は 4.4BSD と同じではない。 4.4BSD では B<q> は B<L> と同等に浮"
-"動小数の変換に使用される。"
+"上記の例にあるように、 B<scanf>()  が文字列の読み込みに成功した場合にだけ、 "
+"B<free>(3)  を呼び出す必要がある。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/scanf.3:724
+#: build/C/man3/scanf.3:745
 msgid ""
 "B<getc>(3), B<printf>(3), B<setlocale>(3), B<strtod>(3), B<strtol>(3), "
 "B<strtoul>(3)"
 msgid ""
 "B<getc>(3), B<printf>(3), B<setlocale>(3), B<strtod>(3), B<strtol>(3), "
 "B<strtoul>(3)"
@@ -11560,54 +14487,54 @@ msgstr ""
 "B<strtoul>(3),"
 
 #. type: TH
 "B<strtoul>(3),"
 
 #. type: TH
-#: build/C/man3/setbuf.3:46
+#: build/C/man3/setbuf.3:48
 #, no-wrap
 msgid "SETBUF"
 msgstr "SETBUF"
 
 #. type: TH
 #, no-wrap
 msgid "SETBUF"
 msgstr "SETBUF"
 
 #. type: TH
-#: build/C/man3/setbuf.3:46
+#: build/C/man3/setbuf.3:48
 #, no-wrap
 #, no-wrap
-msgid "2008-06-26"
-msgstr "2008-06-26"
+msgid "2014-02-18"
+msgstr "2014-02-18"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/setbuf.3:49
+#: build/C/man3/setbuf.3:51
 msgid "setbuf, setbuffer, setlinebuf, setvbuf - stream buffering operations"
 msgstr ""
 "setbuf, setbuffer, setlinebuf, setvbuf - ストリームのバッファリングの操作"
 
 #. type: Plain text
 msgid "setbuf, setbuffer, setlinebuf, setvbuf - stream buffering operations"
 msgstr ""
 "setbuf, setbuffer, setlinebuf, setvbuf - ストリームのバッファリングの操作"
 
 #. type: Plain text
-#: build/C/man3/setbuf.3:54
+#: build/C/man3/setbuf.3:56
 #, no-wrap
 msgid "B<void setbuf(FILE *>I<stream>B<, char *>I<buf>B<);>\n"
 msgstr "B<void setbuf(FILE *>I<stream>B<, char *>I<buf>B<);>\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<void setbuf(FILE *>I<stream>B<, char *>I<buf>B<);>\n"
 msgstr "B<void setbuf(FILE *>I<stream>B<, char *>I<buf>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/setbuf.3:56
+#: build/C/man3/setbuf.3:58
 #, no-wrap
 msgid "B<void setbuffer(FILE *>I<stream>B<, char *>I<buf>B<, size_t >I<size>B<);>\n"
 msgstr "B<void setbuffer(FILE *>I<stream>B<, char *>I<buf>B<, size_t >I<size>B<);>\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<void setbuffer(FILE *>I<stream>B<, char *>I<buf>B<, size_t >I<size>B<);>\n"
 msgstr "B<void setbuffer(FILE *>I<stream>B<, char *>I<buf>B<, size_t >I<size>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/setbuf.3:58
+#: build/C/man3/setbuf.3:60
 #, no-wrap
 msgid "B<void setlinebuf(FILE *>I<stream>B<);>\n"
 msgstr "B<void setlinebuf(FILE *>I<stream>B<);>\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<void setlinebuf(FILE *>I<stream>B<);>\n"
 msgstr "B<void setlinebuf(FILE *>I<stream>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/setbuf.3:61
+#: build/C/man3/setbuf.3:63
 #, no-wrap
 msgid "B<int setvbuf(FILE *>I<stream>B<, char *>I<buf>B<, int >I<mode>B<, size_t >I<size>B<);>\n"
 msgstr "B<int setvbuf(FILE *>I<stream>B<, char *>I<buf>B<, int >I<mode>B<, size_t >I<size>B<);>\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<int setvbuf(FILE *>I<stream>B<, char *>I<buf>B<, int >I<mode>B<, size_t >I<size>B<);>\n"
 msgstr "B<int setvbuf(FILE *>I<stream>B<, char *>I<buf>B<, int >I<mode>B<, size_t >I<size>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/setbuf.3:71
+#: build/C/man3/setbuf.3:73
 msgid "B<setbuffer>(), B<setlinebuf>(): _BSD_SOURCE"
 msgstr "B<setbuffer>(), B<setlinebuf>(): _BSD_SOURCE"
 
 #. type: Plain text
 msgid "B<setbuffer>(), B<setlinebuf>(): _BSD_SOURCE"
 msgstr "B<setbuffer>(), B<setlinebuf>(): _BSD_SOURCE"
 
 #. type: Plain text
-#: build/C/man3/setbuf.3:94
+#: build/C/man3/setbuf.3:96
 msgid ""
 "The three types of buffering available are unbuffered, block buffered, and "
 "line buffered.  When an output stream is unbuffered, information appears on "
 msgid ""
 "The three types of buffering available are unbuffered, block buffered, and "
 "line buffered.  When an output stream is unbuffered, information appears on "
@@ -11618,7 +14545,7 @@ msgid ""
 "The function B<fflush>(3)  may be used to force the block out early.  (See "
 "B<fclose>(3).)  Normally all files are block buffered.  When the first I/O "
 "operation occurs on a file, B<malloc>(3)  is called, and a buffer is "
 "The function B<fflush>(3)  may be used to force the block out early.  (See "
 "B<fclose>(3).)  Normally all files are block buffered.  When the first I/O "
 "operation occurs on a file, B<malloc>(3)  is called, and a buffer is "
-"obtained.  If a stream refers to a terminal (as I<stdout> normally does) it "
+"obtained.  If a stream refers to a terminal (as I<stdout> normally does), it "
 "is line buffered.  The standard error stream I<stderr> is always unbuffered "
 "by default."
 msgstr ""
 "is line buffered.  The standard error stream I<stderr> is always unbuffered "
 "by default."
 msgstr ""
@@ -11636,7 +14563,7 @@ msgstr ""
 "unbuffered である。"
 
 #. type: Plain text
 "unbuffered である。"
 
 #. type: Plain text
-#: build/C/man3/setbuf.3:101
+#: build/C/man3/setbuf.3:103
 msgid ""
 "The B<setvbuf>()  function may be used on any open stream to change its "
 "buffer.  The I<mode> argument must be one of the following three macros:"
 msgid ""
 "The B<setvbuf>()  function may be used on any open stream to change its "
 "buffer.  The I<mode> argument must be one of the following three macros:"
@@ -11645,47 +14572,47 @@ msgstr ""
 "できる。 引き数 I<mode> は、次の 3 つのマクロのうちいずれかである:"
 
 #. type: TP
 "できる。 引き数 I<mode> は、次の 3 つのマクロのうちいずれかである:"
 
 #. type: TP
-#: build/C/man3/setbuf.3:102
+#: build/C/man3/setbuf.3:104
 #, no-wrap
 msgid "B<_IONBF>"
 msgstr "B<_IONBF>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<_IONBF>"
 msgstr "B<_IONBF>"
 
 #. type: Plain text
-#: build/C/man3/setbuf.3:105
+#: build/C/man3/setbuf.3:107
 msgid "unbuffered"
 msgstr "unbuffered"
 
 #. type: TP
 msgid "unbuffered"
 msgstr "unbuffered"
 
 #. type: TP
-#: build/C/man3/setbuf.3:105
+#: build/C/man3/setbuf.3:107
 #, no-wrap
 msgid "B<_IOLBF>"
 msgstr "B<_IOLBF>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<_IOLBF>"
 msgstr "B<_IOLBF>"
 
 #. type: Plain text
-#: build/C/man3/setbuf.3:108
+#: build/C/man3/setbuf.3:110
 msgid "line buffered"
 msgstr "line buffered"
 
 #. type: TP
 msgid "line buffered"
 msgstr "line buffered"
 
 #. type: TP
-#: build/C/man3/setbuf.3:108
+#: build/C/man3/setbuf.3:110
 #, no-wrap
 msgid "B<_IOFBF>"
 msgstr "B<_IOFBF>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<_IOFBF>"
 msgstr "B<_IOFBF>"
 
 #. type: Plain text
-#: build/C/man3/setbuf.3:111
+#: build/C/man3/setbuf.3:113
 msgid "fully buffered"
 msgstr "fully buffered"
 
 #. type: Plain text
 msgid "fully buffered"
 msgstr "fully buffered"
 
 #. type: Plain text
-#: build/C/man3/setbuf.3:127
+#: build/C/man3/setbuf.3:129
 msgid ""
 "Except for unbuffered files, the I<buf> argument should point to a buffer at "
 "least I<size> bytes long; this buffer will be used instead of the current "
 "buffer.  If the argument I<buf> is NULL, only the mode is affected; a new "
 msgid ""
 "Except for unbuffered files, the I<buf> argument should point to a buffer at "
 "least I<size> bytes long; this buffer will be used instead of the current "
 "buffer.  If the argument I<buf> is NULL, only the mode is affected; a new "
-"buffer will be allocated on the next read or write operation.  The B<setvbuf>"
-"()  function may only be used after opening a stream and before any other "
-"operations have been performed on it."
+"buffer will be allocated on the next read or write operation.  The "
+"B<setvbuf>()  function may be used only after opening a stream and before "
+"any other operations have been performed on it."
 msgstr ""
 "unbuffered のファイルを除き、 I<buf> 引数は I<size> バイト以上の大きさのバッ"
 "ファを指していなければならない。このバッファは現在の バッファの代わりに用いら"
 msgstr ""
 "unbuffered のファイルを除き、 I<buf> 引数は I<size> バイト以上の大きさのバッ"
 "ファを指していなければならない。このバッファは現在の バッファの代わりに用いら"
@@ -11694,21 +14621,21 @@ msgstr ""
 "オープンした後、 そのストリームに対して何らかの操作をする前にのみ使用できる。"
 
 #. type: Plain text
 "オープンした後、 そのストリームに対して何らかの操作をする前にのみ使用できる。"
 
 #. type: Plain text
-#: build/C/man3/setbuf.3:133
+#: build/C/man3/setbuf.3:135
 msgid ""
 msgid ""
-"The other three calls are, in effect, simply aliases for calls to B<setvbuf>"
-"().  The B<setbuf>()  function is exactly equivalent to the call"
+"The other three calls are, in effect, simply aliases for calls to "
+"B<setvbuf>().  The B<setbuf>()  function is exactly equivalent to the call"
 msgstr ""
 "他の 3 つの関数は B<setvbuf>()  の呼び出しに単純に置き換えることができる。 "
 "B<setbuf>()  関数は、"
 
 #. type: Plain text
 msgstr ""
 "他の 3 つの関数は B<setvbuf>()  の呼び出しに単純に置き換えることができる。 "
 "B<setbuf>()  関数は、"
 
 #. type: Plain text
-#: build/C/man3/setbuf.3:136
+#: build/C/man3/setbuf.3:138
 msgid "setvbuf(stream, buf, buf ? _IOFBF : _IONBF, BUFSIZ);"
 msgstr "setvbuf(stream, buf, buf ? _IOFBF : _IONBF, BUFSIZ);"
 
 #. type: Plain text
 msgid "setvbuf(stream, buf, buf ? _IOFBF : _IONBF, BUFSIZ);"
 msgstr "setvbuf(stream, buf, buf ? _IOFBF : _IONBF, BUFSIZ);"
 
 #. type: Plain text
-#: build/C/man3/setbuf.3:146
+#: build/C/man3/setbuf.3:148
 msgid ""
 "The B<setbuffer>()  function is the same, except that the size of the buffer "
 "is up to the caller, rather than being determined by the default B<BUFSIZ>.  "
 msgid ""
 "The B<setbuffer>()  function is the same, except that the size of the buffer "
 "is up to the caller, rather than being determined by the default B<BUFSIZ>.  "
@@ -11719,12 +14646,12 @@ msgstr ""
 "は以下と同じである。"
 
 #. type: Plain text
 "は以下と同じである。"
 
 #. type: Plain text
-#: build/C/man3/setbuf.3:149
-msgid "setvbuf(stream, (char *) NULL, _IOLBF, 0);"
-msgstr "setvbuf(stream, (char *) NULL, _IOLBF, 0);"
+#: build/C/man3/setbuf.3:151
+msgid "setvbuf(stream, NULL, _IOLBF, 0);"
+msgstr "setvbuf(stream, NULL, _IOLBF, 0);"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/setbuf.3:160
+#: build/C/man3/setbuf.3:162
 msgid ""
 "The function B<setvbuf>()  returns 0 on success.  It returns nonzero on "
 "failure (I<mode> is invalid or the request cannot be honored).  It may set "
 msgid ""
 "The function B<setvbuf>()  returns 0 on success.  It returns nonzero on "
 "failure (I<mode> is invalid or the request cannot be honored).  It may set "
@@ -11735,18 +14662,27 @@ msgstr ""
 "る)。 B<setvbuf>()  関数が失敗した場合は I<errno> を設定することもある。"
 
 #. type: Plain text
 "る)。 B<setvbuf>()  関数が失敗した場合は I<errno> を設定することもある。"
 
 #. type: Plain text
-#: build/C/man3/setbuf.3:162
+#: build/C/man3/setbuf.3:164
 msgid "The other functions do not return a value."
 msgstr "その他の関数は値を返さない。"
 
 #. type: Plain text
 msgid "The other functions do not return a value."
 msgstr "その他の関数は値を返さない。"
 
 #. type: Plain text
-#: build/C/man3/setbuf.3:168
+#: build/C/man3/setbuf.3:173
+msgid ""
+"The B<setbuf>(), B<setbuffer>(), B<setlinebuf>(), and B<setvbuf>()  "
+"functions are thread-safe."
+msgstr ""
+"関数 B<setbuf>(), B<setbuffer>(), B<setlinebuf>(), B<setvbuf>() はスレッド"
+"セーフである。"
+
+#. type: Plain text
+#: build/C/man3/setbuf.3:179
 msgid "The B<setbuf>()  and B<setvbuf>()  functions conform to C89 and C99."
 msgstr ""
 "B<setbuf>()  関数および B<setvbuf>()  関数は C89 と C99 に準拠している。"
 
 #. type: Plain text
 msgid "The B<setbuf>()  and B<setvbuf>()  functions conform to C89 and C99."
 msgstr ""
 "B<setbuf>()  関数および B<setvbuf>()  関数は C89 と C99 に準拠している。"
 
 #. type: Plain text
-#: build/C/man3/setbuf.3:178
+#: build/C/man3/setbuf.3:189
 msgid ""
 "The B<setbuffer>()  and B<setlinebuf>()  functions are not portable to "
 "versions of BSD before 4.2BSD, and are available under Linux since libc "
 msgid ""
 "The B<setbuffer>()  and B<setlinebuf>()  functions are not portable to "
 "versions of BSD before 4.2BSD, and are available under Linux since libc "
@@ -11759,7 +14695,7 @@ msgstr ""
 "ズを使用するので、これも使うべきでない。"
 
 #. type: Plain text
 "ズを使用するので、これも使うべきでない。"
 
 #. type: Plain text
-#: build/C/man3/setbuf.3:185
+#: build/C/man3/setbuf.3:196
 msgid ""
 "You must make sure that the space that I<buf> points to still exists by the "
 "time I<stream> is closed, which also happens at program termination.  For "
 msgid ""
 "You must make sure that the space that I<buf> points to still exists by the "
 "time I<stream> is closed, which also happens at program termination.  For "
@@ -11770,13 +14706,13 @@ msgstr ""
 "な使い方は許されない:"
 
 #. type: Plain text
 "な使い方は許されない:"
 
 #. type: Plain text
-#: build/C/man3/setbuf.3:188
+#: build/C/man3/setbuf.3:199
 #, no-wrap
 msgid "#include E<lt>stdio.hE<gt>\n"
 msgstr "#include E<lt>stdio.hE<gt>\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "#include E<lt>stdio.hE<gt>\n"
 msgstr "#include E<lt>stdio.hE<gt>\n"
 
 #. type: Plain text
-#: build/C/man3/setbuf.3:197
+#: build/C/man3/setbuf.3:208
 #, no-wrap
 msgid ""
 "int\n"
 #, no-wrap
 msgid ""
 "int\n"
@@ -11798,33 +14734,33 @@ msgstr ""
 "}\n"
 
 #. type: Plain text
 "}\n"
 
 #. type: Plain text
-#: build/C/man3/setbuf.3:206
+#: build/C/man3/setbuf.3:217
 msgid ""
 msgid ""
-"B<fclose>(3), B<fflush>(3), B<fopen>(3), B<fread>(3), B<malloc>(3), B<printf>"
-"(3), B<puts>(3)"
+"B<fclose>(3), B<fflush>(3), B<fopen>(3), B<fread>(3), B<malloc>(3), "
+"B<printf>(3), B<puts>(3)"
 msgstr ""
 msgstr ""
-"B<fclose>(3), B<fflush>(3), B<fopen>(3), B<fread>(3), B<malloc>(3), B<printf>"
-"(3), B<puts>(3)"
+"B<fclose>(3), B<fflush>(3), B<fopen>(3), B<fread>(3), B<malloc>(3), "
+"B<printf>(3), B<puts>(3)"
 
 #. type: TH
 
 #. type: TH
-#: build/C/man3/stdin.3:9
+#: build/C/man3/stdin.3:13
 #, no-wrap
 msgid "STDIN"
 msgstr "STDIN"
 
 #. type: TH
 #, no-wrap
 msgid "STDIN"
 msgstr "STDIN"
 
 #. type: TH
-#: build/C/man3/stdin.3:9 build/C/man3/tmpfile.3:29
+#: build/C/man3/stdin.3:13 build/C/man3/tmpfile.3:31
 #, no-wrap
 msgid "2008-07-14"
 msgstr "2008-07-14"
 
 #. type: Plain text
 #, no-wrap
 msgid "2008-07-14"
 msgstr "2008-07-14"
 
 #. type: Plain text
-#: build/C/man3/stdin.3:12
+#: build/C/man3/stdin.3:16
 msgid "stdin, stdout, stderr - standard I/O streams"
 msgstr "stdin, stdout, stderr - 標準入出力ストリーム"
 
 #. type: Plain text
 msgid "stdin, stdout, stderr - standard I/O streams"
 msgstr "stdin, stdout, stderr - 標準入出力ストリーム"
 
 #. type: Plain text
-#: build/C/man3/stdin.3:19
+#: build/C/man3/stdin.3:23
 #, no-wrap
 msgid ""
 "B<extern FILE *>I<stdin>B<;>\n"
 #, no-wrap
 msgid ""
 "B<extern FILE *>I<stdin>B<;>\n"
@@ -11836,7 +14772,7 @@ msgstr ""
 "B<extern FILE *>I<stderr>B<;>\n"
 
 #. type: Plain text
 "B<extern FILE *>I<stderr>B<;>\n"
 
 #. type: Plain text
-#: build/C/man3/stdin.3:31
+#: build/C/man3/stdin.3:35
 msgid ""
 "Under normal circumstances every UNIX program has three streams opened for "
 "it when it starts up, one for input, one for output, and one for printing "
 msgid ""
 "Under normal circumstances every UNIX program has three streams opened for "
 "it when it starts up, one for input, one for output, and one for printing "
@@ -11852,7 +14788,7 @@ msgstr ""
 "いることもある (B<sh>(1)  の「リダイレクション」セクションも参照のこと)。"
 
 #. type: Plain text
 "いることもある (B<sh>(1)  の「リダイレクション」セクションも参照のこと)。"
 
 #. type: Plain text
-#: build/C/man3/stdin.3:41
+#: build/C/man3/stdin.3:45
 msgid ""
 "The input stream is referred to as \"standard input\"; the output stream is "
 "referred to as \"standard output\"; and the error stream is referred to as "
 msgid ""
 "The input stream is referred to as \"standard input\"; the output stream is "
 "referred to as \"standard output\"; and the error stream is referred to as "
@@ -11865,7 +14801,7 @@ msgstr ""
 "I<stdout>, I<stderr> である。"
 
 #. type: Plain text
 "I<stdout>, I<stderr> である。"
 
 #. type: Plain text
-#: build/C/man3/stdin.3:50
+#: build/C/man3/stdin.3:54
 msgid ""
 "Each of these symbols is a B<stdio>(3)  macro of type pointer to I<FILE>, "
 "and can be used with functions like B<fprintf>(3)  or B<fread>(3)."
 msgid ""
 "Each of these symbols is a B<stdio>(3)  macro of type pointer to I<FILE>, "
 "and can be used with functions like B<fprintf>(3)  or B<fread>(3)."
@@ -11874,7 +14810,7 @@ msgstr ""
 "がって B<fprintf>(3)  や B<fread>(3)  などの関数とともに用いることができる。"
 
 #. type: Plain text
 "がって B<fprintf>(3)  や B<fread>(3)  などの関数とともに用いることができる。"
 
 #. type: Plain text
-#: build/C/man3/stdin.3:59
+#: build/C/man3/stdin.3:63
 msgid ""
 "Since I<FILE>s are a buffering wrapper around UNIX file descriptors, the "
 "same underlying files may also be accessed using the raw UNIX file "
 msgid ""
 "Since I<FILE>s are a buffering wrapper around UNIX file descriptors, the "
 "same underlying files may also be accessed using the raw UNIX file "
@@ -11886,13 +14822,13 @@ msgstr ""
 "る。"
 
 #. type: Plain text
 "る。"
 
 #. type: Plain text
-#: build/C/man3/stdin.3:78
+#: build/C/man3/stdin.3:82
 msgid ""
 "On program startup, the integer file descriptors associated with the streams "
 "I<stdin>, I<stdout>, and I<stderr> are 0, 1, and 2, respectively.  The "
 "preprocessor symbols B<STDIN_FILENO>, B<STDOUT_FILENO>, and B<STDERR_FILENO> "
 msgid ""
 "On program startup, the integer file descriptors associated with the streams "
 "I<stdin>, I<stdout>, and I<stderr> are 0, 1, and 2, respectively.  The "
 "preprocessor symbols B<STDIN_FILENO>, B<STDOUT_FILENO>, and B<STDERR_FILENO> "
-"are defined with these values in I<E<lt>unistd.hE<gt>>.  (Applying B<freopen>"
-"(3)  to one of these streams can change the file descriptor number "
+"are defined with these values in I<E<lt>unistd.hE<gt>>.  (Applying "
+"B<freopen>(3)  to one of these streams can change the file descriptor number "
 "associated with the stream.)"
 msgstr ""
 "プログラムの起動時には、 ストリーム I<stdin>, I<stdout>, I<stderr> に結びつけ"
 "associated with the stream.)"
 msgstr ""
 "プログラムの起動時には、 ストリーム I<stdin>, I<stdout>, I<stderr> に結びつけ"
@@ -11903,7 +14839,7 @@ msgstr ""
 "たファイルディスクリプタ の番号を変更することができる。)"
 
 #. type: Plain text
 "たファイルディスクリプタ の番号を変更することができる。)"
 
 #. type: Plain text
-#: build/C/man3/stdin.3:91
+#: build/C/man3/stdin.3:95
 msgid ""
 "Note that mixing use of I<FILE>s and raw file descriptors can produce "
 "unexpected results and should generally be avoided.  (For the masochistic "
 msgid ""
 "Note that mixing use of I<FILE>s and raw file descriptors can produce "
 "unexpected results and should generally be avoided.  (For the masochistic "
@@ -11922,7 +14858,7 @@ msgstr ""
 "すべて継承するが、親からのストリームはすべてアクセス不可となる。"
 
 #. type: Plain text
 "すべて継承するが、親からのストリームはすべてアクセス不可となる。"
 
 #. type: Plain text
-#: build/C/man3/stdin.3:109
+#: build/C/man3/stdin.3:113
 msgid ""
 "Since the symbols I<stdin>, I<stdout>, and I<stderr> are specified to be "
 "macros, assigning to them is nonportable.  The standard streams can be made "
 msgid ""
 "Since the symbols I<stdin>, I<stdout>, and I<stderr> are specified to be "
 "macros, assigning to them is nonportable.  The standard streams can be made "
@@ -11939,7 +14875,7 @@ msgstr ""
 "グラムの正常終了によってクローズされる。"
 
 #. type: Plain text
 "グラムの正常終了によってクローズされる。"
 
 #. type: Plain text
-#: build/C/man3/stdin.3:118
+#: build/C/man3/stdin.3:122
 msgid ""
 "The I<stdin>, I<stdout>, and I<stderr> macros conform to C89 and this "
 "standard also stipulates that these three streams shall be open at program "
 msgid ""
 "The I<stdin>, I<stdout>, and I<stderr> macros conform to C89 and this "
 "standard also stipulates that these three streams shall be open at program "
@@ -11950,13 +14886,13 @@ msgstr ""
 "とが規定されている。"
 
 #. type: Plain text
 "とが規定されている。"
 
 #. type: Plain text
-#: build/C/man3/stdin.3:150
+#: build/C/man3/stdin.3:154
 msgid ""
 "The stream I<stderr> is unbuffered.  The stream I<stdout> is line-buffered "
 msgid ""
 "The stream I<stderr> is unbuffered.  The stream I<stdout> is line-buffered "
-"when it points to a terminal.  Partial lines will not appear until B<fflush>"
-"(3)  or B<exit>(3)  is called, or a newline is printed.  This can produce "
-"unexpected results, especially with debugging output.  The buffering mode of "
-"the standard streams (or any other stream)  can be changed using the "
+"when it points to a terminal.  Partial lines will not appear until "
+"B<fflush>(3)  or B<exit>(3)  is called, or a newline is printed.  This can "
+"produce unexpected results, especially with debugging output.  The buffering "
+"mode of the standard streams (or any other stream)  can be changed using the "
 "B<setbuf>(3)  or B<setvbuf>(3)  call.  Note that in case I<stdin> is "
 "associated with a terminal, there may also be input buffering in the "
 "terminal driver, entirely unrelated to stdio buffering.  (Indeed, normally "
 "B<setbuf>(3)  or B<setvbuf>(3)  call.  Note that in case I<stdin> is "
 "associated with a terminal, there may also be input buffering in the "
 "terminal driver, entirely unrelated to stdio buffering.  (Indeed, normally "
@@ -11978,44 +14914,44 @@ msgstr ""
 "B<termios>(3)  も参照すること。"
 
 #. type: Plain text
 "B<termios>(3)  も参照すること。"
 
 #. type: Plain text
-#: build/C/man3/stdin.3:156
+#: build/C/man3/stdin.3:160
 msgid "B<csh>(1), B<sh>(1), B<open>(2), B<fopen>(3), B<stdio>(3)"
 msgstr "B<csh>(1), B<sh>(1), B<open>(2), B<fopen>(3), B<stdio>(3)"
 
 #. type: TH
 msgid "B<csh>(1), B<sh>(1), B<open>(2), B<fopen>(3), B<stdio>(3)"
 msgstr "B<csh>(1), B<sh>(1), B<open>(2), B<fopen>(3), B<stdio>(3)"
 
 #. type: TH
-#: build/C/man3/stdio.3:37
+#: build/C/man3/stdio.3:39
 #, no-wrap
 msgid "STDIO"
 msgstr "STDIO"
 
 #. type: TH
 #, no-wrap
 msgid "STDIO"
 msgstr "STDIO"
 
 #. type: TH
-#: build/C/man3/stdio.3:37
+#: build/C/man3/stdio.3:39
 #, no-wrap
 msgid "2001-12-26"
 msgstr "2001-12-26"
 
 #. type: Plain text
 #, no-wrap
 msgid "2001-12-26"
 msgstr "2001-12-26"
 
 #. type: Plain text
-#: build/C/man3/stdio.3:40
+#: build/C/man3/stdio.3:42
 msgid "stdio - standard input/output library functions"
 msgstr "stdio - 標準入出力ライブラリ関数"
 
 #. type: Plain text
 msgid "stdio - standard input/output library functions"
 msgstr "stdio - 標準入出力ライブラリ関数"
 
 #. type: Plain text
-#: build/C/man3/stdio.3:44
+#: build/C/man3/stdio.3:46
 msgid "B<FILE *>I<stdin>B<;>"
 msgstr "B<FILE *>I<stdin>B<;>"
 
 #. type: Plain text
 msgid "B<FILE *>I<stdin>B<;>"
 msgstr "B<FILE *>I<stdin>B<;>"
 
 #. type: Plain text
-#: build/C/man3/stdio.3:46
+#: build/C/man3/stdio.3:48
 msgid "B<FILE *>I<stdout>B<;>"
 msgstr "B<FILE *>I<stdout>B<;>"
 
 #. type: Plain text
 msgid "B<FILE *>I<stdout>B<;>"
 msgstr "B<FILE *>I<stdout>B<;>"
 
 #. type: Plain text
-#: build/C/man3/stdio.3:48
+#: build/C/man3/stdio.3:50
 msgid "B<FILE *>I<stderr>B<;>"
 msgstr "B<FILE *>I<stderr>B<;>"
 
 #. type: Plain text
 msgid "B<FILE *>I<stderr>B<;>"
 msgstr "B<FILE *>I<stderr>B<;>"
 
 #. type: Plain text
-#: build/C/man3/stdio.3:55
+#: build/C/man3/stdio.3:57
 msgid ""
 "The standard I/O library provides a simple and efficient buffered stream I/O "
 "interface.  Input and output is mapped into logical data streams and the "
 msgid ""
 "The standard I/O library provides a simple and efficient buffered stream I/O "
 "interface.  Input and output is mapped into logical data streams and the "
@@ -12028,13 +14964,13 @@ msgstr ""
 "以下に挙げる。 より詳しい情報は個々の man ページから得ることができる。"
 
 #. type: Plain text
 "以下に挙げる。 より詳しい情報は個々の man ページから得ることができる。"
 
 #. type: Plain text
-#: build/C/man3/stdio.3:78
+#: build/C/man3/stdio.3:80
 msgid ""
 "A stream is associated with an external file (which may be a physical "
 "device) by I<opening> a file, which may involve creating a new file.  "
 "Creating an existing file causes its former contents to be discarded.  If a "
 "file can support positioning requests (such as a disk file, as opposed to a "
 msgid ""
 "A stream is associated with an external file (which may be a physical "
 "device) by I<opening> a file, which may involve creating a new file.  "
 "Creating an existing file causes its former contents to be discarded.  If a "
 "file can support positioning requests (such as a disk file, as opposed to a "
-"terminal) then a I<file position indicator> associated with the stream is "
+"terminal), then a I<file position indicator> associated with the stream is "
 "positioned at the start of the file (byte zero), unless the file is opened "
 "with append mode.  If append mode is used, it is unspecified whether the "
 "position indicator will be placed at the start or the end of the file.  The "
 "positioned at the start of the file (byte zero), unless the file is opened "
 "with append mode.  If append mode is used, it is unspecified whether the "
 "position indicator will be placed at the start or the end of the file.  The "
@@ -12057,7 +14993,7 @@ msgstr ""
 "字を書き込んだかのように行われる。"
 
 #. type: Plain text
 "字を書き込んだかのように行われる。"
 
 #. type: Plain text
-#: build/C/man3/stdio.3:88
+#: build/C/man3/stdio.3:90
 msgid ""
 "A file is disassociated from a stream by I<closing> the file.  Output "
 "streams are flushed (any unwritten buffer contents are transferred to the "
 msgid ""
 "A file is disassociated from a stream by I<closing> the file.  Output "
 "streams are flushed (any unwritten buffer contents are transferred to the "
@@ -12072,7 +15008,7 @@ msgstr ""
 "確定になる (ゴミになってしまう)。"
 
 #. type: Plain text
 "確定になる (ゴミになってしまう)。"
 
 #. type: Plain text
-#: build/C/man3/stdio.3:101
+#: build/C/man3/stdio.3:103
 msgid ""
 "A file may be subsequently reopened, by the same or another program "
 "execution, and its contents reclaimed or modified (if it can be repositioned "
 msgid ""
 "A file may be subsequently reopened, by the same or another program "
 "execution, and its contents reclaimed or modified (if it can be repositioned "
@@ -12090,15 +15026,15 @@ msgstr ""
 "保証はない。"
 
 #. type: Plain text
 "保証はない。"
 
 #. type: Plain text
-#: build/C/man3/stdio.3:117
+#: build/C/man3/stdio.3:119
 msgid ""
 "At program startup, three text streams are predefined and need not be opened "
 "explicitly: I<standard input> (for reading conventional input), I<standard "
 msgid ""
 "At program startup, three text streams are predefined and need not be opened "
 "explicitly: I<standard input> (for reading conventional input), I<standard "
-"output> (for writing conventional input), and I<standard error> (for writing "
-"diagnostic output).  These streams are abbreviated I<stdin>,I<stdout> and "
-"I<stderr>.  When opened, the standard error stream is not fully buffered; "
-"the standard input and output streams are fully buffered if and only if the "
-"streams do not to refer to an interactive device."
+"output> (for writing conventional output), and I<standard error> (for "
+"writing diagnostic output).  These streams are abbreviated I<stdin>,"
+"I<stdout> and I<stderr>.  When opened, the standard error stream is not "
+"fully buffered; the standard input and output streams are fully buffered if "
+"and only if the streams do not refer to an interactive device."
 msgstr ""
 "プログラムの起動時に 3 個のテキストストリームが予め定義されており、 それらは"
 "明示的に開く必要がない。 I<標準入力 (standard input)> (通常の入力を読み取るの"
 msgstr ""
 "プログラムの起動時に 3 個のテキストストリームが予め定義されており、 それらは"
 "明示的に開く必要がない。 I<標準入力 (standard input)> (通常の入力を読み取るの"
@@ -12110,7 +15046,7 @@ msgstr ""
 "スを参照していなければ、 完全にバッファリングされている。"
 
 #. type: Plain text
 "スを参照していなければ、 完全にバッファリングされている。"
 
 #. type: Plain text
-#: build/C/man3/stdio.3:127
+#: build/C/man3/stdio.3:129
 msgid ""
 "Output streams that refer to terminal devices are always line buffered by "
 "default; pending output to such streams is written automatically whenever an "
 msgid ""
 "Output streams that refer to terminal devices are always line buffered by "
 "default; pending output to such streams is written automatically whenever an "
@@ -12127,7 +15063,7 @@ msgstr ""
 "必要がある。"
 
 #. type: Plain text
 "必要がある。"
 
 #. type: Plain text
-#: build/C/man3/stdio.3:141
+#: build/C/man3/stdio.3:143
 msgid ""
 "The I<stdio> library is a part of the library B<libc> and routines are "
 "automatically loaded as needed by the compilers B<cc>(1)  and B<pc>(1).  The "
 msgid ""
 "The I<stdio> library is a part of the library B<libc> and routines are "
 "automatically loaded as needed by the compilers B<cc>(1)  and B<pc>(1).  The "
@@ -12144,7 +15080,7 @@ msgstr ""
 #.  Not on Linux: .BR fropen ,
 #.  Not on Linux: .BR fwopen ,
 #. type: Plain text
 #.  Not on Linux: .BR fropen ,
 #.  Not on Linux: .BR fwopen ,
 #. type: Plain text
-#: build/C/man3/stdio.3:181
+#: build/C/man3/stdio.3:183
 msgid ""
 "The following are defined as macros; these names may not be reused without "
 "first removing their current definitions with B<#undef>: B<BUFSIZ>, B<EOF>, "
 msgid ""
 "The following are defined as macros; these names may not be reused without "
 "first removing their current definitions with B<#undef>: B<BUFSIZ>, B<EOF>, "
@@ -12166,360 +15102,360 @@ msgstr ""
 "示的に消去されている場合には、 これらを使用することになるだろう。"
 
 #. type: SS
 "示的に消去されている場合には、 これらを使用することになるだろう。"
 
 #. type: SS
-#: build/C/man3/stdio.3:181
+#: build/C/man3/stdio.3:183
 #, no-wrap
 #, no-wrap
-msgid "List of Functions"
+msgid "List of functions"
 msgstr "関数のリスト"
 
 #. type: tbl table
 msgstr "関数のリスト"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:186
+#: build/C/man3/stdio.3:188
 #, no-wrap
 msgid "Function\tDescription\n"
 msgstr "関数\t説明\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "Function\tDescription\n"
 msgstr "関数\t説明\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:187
+#: build/C/man3/stdio.3:189
 #, no-wrap
 msgid "_\n"
 msgstr "_\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "_\n"
 msgstr "_\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:188
+#: build/C/man3/stdio.3:190
 #, no-wrap
 msgid "clearerr\tcheck and reset stream status\n"
 msgstr "clearerr\tストリームの状態の確認とリセット\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "clearerr\tcheck and reset stream status\n"
 msgstr "clearerr\tストリームの状態の確認とリセット\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:189
+#: build/C/man3/stdio.3:191
 #, no-wrap
 msgid "fclose\tclose a stream\n"
 msgstr "fclose\tストリームをクローズする\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "fclose\tclose a stream\n"
 msgstr "fclose\tストリームをクローズする\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:190
+#: build/C/man3/stdio.3:192
 #, no-wrap
 msgid "fdopen\tstream open functions\n"
 msgstr "fdopen\tストリームをオープンする\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "fdopen\tstream open functions\n"
 msgstr "fdopen\tストリームをオープンする\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:191
+#: build/C/man3/stdio.3:193
 #, no-wrap
 msgid "feof\tcheck and reset stream status\n"
 msgstr "feof\tストリームの状態の確認とリセット\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "feof\tcheck and reset stream status\n"
 msgstr "feof\tストリームの状態の確認とリセット\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:192
+#: build/C/man3/stdio.3:194
 #, no-wrap
 msgid "ferror\tcheck and reset stream status\n"
 msgstr "ferror\tストリームの状態の確認とリセット\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "ferror\tcheck and reset stream status\n"
 msgstr "ferror\tストリームの状態の確認とリセット\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:193
+#: build/C/man3/stdio.3:195
 #, no-wrap
 msgid "fflush\tflush a stream\n"
 msgstr "fflush\tストリームをフラッシュする\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "fflush\tflush a stream\n"
 msgstr "fflush\tストリームをフラッシュする\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:194
+#: build/C/man3/stdio.3:196
 #, no-wrap
 msgid "fgetc\tget next character or word from input stream\n"
 msgstr "fgetc\t次の文字または語を入力ストリームから獲得する\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "fgetc\tget next character or word from input stream\n"
 msgstr "fgetc\t次の文字または語を入力ストリームから獲得する\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:195
+#: build/C/man3/stdio.3:197
 #, no-wrap
 msgid "fgetpos\treposition a stream\n"
 msgstr "fgetpos\tストリームの位置を取得する\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "fgetpos\treposition a stream\n"
 msgstr "fgetpos\tストリームの位置を取得する\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:196
+#: build/C/man3/stdio.3:198
 #, no-wrap
 msgid "fgets\tget a line from a stream\n"
 msgstr "fgets\tストリームから行を取得する\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "fgets\tget a line from a stream\n"
 msgstr "fgets\tストリームから行を取得する\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:197
+#: build/C/man3/stdio.3:199
 #, no-wrap
 msgid "fileno\treturn the integer descriptor of the argument stream\n"
 msgstr "fileno\t引き数であるストリームの整数値のディスクリプタを返す\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "fileno\treturn the integer descriptor of the argument stream\n"
 msgstr "fileno\t引き数であるストリームの整数値のディスクリプタを返す\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:198
+#: build/C/man3/stdio.3:200
 #, no-wrap
 msgid "fopen\tstream open functions\n"
 msgstr "fopen\tストリームをオープンする\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "fopen\tstream open functions\n"
 msgstr "fopen\tストリームをオープンする\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:199
+#: build/C/man3/stdio.3:201
 #, no-wrap
 msgid "fprintf\tformatted output conversion\n"
 msgstr "fprintf\t書式付き出力変換\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "fprintf\tformatted output conversion\n"
 msgstr "fprintf\t書式付き出力変換\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:200
+#: build/C/man3/stdio.3:202
 #, no-wrap
 msgid "fpurge\tflush a stream\n"
 msgstr "fpurge\tストリームをフラッシュする\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "fpurge\tflush a stream\n"
 msgstr "fpurge\tストリームをフラッシュする\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:201
+#: build/C/man3/stdio.3:203
 #, no-wrap
 msgid "fputc\toutput a character or word to a stream\n"
 msgstr "fputc\t文字または語をストリームに出力する\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "fputc\toutput a character or word to a stream\n"
 msgstr "fputc\t文字または語をストリームに出力する\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:202
+#: build/C/man3/stdio.3:204
 #, no-wrap
 msgid "fputs\toutput a line to a stream\n"
 msgstr "fputs\t行をストリームに出力する\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "fputs\toutput a line to a stream\n"
 msgstr "fputs\t行をストリームに出力する\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:203
+#: build/C/man3/stdio.3:205
 #, no-wrap
 msgid "fread\tbinary stream input/output\n"
 msgstr "fread\tバイナリーストリーム入出力\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "fread\tbinary stream input/output\n"
 msgstr "fread\tバイナリーストリーム入出力\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:204
+#: build/C/man3/stdio.3:206
 #, no-wrap
 msgid "freopen\tstream open functions\n"
 msgstr "freopen\tストリームをオープンする\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "freopen\tstream open functions\n"
 msgstr "freopen\tストリームをオープンする\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:205
+#: build/C/man3/stdio.3:207
 #, no-wrap
 msgid "fscanf\tinput format conversion\n"
 msgstr "fscanf\t書式付き入力変換\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "fscanf\tinput format conversion\n"
 msgstr "fscanf\t書式付き入力変換\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:206
+#: build/C/man3/stdio.3:208
 #, no-wrap
 msgid "fseek\treposition a stream\n"
 msgstr "fseek\tストリームの位置指示子を移動する\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "fseek\treposition a stream\n"
 msgstr "fseek\tストリームの位置指示子を移動する\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:207
+#: build/C/man3/stdio.3:209
 #, no-wrap
 msgid "fsetpos\treposition a stream\n"
 msgstr "fsetpos\tストリームの位置指示子を移動する\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "fsetpos\treposition a stream\n"
 msgstr "fsetpos\tストリームの位置指示子を移動する\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:208
+#: build/C/man3/stdio.3:210
 #, no-wrap
 msgid "ftell\treposition a stream\n"
 msgstr "ftell\tストリームの位置を取得する\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "ftell\treposition a stream\n"
 msgstr "ftell\tストリームの位置を取得する\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:209
+#: build/C/man3/stdio.3:211
 #, no-wrap
 msgid "fwrite\tbinary stream input/output\n"
 msgstr "fwrite\tバイナリーストリーム入出力\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "fwrite\tbinary stream input/output\n"
 msgstr "fwrite\tバイナリーストリーム入出力\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:210
+#: build/C/man3/stdio.3:212
 #, no-wrap
 msgid "getc\tget next character or word from input stream\n"
 msgstr "getc\t次の文字または語を入力ストリームから取得する\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "getc\tget next character or word from input stream\n"
 msgstr "getc\t次の文字または語を入力ストリームから取得する\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:211
+#: build/C/man3/stdio.3:213
 #, no-wrap
 msgid "getchar\tget next character or word from input stream\n"
 msgstr "getchar\t次の文字または語を入力ストリームから取得する\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "getchar\tget next character or word from input stream\n"
 msgstr "getchar\t次の文字または語を入力ストリームから取得する\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:212
+#: build/C/man3/stdio.3:214
 #, no-wrap
 msgid "gets\tget a line from a stream\n"
 msgstr "gets\t行を入力ストリームから取得する\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "gets\tget a line from a stream\n"
 msgstr "gets\t行を入力ストリームから取得する\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:213
+#: build/C/man3/stdio.3:215
 #, no-wrap
 msgid "getw\tget next character or word from input stream\n"
 msgstr "getw\t次の文字または語を入力ストリームから取得する\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "getw\tget next character or word from input stream\n"
 msgstr "getw\t次の文字または語を入力ストリームから取得する\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:214
+#: build/C/man3/stdio.3:216
 #, no-wrap
 msgid "mktemp\tmake temporary filename (unique)\n"
 msgstr "mktemp\t他と重ならないテンポラリファイル名を作る\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "mktemp\tmake temporary filename (unique)\n"
 msgstr "mktemp\t他と重ならないテンポラリファイル名を作る\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:215
+#: build/C/man3/stdio.3:217
 #, no-wrap
 msgid "perror\tsystem error messages\n"
 msgstr "perror\tシステムエラーメッセージ\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "perror\tsystem error messages\n"
 msgstr "perror\tシステムエラーメッセージ\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:216
+#: build/C/man3/stdio.3:218
 #, no-wrap
 msgid "printf\tformatted output conversion\n"
 msgstr "printf\t書式付き出力変換\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "printf\tformatted output conversion\n"
 msgstr "printf\t書式付き出力変換\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:217
+#: build/C/man3/stdio.3:219
 #, no-wrap
 msgid "putc\toutput a character or word to a stream\n"
 msgstr "putc\t文字または語をストリームに出力する\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "putc\toutput a character or word to a stream\n"
 msgstr "putc\t文字または語をストリームに出力する\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:218
+#: build/C/man3/stdio.3:220
 #, no-wrap
 msgid "putchar\toutput a character or word to a stream\n"
 msgstr "putchar\t文字または語をストリームに出力する\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "putchar\toutput a character or word to a stream\n"
 msgstr "putchar\t文字または語をストリームに出力する\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:219
+#: build/C/man3/stdio.3:221
 #, no-wrap
 msgid "puts\toutput a line to a stream\n"
 msgstr "puts\t行をストリームに出力する\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "puts\toutput a line to a stream\n"
 msgstr "puts\t行をストリームに出力する\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:220
+#: build/C/man3/stdio.3:222
 #, no-wrap
 msgid "putw\toutput a character or word to a stream\n"
 msgstr "putw\t文字または語をストリームに出力する\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "putw\toutput a character or word to a stream\n"
 msgstr "putw\t文字または語をストリームに出力する\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:221
+#: build/C/man3/stdio.3:223
 #, no-wrap
 msgid "remove\tremove directory entry\n"
 msgstr "remove\tディレクトリエントリを削除する\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "remove\tremove directory entry\n"
 msgstr "remove\tディレクトリエントリを削除する\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:222
+#: build/C/man3/stdio.3:224
 #, no-wrap
 msgid "rewind\treposition a stream\n"
 msgstr "rewind\tストリームの位置指示子を移動する\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "rewind\treposition a stream\n"
 msgstr "rewind\tストリームの位置指示子を移動する\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:223
+#: build/C/man3/stdio.3:225
 #, no-wrap
 msgid "scanf\tinput format conversion\n"
 msgstr "scanf\t書式付き入力変換\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "scanf\tinput format conversion\n"
 msgstr "scanf\t書式付き入力変換\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:224
+#: build/C/man3/stdio.3:226
 #, no-wrap
 msgid "setbuf\tstream buffering operations\n"
 msgstr "setbuf\tストリームのバッファリングの操作\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "setbuf\tstream buffering operations\n"
 msgstr "setbuf\tストリームのバッファリングの操作\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:225
+#: build/C/man3/stdio.3:227
 #, no-wrap
 msgid "setbuffer\tstream buffering operations\n"
 msgstr "setbuffer\tストリームのバッファリングの操作\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "setbuffer\tstream buffering operations\n"
 msgstr "setbuffer\tストリームのバッファリングの操作\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:226
+#: build/C/man3/stdio.3:228
 #, no-wrap
 msgid "setlinebuf\tstream buffering operations\n"
 msgstr "setlinebuf\tストリームのバッファリングの操作\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "setlinebuf\tstream buffering operations\n"
 msgstr "setlinebuf\tストリームのバッファリングの操作\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:227
+#: build/C/man3/stdio.3:229
 #, no-wrap
 msgid "setvbuf\tstream buffering operations\n"
 msgstr "setvbuf\tストリームのバッファリングの操作\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "setvbuf\tstream buffering operations\n"
 msgstr "setvbuf\tストリームのバッファリングの操作\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:228
+#: build/C/man3/stdio.3:230
 #, no-wrap
 msgid "sprintf\tformatted output conversion\n"
 msgstr "sprintf\t書式付き出力変換\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "sprintf\tformatted output conversion\n"
 msgstr "sprintf\t書式付き出力変換\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:229
+#: build/C/man3/stdio.3:231
 #, no-wrap
 msgid "sscanf\tinput format conversion\n"
 msgstr "sscanf\t書式付き入力変換\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "sscanf\tinput format conversion\n"
 msgstr "sscanf\t書式付き入力変換\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:230
+#: build/C/man3/stdio.3:232
 #, no-wrap
 msgid "strerror\tsystem error messages\n"
 msgstr "strerror\tシステムエラーメッセージ\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "strerror\tsystem error messages\n"
 msgstr "strerror\tシステムエラーメッセージ\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:231
+#: build/C/man3/stdio.3:233
 #, no-wrap
 msgid "sys_errlist\tsystem error messages\n"
 msgstr "sys_errlist\tシステムエラーメッセージ\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "sys_errlist\tsystem error messages\n"
 msgstr "sys_errlist\tシステムエラーメッセージ\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:232
+#: build/C/man3/stdio.3:234
 #, no-wrap
 msgid "sys_nerr\tsystem error messages\n"
 msgstr "sys_nerr\tシステムエラーメッセージ\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "sys_nerr\tsystem error messages\n"
 msgstr "sys_nerr\tシステムエラーメッセージ\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:233
+#: build/C/man3/stdio.3:235
 #, no-wrap
 msgid "tempnam\ttemporary file routines\n"
 msgstr "tempnam\tテンポラリファイルの操作\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "tempnam\ttemporary file routines\n"
 msgstr "tempnam\tテンポラリファイルの操作\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:234
+#: build/C/man3/stdio.3:236
 #, no-wrap
 msgid "tmpfile\ttemporary file routines\n"
 msgstr "tmpfile\tテンポラリファイルの操作\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "tmpfile\ttemporary file routines\n"
 msgstr "tmpfile\tテンポラリファイルの操作\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:235
+#: build/C/man3/stdio.3:237
 #, no-wrap
 msgid "tmpnam\ttemporary file routines\n"
 msgstr "tmpnam\tテンポラリファイルの操作\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "tmpnam\ttemporary file routines\n"
 msgstr "tmpnam\tテンポラリファイルの操作\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:236
+#: build/C/man3/stdio.3:238
 #, no-wrap
 msgid "ungetc\tun-get character from input stream\n"
 msgstr "ungetc\t入力ストリームへ 1 文字戻す。\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "ungetc\tun-get character from input stream\n"
 msgstr "ungetc\t入力ストリームへ 1 文字戻す。\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:237
+#: build/C/man3/stdio.3:239
 #, no-wrap
 msgid "vfprintf\tformatted output conversion\n"
 msgstr "vfprintf\t書式付き出力変換\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "vfprintf\tformatted output conversion\n"
 msgstr "vfprintf\t書式付き出力変換\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:238
+#: build/C/man3/stdio.3:240
 #, no-wrap
 msgid "vfscanf\tinput format conversion\n"
 msgstr "vfscanf\t書式付き入力変換\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "vfscanf\tinput format conversion\n"
 msgstr "vfscanf\t書式付き入力変換\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:239
+#: build/C/man3/stdio.3:241
 #, no-wrap
 msgid "vprintf\tformatted output conversion\n"
 msgstr "vprintf\t書式付き出力変換\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "vprintf\tformatted output conversion\n"
 msgstr "vprintf\t書式付き出力変換\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:240
+#: build/C/man3/stdio.3:242
 #, no-wrap
 msgid "vscanf\tinput format conversion\n"
 msgstr "vscanf\t書式付き入力変換\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "vscanf\tinput format conversion\n"
 msgstr "vscanf\t書式付き入力変換\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:241
+#: build/C/man3/stdio.3:243
 #, no-wrap
 msgid "vsprintf\tformatted output conversion\n"
 msgstr "vsprintf\t書式付き出力変換\n"
 
 #. type: tbl table
 #, no-wrap
 msgid "vsprintf\tformatted output conversion\n"
 msgstr "vsprintf\t書式付き出力変換\n"
 
 #. type: tbl table
-#: build/C/man3/stdio.3:242
+#: build/C/man3/stdio.3:244
 #, no-wrap
 msgid "vsscanf\tinput format conversion\n"
 msgstr "vsscanf\t書式付き入力変換\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "vsscanf\tinput format conversion\n"
 msgstr "vsscanf\t書式付き入力変換\n"
 
 #. type: Plain text
-#: build/C/man3/stdio.3:248
+#: build/C/man3/stdio.3:250
 msgid "The I<stdio> library conforms to C89."
 msgstr "I<stdio> ライブラリは C89 に準拠している。"
 
 #. type: Plain text
 msgid "The I<stdio> library conforms to C89."
 msgstr "I<stdio> ライブラリは C89 に準拠している。"
 
 #. type: Plain text
-#: build/C/man3/stdio.3:255
+#: build/C/man3/stdio.3:257
 msgid ""
 "B<close>(2), B<open>(2), B<read>(2), B<write>(2), B<stdout>(3), "
 "B<unlocked_stdio>(3)"
 msgid ""
 "B<close>(2), B<open>(2), B<read>(2), B<write>(2), B<stdout>(3), "
 "B<unlocked_stdio>(3)"
@@ -12528,19 +15464,13 @@ msgstr ""
 "B<unlocked_stdio>(3)"
 
 #. type: TH
 "B<unlocked_stdio>(3)"
 
 #. type: TH
-#: build/C/man3/stdio_ext.3:23
+#: build/C/man3/stdio_ext.3:25
 #, no-wrap
 msgid "STDIO_EXT"
 msgstr "STDIO_EXT"
 
 #, no-wrap
 msgid "STDIO_EXT"
 msgstr "STDIO_EXT"
 
-#. type: TH
-#: build/C/man3/stdio_ext.3:23
-#, no-wrap
-msgid "2001-12-16"
-msgstr "2001-12-16"
-
 #. type: Plain text
 #. type: Plain text
-#: build/C/man3/stdio_ext.3:28
+#: build/C/man3/stdio_ext.3:30
 msgid ""
 "__fbufsize, __flbf, __fpending, __fpurge, __freadable, __freading, "
 "__fsetlocking, __fwritable, __fwriting, _flushlbf - interfaces to stdio FILE "
 msgid ""
 "__fbufsize, __flbf, __fpending, __fpurge, __freadable, __freading, "
 "__fsetlocking, __fwritable, __fwriting, _flushlbf - interfaces to stdio FILE "
@@ -12551,62 +15481,62 @@ msgstr ""
 "へのインタフェース"
 
 #. type: Plain text
 "へのインタフェース"
 
 #. type: Plain text
-#: build/C/man3/stdio_ext.3:32
+#: build/C/man3/stdio_ext.3:34
 msgid "B<#include E<lt>stdio_ext.hE<gt>>"
 msgstr "B<#include E<lt>stdio_ext.hE<gt>>"
 
 #. type: Plain text
 msgid "B<#include E<lt>stdio_ext.hE<gt>>"
 msgstr "B<#include E<lt>stdio_ext.hE<gt>>"
 
 #. type: Plain text
-#: build/C/man3/stdio_ext.3:34
+#: build/C/man3/stdio_ext.3:36
 msgid "B<size_t __fbufsize(FILE *>I<stream>B<);>"
 msgstr "B<size_t __fbufsize(FILE *>I<stream>B<);>"
 
 #. type: Plain text
 msgid "B<size_t __fbufsize(FILE *>I<stream>B<);>"
 msgstr "B<size_t __fbufsize(FILE *>I<stream>B<);>"
 
 #. type: Plain text
-#: build/C/man3/stdio_ext.3:36
+#: build/C/man3/stdio_ext.3:38
 msgid "B<size_t __fpending(FILE *>I<stream>B<);>"
 msgstr "B<size_t __fpending(FILE *>I<stream>B<);>"
 
 #. type: Plain text
 msgid "B<size_t __fpending(FILE *>I<stream>B<);>"
 msgstr "B<size_t __fpending(FILE *>I<stream>B<);>"
 
 #. type: Plain text
-#: build/C/man3/stdio_ext.3:38
+#: build/C/man3/stdio_ext.3:40
 msgid "B<int __flbf(FILE *>I<stream>B<);>"
 msgstr "B<int __flbf(FILE *>I<stream>B<);>"
 
 #. type: Plain text
 msgid "B<int __flbf(FILE *>I<stream>B<);>"
 msgstr "B<int __flbf(FILE *>I<stream>B<);>"
 
 #. type: Plain text
-#: build/C/man3/stdio_ext.3:40
+#: build/C/man3/stdio_ext.3:42
 msgid "B<int __freadable(FILE *>I<stream>B<);>"
 msgstr "B<int __freadable(FILE *>I<stream>B<);>"
 
 #. type: Plain text
 msgid "B<int __freadable(FILE *>I<stream>B<);>"
 msgstr "B<int __freadable(FILE *>I<stream>B<);>"
 
 #. type: Plain text
-#: build/C/man3/stdio_ext.3:42
+#: build/C/man3/stdio_ext.3:44
 msgid "B<int __fwritable(FILE *>I<stream>B<);>"
 msgstr "B<int __fwritable(FILE *>I<stream>B<);>"
 
 #. type: Plain text
 msgid "B<int __fwritable(FILE *>I<stream>B<);>"
 msgstr "B<int __fwritable(FILE *>I<stream>B<);>"
 
 #. type: Plain text
-#: build/C/man3/stdio_ext.3:44
+#: build/C/man3/stdio_ext.3:46
 msgid "B<int __freading(FILE *>I<stream>B<);>"
 msgstr "B<int __freading(FILE *>I<stream>B<);>"
 
 #. type: Plain text
 msgid "B<int __freading(FILE *>I<stream>B<);>"
 msgstr "B<int __freading(FILE *>I<stream>B<);>"
 
 #. type: Plain text
-#: build/C/man3/stdio_ext.3:46
+#: build/C/man3/stdio_ext.3:48
 msgid "B<int __fwriting(FILE *>I<stream>B<);>"
 msgstr "B<int __fwriting(FILE *>I<stream>B<);>"
 
 #. type: Plain text
 msgid "B<int __fwriting(FILE *>I<stream>B<);>"
 msgstr "B<int __fwriting(FILE *>I<stream>B<);>"
 
 #. type: Plain text
-#: build/C/man3/stdio_ext.3:48
+#: build/C/man3/stdio_ext.3:50
 msgid "B<int __fsetlocking(FILE *>I<stream>B<, int >I<type>B<);>"
 msgstr "B<int __fsetlocking(FILE *>I<stream>B<, int >I<type>B<);>"
 
 #. type: Plain text
 msgid "B<int __fsetlocking(FILE *>I<stream>B<, int >I<type>B<);>"
 msgstr "B<int __fsetlocking(FILE *>I<stream>B<, int >I<type>B<);>"
 
 #. type: Plain text
-#: build/C/man3/stdio_ext.3:50
+#: build/C/man3/stdio_ext.3:52
 msgid "B<void _flushlbf(void);>"
 msgstr "B<void _flushlbf(void);>"
 
 #. type: Plain text
 msgid "B<void _flushlbf(void);>"
 msgstr "B<void _flushlbf(void);>"
 
 #. type: Plain text
-#: build/C/man3/stdio_ext.3:52
+#: build/C/man3/stdio_ext.3:54
 msgid "B<void __fpurge(FILE *>I<stream>B<);>"
 msgstr "B<void __fpurge(FILE *>I<stream>B<);>"
 
 #. type: Plain text
 msgid "B<void __fpurge(FILE *>I<stream>B<);>"
 msgstr "B<void __fpurge(FILE *>I<stream>B<);>"
 
 #. type: Plain text
-#: build/C/man3/stdio_ext.3:57
+#: build/C/man3/stdio_ext.3:59
 msgid ""
 "Solaris introduced routines to allow portable access to the internals of the "
 "I<FILE> structure, and glibc also implemented these."
 msgid ""
 "Solaris introduced routines to allow portable access to the internals of the "
 "I<FILE> structure, and glibc also implemented these."
@@ -12615,7 +15545,7 @@ msgstr ""
 "が導入されており、これらは glibc でも実装されている。"
 
 #. type: Plain text
 "が導入されており、これらは glibc でも実装されている。"
 
 #. type: Plain text
-#: build/C/man3/stdio_ext.3:62
+#: build/C/man3/stdio_ext.3:64
 msgid ""
 "The B<__fbufsize>()  function returns the size of the buffer currently used "
 "by the given stream."
 msgid ""
 "The B<__fbufsize>()  function returns the size of the buffer currently used "
 "by the given stream."
@@ -12624,7 +15554,7 @@ msgstr ""
 "す。"
 
 #. type: Plain text
 "す。"
 
 #. type: Plain text
-#: build/C/man3/stdio_ext.3:69
+#: build/C/man3/stdio_ext.3:71
 msgid ""
 "The B<__fpending>()  function returns the number of bytes in the output "
 "buffer.  For wide-oriented streams the unit is wide characters.  This "
 msgid ""
 "The B<__fpending>()  function returns the number of bytes in the output "
 "buffer.  For wide-oriented streams the unit is wide characters.  This "
@@ -12636,7 +15566,7 @@ msgstr ""
 "は未定義である。"
 
 #. type: Plain text
 "は未定義である。"
 
 #. type: Plain text
-#: build/C/man3/stdio_ext.3:74
+#: build/C/man3/stdio_ext.3:76
 msgid ""
 "The B<__flbf>()  function returns a nonzero value if the stream is line-"
 "buffered, and zero otherwise."
 msgid ""
 "The B<__flbf>()  function returns a nonzero value if the stream is line-"
 "buffered, and zero otherwise."
@@ -12645,7 +15575,7 @@ msgstr ""
 "場合は 0 を返す。"
 
 #. type: Plain text
 "場合は 0 を返す。"
 
 #. type: Plain text
-#: build/C/man3/stdio_ext.3:79
+#: build/C/man3/stdio_ext.3:81
 msgid ""
 "The B<__freadable>()  function returns a nonzero value if the stream allows "
 "reading, and zero otherwise."
 msgid ""
 "The B<__freadable>()  function returns a nonzero value if the stream allows "
 "reading, and zero otherwise."
@@ -12654,7 +15584,7 @@ msgstr ""
 "外の場合は 0 を返す。"
 
 #. type: Plain text
 "外の場合は 0 を返す。"
 
 #. type: Plain text
-#: build/C/man3/stdio_ext.3:84
+#: build/C/man3/stdio_ext.3:86
 msgid ""
 "The B<__fwritable>()  function returns a nonzero value if the stream allows "
 "writing, and zero otherwise."
 msgid ""
 "The B<__fwritable>()  function returns a nonzero value if the stream allows "
 "writing, and zero otherwise."
@@ -12663,7 +15593,7 @@ msgstr ""
 "外の場合は 0 を返す。"
 
 #. type: Plain text
 "外の場合は 0 を返す。"
 
 #. type: Plain text
-#: build/C/man3/stdio_ext.3:90
+#: build/C/man3/stdio_ext.3:92
 msgid ""
 "The B<__freading>()  function returns a nonzero value if the stream is read-"
 "only, or if the last operation on the stream was a read operation, and zero "
 msgid ""
 "The B<__freading>()  function returns a nonzero value if the stream is read-"
 "only, or if the last operation on the stream was a read operation, and zero "
@@ -12674,7 +15604,7 @@ msgstr ""
 "を返す。"
 
 #. type: Plain text
 "を返す。"
 
 #. type: Plain text
-#: build/C/man3/stdio_ext.3:96
+#: build/C/man3/stdio_ext.3:98
 msgid ""
 "The B<__fwriting>()  function returns a nonzero value if the stream is write-"
 "only (or append-only), or if the last operation on the stream was a write "
 msgid ""
 "The B<__fwriting>()  function returns a nonzero value if the stream is write-"
 "only (or append-only), or if the last operation on the stream was a write "
@@ -12685,7 +15615,7 @@ msgstr ""
 "し、 それ以外の場合は 0 を返す。"
 
 #. type: Plain text
 "し、 それ以外の場合は 0 を返す。"
 
 #. type: Plain text
-#: build/C/man3/stdio_ext.3:104
+#: build/C/man3/stdio_ext.3:106
 msgid ""
 "The B<__fsetlocking>()  function can be used to select the desired type of "
 "locking on the stream.  It returns the current type.  The I<type> argument "
 msgid ""
 "The B<__fsetlocking>()  function can be used to select the desired type of "
 "locking on the stream.  It returns the current type.  The I<type> argument "
@@ -12696,13 +15626,13 @@ msgstr ""
 "ることができる :"
 
 #. type: TP
 "ることができる :"
 
 #. type: TP
-#: build/C/man3/stdio_ext.3:104
+#: build/C/man3/stdio_ext.3:106
 #, no-wrap
 msgid "B<FSETLOCKING_INTERNAL>"
 msgstr "B<FSETLOCKING_INTERNAL>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<FSETLOCKING_INTERNAL>"
 msgstr "B<FSETLOCKING_INTERNAL>"
 
 #. type: Plain text
-#: build/C/man3/stdio_ext.3:109
+#: build/C/man3/stdio_ext.3:111
 msgid ""
 "Perform implicit locking around every operation on the given stream (except "
 "for the *_unlocked ones).  This is the default."
 msgid ""
 "Perform implicit locking around every operation on the given stream (except "
 "for the *_unlocked ones).  This is the default."
@@ -12712,13 +15642,13 @@ msgstr ""
 "である)。 これがデフォルトのロック形式である。"
 
 #. type: TP
 "である)。 これがデフォルトのロック形式である。"
 
 #. type: TP
-#: build/C/man3/stdio_ext.3:109
+#: build/C/man3/stdio_ext.3:111
 #, no-wrap
 msgid "B<FSETLOCKING_BYCALLER>"
 msgstr "B<FSETLOCKING_BYCALLER>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<FSETLOCKING_BYCALLER>"
 msgstr "B<FSETLOCKING_BYCALLER>"
 
 #. type: Plain text
-#: build/C/man3/stdio_ext.3:116
+#: build/C/man3/stdio_ext.3:118
 msgid ""
 "The caller will take care of the locking (possibly using B<flockfile>(3)  in "
 "case there is more than one thread), and the stdio routines will not do "
 msgid ""
 "The caller will take care of the locking (possibly using B<flockfile>(3)  in "
 "case there is more than one thread), and the stdio routines will not do "
@@ -12730,18 +15660,18 @@ msgstr ""
 "理を行わない。"
 
 #. type: TP
 "理を行わない。"
 
 #. type: TP
-#: build/C/man3/stdio_ext.3:116
+#: build/C/man3/stdio_ext.3:118
 #, no-wrap
 msgid "B<FSETLOCKING_QUERY>"
 msgstr "B<FSETLOCKING_QUERY>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<FSETLOCKING_QUERY>"
 msgstr "B<FSETLOCKING_QUERY>"
 
 #. type: Plain text
-#: build/C/man3/stdio_ext.3:120
+#: build/C/man3/stdio_ext.3:122
 msgid "Don't change the type of locking.  (Only return it.)"
 msgstr "ロック形式の変更を行わない。(現在の形式を返すだけである)"
 
 #. type: Plain text
 msgid "Don't change the type of locking.  (Only return it.)"
 msgstr "ロック形式の変更を行わない。(現在の形式を返すだけである)"
 
 #. type: Plain text
-#: build/C/man3/stdio_ext.3:126
+#: build/C/man3/stdio_ext.3:128
 msgid ""
 "The B<_flushlbf>()  function flushes all line-buffered streams.  (Presumably "
 "so that output to a terminal is forced out, say before reading keyboard "
 msgid ""
 "The B<_flushlbf>()  function flushes all line-buffered streams.  (Presumably "
 "so that output to a terminal is forced out, say before reading keyboard "
@@ -12753,250 +15683,402 @@ msgstr ""
 "いだろう)"
 
 #. type: Plain text
 "いだろう)"
 
 #. type: Plain text
-#: build/C/man3/stdio_ext.3:130
+#: build/C/man3/stdio_ext.3:132
 msgid ""
 "The B<__fpurge>()  function discards the contents of the stream's buffer."
 msgstr "B<__fpurge>()  関数は、ストリームのバッファの内容を廃棄する。"
 
 #. type: Plain text
 msgid ""
 "The B<__fpurge>()  function discards the contents of the stream's buffer."
 msgstr "B<__fpurge>()  関数は、ストリームのバッファの内容を廃棄する。"
 
 #. type: Plain text
-#: build/C/man3/stdio_ext.3:133
+#: build/C/man3/stdio_ext.3:141
+msgid ""
+"The B<__fbufsize>(), B<__fpending>(), B<__fpurge>()  and B<__fsetlocking>()  "
+"functions do not lock the stream, so they are not thread-safe."
+msgstr ""
+"関数 B<__fbufsize>(), B<__fpending>(), B<__fpurge>(), B<__fsetlocking>() "
+"は、 ストリームのロックを行わない。 そのため、スレッドセーフではない。"
+
+#. type: Plain text
+#: build/C/man3/stdio_ext.3:151
+msgid ""
+"The B<__flbf>(), B<__freadable>(), B<__freading>(), B<__fwritable>(), "
+"B<__fwriting>()  and B<_flushlbf>()  functions are thread-safe."
+msgstr ""
+"関数 B<__flbf>(), B<__freadable>(), B<__freading>(), B<__fwritable>(), "
+"B<__fwriting>(), B<_flushlbf>() はスレッドセーフである。"
+
+#. type: Plain text
+#: build/C/man3/stdio_ext.3:154
 msgid "B<flockfile>(3), B<fpurge>(3)"
 msgstr "B<flockfile>(3), B<fpurge>(3)"
 
 #. type: TH
 msgid "B<flockfile>(3), B<fpurge>(3)"
 msgstr "B<flockfile>(3), B<fpurge>(3)"
 
 #. type: TH
-#: build/C/man2/symlink.2:32 build/C/man7/symlink.7:35
+#: build/C/man2/symlink.2:33 build/C/man7/symlink.7:37
 #, no-wrap
 msgid "SYMLINK"
 msgstr "SYMLINK"
 
 #. type: TH
 #, no-wrap
 msgid "SYMLINK"
 msgstr "SYMLINK"
 
 #. type: TH
-#: build/C/man2/symlink.2:32
+#: build/C/man2/symlink.2:33
+#, no-wrap
+msgid "2014-05-05"
+msgstr "2014-05-05"
+
+#. type: Plain text
+#: build/C/man2/symlink.2:36
+msgid "symlink, symlinkat - make a new name for a file"
+msgstr "symlink, symlinkat - ファイルに新しい名前を付ける"
+
+#. type: Plain text
+#: build/C/man2/symlink.2:41
+#, no-wrap
+msgid "B<int symlink(const char *>I<target>B<, const char *>I<linkpath>B<);>\n"
+msgstr "B<int symlink(const char *>I<target>B<, const char *>I<linkpath>B<);>\n"
+
+#. type: Plain text
+#: build/C/man2/symlink.2:47
+#, no-wrap
+msgid "B<int symlinkat(const char *>I<target>B<, int >I<newdirfd>B<, const char *>I<linkpath>B<);>\n"
+msgstr "B<int symlinkat(const char *>I<target>B<, int >I<newdirfd>B<, const char *>I<linkpath>B<);>\n"
+
+#. type: Plain text
+#: build/C/man2/symlink.2:56
+msgid "B<symlink>():"
+msgstr "B<symlink>():"
+
+#. type: Plain text
+#: build/C/man2/symlink.2:62
+msgid "B<symlinkat>():"
+msgstr "B<symlinkat>():"
+
+#. type: Plain text
+#: build/C/man2/symlink.2:80
+msgid ""
+"B<symlink>()  creates a symbolic link named I<linkpath> which contains the "
+"string I<target>."
+msgstr ""
+"B<symlink>()  は I<target> という文字列をファイルの内容として持つ "
+"I<linkpath> というシンボリックリンク (symbolic link) を作成する。"
+
+#. type: Plain text
+#: build/C/man2/symlink.2:84
+msgid ""
+"Symbolic links are interpreted at run time as if the contents of the link "
+"had been substituted into the path being followed to find a file or "
+"directory."
+msgstr ""
+"シンボリックリンクは実行時に解釈され、 リンクの内容でパスを置き換えて、そのパ"
+"スを辿ることで、 ファイルやディレクトリに到達する。"
+
+#. type: Plain text
+#: build/C/man2/symlink.2:89
+msgid ""
+"Symbolic links may contain I<..> path components, which (if used at the "
+"start of the link) refer to the parent directories of that in which the link "
+"resides."
+msgstr ""
+"シンボリックリンクはパスの部分に I<..> を含むかもしれない。これは (もしリンク"
+"の最初に使用された場合は) リンクの 存在するディレクトリの親ディレクトリが参照"
+"される。"
+
+#. type: Plain text
+#: build/C/man2/symlink.2:93
+msgid ""
+"A symbolic link (also known as a soft link) may point to an existing file or "
+"to a nonexistent one; the latter case is known as a dangling link."
+msgstr ""
+"シンボリックリンクは (ソフトリンク (soft link) とも呼ばれ)  存在するファイル"
+"を指しているかもしれないし、 存在しないファイルを指しているかもしれない; 後者"
+"の場合は壊れたリンク (dangling link) とも呼ばれる。"
+
+#. type: Plain text
+#: build/C/man2/symlink.2:100
+msgid ""
+"The permissions of a symbolic link are irrelevant; the ownership is ignored "
+"when following the link, but is checked when removal or renaming of the link "
+"is requested and the link is in a directory with the sticky bit "
+"(B<S_ISVTX>)  set."
+msgstr ""
+"シンボリックリンクの許可 (permission) は無意味である; リンクを追跡する場合に"
+"は所有権 (ownership) は無視される。 ただし、リンクの削除や名前の変更が要求さ"
+"れ、かつリンクが存在する ディレクトリにスティッキービット (sticky bit)  "
+"(B<S_ISVTX>)  が設定されている場合には、所有権のチェックが行われる。"
+
+#. type: Plain text
+#: build/C/man2/symlink.2:106
+msgid "If I<linkpath> exists, it will I<not> be overwritten."
+msgstr "I<linkpath> が存在する場合には上書きはI<されない>。"
+
+#. type: SS
+#: build/C/man2/symlink.2:106
 #, no-wrap
 #, no-wrap
-msgid "2010-09-20"
-msgstr "2010-09-20"
+msgid "symlinkat()"
+msgstr "symlinkat()"
+
+#. type: Plain text
+#: build/C/man2/symlink.2:112
+msgid ""
+"The B<symlinkat>()  system call operates in exactly the same way as "
+"B<symlink>(), except for the differences described here."
+msgstr ""
+"B<symlinkat>() システムコールは B<symlink>() と全く同様に動作するが、以下で説"
+"明する点が異なる。"
+
+#. type: Plain text
+#: build/C/man2/symlink.2:122
+msgid ""
+"If the pathname given in I<linkpath> is relative, then it is interpreted "
+"relative to the directory referred to by the file descriptor I<newdirfd> "
+"(rather than relative to the current working directory of the calling "
+"process, as is done by B<symlink>()  for a relative pathname)."
+msgstr ""
+"I<linkpath> で指定されたパス名が相対パスの場合、このパス名はファイルディスク"
+"リプター I<newdirfd> が参照するディレクトリに対する相対パスと解釈される "
+"(B<symlink>() に相対パス名を渡した場合のように、呼び出したプロセスのカレント"
+"ワーキングディレクトリに対する相対パスではない)。"
+
+#. type: Plain text
+#: build/C/man2/symlink.2:134
+msgid ""
+"If I<linkpath> is relative and I<newdirfd> is the special value B<AT_FDCWD>, "
+"then I<linkpath> is interpreted relative to the current working directory of "
+"the calling process (like B<symlink>())."
+msgstr ""
+"I<linkpath> で指定されたパス名が相対パスで、 I<newdirfd> が特別な値 "
+"B<AT_FDCWD> の場合、 (B<symlink>() と同様に) I<linkpath> は呼び出したプロセス"
+"のカレントワーキングディレクトリに対する相対パスと解釈される。"
+
+#. type: Plain text
+#: build/C/man2/symlink.2:140
+msgid "If I<linkpath> is absolute, then I<newdirfd> is ignored."
+msgstr ""
+"I<linkpath> で指定されたパス名が絶対パスの場合、 I<newdirfd> は無視される。"
+
+#. type: Plain text
+#: build/C/man2/symlink.2:155
+msgid ""
+"Write access to the directory containing I<linkpath> is denied, or one of "
+"the directories in the path prefix of I<linkpath> did not allow search "
+"permission.  (See also B<path_resolution>(7).)"
+msgstr ""
+"I<linkpath> を含んでいるディレクトリへの書き込みが拒否されたか、 I<linkpath> "
+"に含まれているディレクトリのどれかに検索許可が与えられていない "
+"(B<path_resolution>(7)  も参照すること)。"
+
+#. type: Plain text
+#: build/C/man2/symlink.2:160
+msgid ""
+"The user's quota of resources on the filesystem has been exhausted.  The "
+"resources could be inodes or disk blocks, depending on the filesystem "
+"implementation."
+msgstr ""
+"そのファイルシステムのリソース使用量がユーザクォータに達している。対象となる"
+"リソースは inode かディスクブロックで、どちらになるかはファイルシステムの実装"
+"依存である。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/symlink.2:35
-msgid "symlink - make a new name for a file"
-msgstr "symlink - ファイルに新しい名前を付ける"
+#: build/C/man2/symlink.2:164
+msgid "I<linkpath> already exists."
+msgstr "I<linkpath> が既に存在する。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/symlink.2:39
-msgid "B<int symlink(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
-msgstr "B<int symlink(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
+#: build/C/man2/symlink.2:167
+msgid "I<target> or I<linkpath> points outside your accessible address space."
+msgstr ""
+"I<target> や I<linkpath> がアクセス可能なアドレス空間の外を指している。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/symlink.2:47
-msgid "B<symlink>():"
-msgstr "B<symlink>():"
+#: build/C/man2/symlink.2:174
+msgid "Too many symbolic links were encountered in resolving I<linkpath>."
+msgstr "I<linkpath> を解決する際に遭遇したシンボリックリンクが多過ぎる。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/symlink.2:58
-msgid ""
-"B<symlink>()  creates a symbolic link named I<newpath> which contains the "
-"string I<oldpath>."
-msgstr ""
-"B<symlink>()  は I<oldpath> という文字列をファイルの内容として持つ "
-"I<newpath> というシンボリックリンク (symbolic link) を作成する。"
+#: build/C/man2/symlink.2:177
+msgid "I<target> or I<linkpath> was too long."
+msgstr "I<target> または I<linkpath> が長過ぎる。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/symlink.2:62
+#: build/C/man2/symlink.2:184
 msgid ""
 msgid ""
-"Symbolic links are interpreted at run time as if the contents of the link "
-"had been substituted into the path being followed to find a file or "
-"directory."
+"A directory component in I<linkpath> does not exist or is a dangling "
+"symbolic link, or I<target> is the empty string."
 msgstr ""
 msgstr ""
-"シンボリックリンクは実行時に解釈され、 リンクの内容でパスを置き換えて、そのパ"
-"スを辿ることで、 ファイルやディレクトリに到達する。"
+"I<linkpath> に含まれるディレクトリ部分が存在しないか、壊れたリンクであるか、 "
+"I<target> が空文字列である。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/symlink.2:67
+#: build/C/man2/symlink.2:196
 msgid ""
 msgid ""
-"Symbolic links may contain I<..> path components, which (if used at the "
-"start of the link) refer to the parent directories of that in which the link "
-"resides."
+"A component used as a directory in I<linkpath> is not, in fact, a directory."
 msgstr ""
 msgstr ""
-"シンボリックリンクはパスの部分に I<..> を含むかもしれない。これは (もしリンク"
-"の最初に使用された場合は) リンクの 存在するディレクトリの親ディレクトリが参照"
-"される。"
+"I<linkpath> に含まれるディレクトリ部分が、実際には、ディレクトリではない。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/symlink.2:71
+#: build/C/man2/symlink.2:201
 msgid ""
 msgid ""
-"A symbolic link (also known as a soft link) may point to an existing file or "
-"to a nonexistent one; the latter case is known as a dangling link."
+"The filesystem containing I<linkpath> does not support the creation of "
+"symbolic links."
 msgstr ""
 msgstr ""
-"シンボリックリンクは (ソフトリンク (soft link) とも呼ばれ)  存在するファイル"
-"を指しているかもしれないし、 存在しないファイルを指しているかもしれない; 後者"
-"の場合は壊れたリンク (dangling link) とも呼ばれる。"
+"I<linkpath> を含んでいるファイルシステム (file system) が シンボリックリンク"
+"の作成をサポートしていない。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/symlink.2:78
-msgid ""
-"The permissions of a symbolic link are irrelevant; the ownership is ignored "
-"when following the link, but is checked when removal or renaming of the link "
-"is requested and the link is in a directory with the sticky bit "
-"(B<S_ISVTX>)  set."
-msgstr ""
-"シンボリックリンクの許可 (permission) は無意味である; リンクを追跡する場合に"
-"は所有権 (ownership) は無視される。 ただし、リンクの削除や名前の変更が要求さ"
-"れ、かつリンクが存在する ディレクトリにスティッキービット (sticky bit)  "
-"(B<S_ISVTX>)  が設定されている場合には、所有権のチェックが行われる。"
+#: build/C/man2/symlink.2:205
+msgid "I<linkpath> is on a read-only filesystem."
+msgstr "I<linkpath> が読み込み専用のファイルシステムに存在している。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/symlink.2:99
-msgid ""
-"Write access to the directory containing I<newpath> is denied, or one of the "
-"directories in the path prefix of I<newpath> did not allow search "
-"permission.  (See also B<path_resolution>(7).)"
-msgstr ""
-"I<newpath> を含んでいるディレクトリへの書き込みが拒否されたか、 I<newpath> に"
-"含まれているディレクトリのどれかに検索許可が与えられていない "
-"(B<path_resolution>(7)  も参照すること)。"
+#: build/C/man2/symlink.2:208
+msgid "The following additional errors can occur for B<symlinkat>():"
+msgstr "B<symlinkat>() では以下のエラーも発生する。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/symlink.2:113
-msgid "Too many symbolic links were encountered in resolving I<newpath>."
-msgstr "I<newpath> を解決する際に遭遇したシンボリックリンクが多過ぎる。"
+#: build/C/man2/symlink.2:212
+msgid "I<newdirfd> is not a valid file descriptor."
+msgstr "I<newdirfd> が有効なファイルディスクリプタでない。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/symlink.2:123
+#: build/C/man2/symlink.2:218
+#, fuzzy
+#| msgid ""
+#| "I<linkpath> is relative and I<newdirfd> is a file descriptor referring to "
+#| "a file other than a directory."
 msgid ""
 msgid ""
-"A directory component in I<newpath> does not exist or is a dangling symbolic "
-"link, or I<oldpath> is the empty string."
+"I<linkpath> is a relative pathname and I<newdirfd> refers to a directory "
+"that has been deleted."
 msgstr ""
 msgstr ""
-"I<newpath> に含まれるディレクトリ部分が存在しないか、壊れたリンクであるか、 "
-"I<oldpath> が空文字列である。"
+"I<linkpath> が相対パスで、 I<newdirfd> がディレクトリ以外のファイルを参照して"
+"いるファイルディスクリプタである。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/symlink.2:135
+#: build/C/man2/symlink.2:224
 msgid ""
 msgid ""
-"A component used as a directory in I<newpath> is not, in fact, a directory."
+"I<linkpath> is relative and I<newdirfd> is a file descriptor referring to a "
+"file other than a directory."
 msgstr ""
 msgstr ""
-"I<newpath> に含まれるディレクトリ部分が、実際には、ディレクトリではない。"
+"I<linkpath> が相対パスで、 I<newdirfd> がディレクトリ以外のファイルを参照して"
+"いるファイルディスクリプタである。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/symlink.2:140
+#: build/C/man2/symlink.2:228
 msgid ""
 msgid ""
-"The file system containing I<newpath> does not support the creation of "
-"symbolic links."
+"B<symlinkat>()  was added to Linux in kernel 2.6.16; library support was "
+"added to glibc in version 2.4."
 msgstr ""
 msgstr ""
-"I<newpath> を含んでいるファイルシステム (file system) が シンボリックリンクの"
-"作成をサポートしていない。"
+"B<symlinkat>()  はカーネル 2.6.16 で Linux に追加された。 ライブラリによるサ"
+"ポートはバージョン 2.4 で glibc に追加された。"
+
+#.  SVr4 documents additional error codes EDQUOT and ENOSYS.
+#.  See
+#.  .BR open (2)
+#.  re multiple files with the same name, and NFS.
+#. type: Plain text
+#: build/C/man2/symlink.2:235
+msgid "B<symlink>(): SVr4, 4.3BSD, POSIX.1-2001, POSIX.1-2008."
+msgstr "B<symlink>(): SVr4, 4.3BSD, POSIX.1-2001, POSIX.1-2008."
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/symlink.2:144
-msgid "I<newpath> is on a read-only file system."
-msgstr "I<newpath> が読み込み専用のファイルシステムに存在している。"
+#: build/C/man2/symlink.2:238
+msgid "B<symlinkat>(): POSIX.1-2008."
+msgstr "B<symlinkat>(): POSIX.1-2008."
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/symlink.2:154
-msgid "No checking of I<oldpath> is done."
-msgstr "I<oldpath> についてのチェックは行なわれない。"
+#: build/C/man2/symlink.2:242
+msgid "No checking of I<target> is done."
+msgstr "I<target> についてのチェックは行なわれない。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/symlink.2:159
+#: build/C/man2/symlink.2:247
 msgid ""
 msgid ""
-"Deleting the name referred to by a symlink will actually delete the file "
-"(unless it also has other hard links).  If this behavior is not desired, use "
-"B<link>(2)."
+"Deleting the name referred to by a symbolic link will actually delete the "
+"file (unless it also has other hard links).  If this behavior is not "
+"desired, use B<link>(2)."
 msgstr ""
 msgstr ""
-"symlink によって参照される名前を削除すると (それが他にハードリンク (hard "
-"link) を持たなければ) 実際にファイルが削除される。 この動作が望んだものでない"
-"場合は、 B<link>(2)  を使用すること。"
+"シンボリックリンクによって参照される名前を削除すると (それが他にハードリンク "
+"(hard link) を持たなければ) 実際にファイルが削除される。 この動作が望んだもの"
+"でない場合は、 B<link>(2)  を使用すること。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/symlink.2:171
+#: build/C/man2/symlink.2:258
 msgid ""
 "B<ln>(1), B<lchown>(2), B<link>(2), B<lstat>(2), B<open>(2), B<readlink>(2), "
 msgid ""
 "B<ln>(1), B<lchown>(2), B<link>(2), B<lstat>(2), B<open>(2), B<readlink>(2), "
-"B<rename>(2), B<symlinkat>(2), B<unlink>(2), B<path_resolution>(7), "
-"B<symlink>(7)"
+"B<rename>(2), B<unlink>(2), B<path_resolution>(7), B<symlink>(7)"
 msgstr ""
 "B<ln>(1), B<lchown>(2), B<link>(2), B<lstat>(2), B<open>(2), B<readlink>(2), "
 msgstr ""
 "B<ln>(1), B<lchown>(2), B<link>(2), B<lstat>(2), B<open>(2), B<readlink>(2), "
-"B<rename>(2), B<symlinkat>(2), B<unlink>(2), B<path_resolution>(7), "
-"B<symlink>(7)"
-
-#. type: TH
-#: build/C/man7/symlink.7:35
-#, no-wrap
-msgid "2008-06-18"
-msgstr "2008-06-18"
+"B<rename>(2), B<unlink>(2), B<path_resolution>(7), B<symlink>(7)"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man7/symlink.7:38
+#: build/C/man7/symlink.7:40
 msgid "symlink - symbolic link handling"
 msgid "symlink - symbolic link handling"
-msgstr "symlink - symbolic link handling"
-
-#. type: SH
-#: build/C/man7/symlink.7:38
-#, no-wrap
-msgid "SYMBOLIC LINK HANDLING"
-msgstr "SYMBOLIC LINK HANDLING"
+msgstr "symlink - シンボリックリンクの取り扱い"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man7/symlink.7:42
+#: build/C/man7/symlink.7:44
 msgid ""
 "Symbolic links are files that act as pointers to other files.  To understand "
 "their behavior, you must first understand how hard links work."
 msgstr ""
 msgid ""
 "Symbolic links are files that act as pointers to other files.  To understand "
 "their behavior, you must first understand how hard links work."
 msgstr ""
-"Symbolic links are files that act as pointers to other files.  To understand "
-"their behavior, you must first understand how hard links work."
+"シンボリックリンクは他のファイルへのポインタとして振る舞うファイルである。 そ"
+"の挙動を理解するには、まずハードリンクがどのように機能するかを理解しておかな"
+"ければならない。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man7/symlink.7:58
+#: build/C/man7/symlink.7:60
 msgid ""
 "A hard link to a file is indistinguishable from the original file because it "
 "is a reference to the object underlying the original filename.  (To be "
 "precise: each of the hard links to a file is a reference to the same I<i-"
 "node number>, where an i-node number is an index into the i-node table, "
 msgid ""
 "A hard link to a file is indistinguishable from the original file because it "
 "is a reference to the object underlying the original filename.  (To be "
 "precise: each of the hard links to a file is a reference to the same I<i-"
 "node number>, where an i-node number is an index into the i-node table, "
-"which contains metadata about all files on a file system.  See B<stat>(2).)  "
+"which contains metadata about all files on a filesystem.  See B<stat>(2).)  "
 "Changes to a file are independent of the name used to reference the file.  "
 "Hard links may not refer to directories (to prevent the possibility of loops "
 "Changes to a file are independent of the name used to reference the file.  "
 "Hard links may not refer to directories (to prevent the possibility of loops "
-"within the file system tree, which would confuse many programs)  and may not "
-"refer to files on different file systems (because i-node numbers are not "
-"unique across file systems)."
+"within the filesystem tree, which would confuse many programs)  and may not "
+"refer to files on different filesystems (because i-node numbers are not "
+"unique across filesystems)."
 msgstr ""
 msgstr ""
-"A hard link to a file is indistinguishable from the original file because it "
-"is a reference to the object underlying the original filename.  (To be "
-"precise: each of the hard links to a file is a reference to the same I<i-"
-"node number>, where an i-node number is an index into the i-node table, "
-"which contains metadata about all files on a file system.  See B<stat>(2).)  "
-"Changes to a file are independent of the name used to reference the file.  "
-"Hard links may not refer to directories (to prevent the possibility of loops "
-"within the file system tree, which would confuse many programs)  and may not "
-"refer to files on different file systems (because i-node numbers are not "
-"unique across file systems)."
+"あるファイルへのハードリンクは、 元々のファイルと区別することができない。 な"
+"ぜなら、 ハードリンクは元々のファイル名の裏にあるオブジェクトへの参照だからで"
+"ある。 (より正確には、 あるファイルへのハードリンクはそれぞれ同じ I<i-node 番"
+"号> への参照である。 i-node 番号は i-node テーブルへのインデックスで、 i-"
+"node テーブルはファイルシステム上のすべてのファイルについてのメタデータを保持"
+"している。 B<stat>(2) 参照。) ファイルへの変更は、ファイルの参照に使用された"
+"名前とは独立に行われる。 ハードリンクはディレクトリを参照することはできない "
+"(これはファイルシステムツリー内でループが発生する可能性を防止するためであ"
+"り、 ループが発生すると、 多くのプログラムが混乱してしまうことだろう)。 ま"
+"た、 ハードリンクは異なるファイルシステム上のファイルを参照することもできな"
+"い (i-node 番号はファイルシステムをまたがると一意ではないからである)。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man7/symlink.7:65
+#: build/C/man7/symlink.7:69
 msgid ""
 "A symbolic link is a special type of file whose contents are a string that "
 msgid ""
 "A symbolic link is a special type of file whose contents are a string that "
-"is the pathname another file, the file to which the link refers.  In other "
+"is the pathname of another file, the file to which the link refers.  (The "
+"contents of a symbolic link can be read using B<readlink>(2).)  In other "
 "words, a symbolic link is a pointer to another name, and not to an "
 "underlying object.  For this reason, symbolic links may refer to directories "
 "words, a symbolic link is a pointer to another name, and not to an "
 "underlying object.  For this reason, symbolic links may refer to directories "
-"and may cross file system boundaries."
+"and may cross filesystem boundaries."
 msgstr ""
 msgstr ""
-"A symbolic link is a special type of file whose contents are a string that "
-"is the pathname another file, the file to which the link refers.  In other "
-"words, a symbolic link is a pointer to another name, and not to an "
-"underlying object.  For this reason, symbolic links may refer to directories "
-"and may cross file system boundaries."
+"シンボリックリンクは特別な種類のファイルで、 ファイルの内容はそのリンクの参照"
+"先の別のファイルのパス名を示す文字列である (シンボリックリンクの内容は "
+"B<readlink>(2) を使って読むことができる)。 言い換えると、 シンボリックリンク"
+"は別の名前へのポインタであり、 ファイルの裏にあるオブジェクトへのポインタでは"
+"ない。 この理由から、 シンボリックリンクではディレクトリへの参照やファイルシ"
+"ステム境界を越える参照を行うことができる。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man7/symlink.7:71
+#: build/C/man7/symlink.7:75
 msgid ""
 "There is no requirement that the pathname referred to by a symbolic link "
 "should exist.  A symbolic link that refers to a pathname that does not exist "
 "is said to be a I<dangling link>."
 msgstr ""
 msgid ""
 "There is no requirement that the pathname referred to by a symbolic link "
 "should exist.  A symbolic link that refers to a pathname that does not exist "
 "is said to be a I<dangling link>."
 msgstr ""
-"There is no requirement that the pathname referred to by a symbolic link "
-"should exist.  A symbolic link that refers to a pathname that does not exist "
-"is said to be a I<dangling link>."
+"シンボリックリンクが参照する先のパス名が存在しないといけないという要件はな"
+"い。 存在しないパス名を参照するシンボリックリンクは「壊れた (dangling) リン"
+"ク」と呼ばれる。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man7/symlink.7:83
+#: build/C/man7/symlink.7:87
 msgid ""
 msgid ""
-"Because a symbolic link and its referenced object coexist in the file system "
+"Because a symbolic link and its referenced object coexist in the filesystem "
 "name space, confusion can arise in distinguishing between the link itself "
 "and the referenced object.  On historical systems, commands and system calls "
 "adopted their own link-following conventions in a somewhat ad-hoc fashion.  "
 "name space, confusion can arise in distinguishing between the link itself "
 "and the referenced object.  On historical systems, commands and system calls "
 "adopted their own link-following conventions in a somewhat ad-hoc fashion.  "
@@ -13005,42 +16087,42 @@ msgid ""
 "applications also conform to these rules, so that the user interface can be "
 "as consistent as possible."
 msgstr ""
 "applications also conform to these rules, so that the user interface can be "
 "as consistent as possible."
 msgstr ""
-"Because a symbolic link and its referenced object coexist in the file system "
-"name space, confusion can arise in distinguishing between the link itself "
-"and the referenced object.  On historical systems, commands and system calls "
-"adopted their own link-following conventions in a somewhat ad-hoc fashion.  "
-"Rules for a more uniform approach, as they are implemented on Linux and "
-"other systems, are outlined here.  It is important that site-local "
-"applications also conform to these rules, so that the user interface can be "
-"as consistent as possible."
+"シンボリックリンクとその参照先のオブジェクトは一つのファイルシステムの名前空"
+"間内に共存するので、 リンクそのものと参照先のオブジェクトの間で混乱が生じる可"
+"能性がある。 かなり昔からあるシステムでは、 コマンドやシステムコールはいくら"
+"かアドホックな方法の独自のリンクの辿り方の決まり事を採用している。 ここで"
+"は、 Linux や他のシステムで実装されている、 もっと広く使われている方法のルー"
+"ルについて概要を説明する。 サイト固有のアプリケーションもこれらのルールに準拠"
+"し、 可能な限りユーザインターフェースが一貫したものになるようにすることが重要"
+"である。"
 
 #. type: SS
 
 #. type: SS
-#: build/C/man7/symlink.7:83
+#: build/C/man7/symlink.7:87
 #, no-wrap
 msgid "Symbolic link ownership, permissions, and timestamps"
 #, no-wrap
 msgid "Symbolic link ownership, permissions, and timestamps"
-msgstr "Symbolic link ownership, permissions, and timestamps"
+msgstr "シンボリックリンクの所有権、アクセス許可、タイムスタンプ"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man7/symlink.7:91
+#: build/C/man7/symlink.7:95
 msgid ""
 "The owner and group of an existing symbolic link can be changed using "
 "B<lchown>(2).  The only time that the ownership of a symbolic link matters "
 "is when the link is being removed or renamed in a directory that has the "
 "sticky bit set (see B<stat>(2))."
 msgstr ""
 msgid ""
 "The owner and group of an existing symbolic link can be changed using "
 "B<lchown>(2).  The only time that the ownership of a symbolic link matters "
 "is when the link is being removed or renamed in a directory that has the "
 "sticky bit set (see B<stat>(2))."
 msgstr ""
-"The owner and group of an existing symbolic link can be changed using "
-"B<lchown>(2).  The only time that the ownership of a symbolic link matters "
-"is when the link is being removed or renamed in a directory that has the "
-"sticky bit set (see B<stat>(2))."
+"既存のシンボリックリンクの所有者とグループは B<lchown>(2) を使って変更するこ"
+"とができる。 シンボリックリンクの所有権が問題となる場面は、 スティッキービッ"
+"ト (B<stat>(2) 参照) がセットされたディレクトリで、 そのリンクの削除や名前の"
+"変更を行おうとしている場合だけである。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man7/symlink.7:97
+#: build/C/man7/symlink.7:101
 msgid ""
 "The last access and last modification timestamps of a symbolic link can be "
 "changed using B<utimensat>(2)  or B<lutimes>(3)."
 msgstr ""
 msgid ""
 "The last access and last modification timestamps of a symbolic link can be "
 "changed using B<utimensat>(2)  or B<lutimes>(3)."
 msgstr ""
-"The last access and last modification timestamps of a symbolic link can be "
-"changed using B<utimensat>(2)  or B<lutimes>(3)."
+"シンボリックリンクの最終アクセス時刻と最終修正時刻は B<utimensat>(2) や "
+"B<lutimes>(3) で変更できる。"
 
 #.  Linux does not currently implement an lchmod(2).
 #.  The
 
 #.  Linux does not currently implement an lchmod(2).
 #.  The
@@ -13056,24 +16138,57 @@ msgstr ""
 #.  .BR chown (2)
 #.  became apparent.
 #. type: Plain text
 #.  .BR chown (2)
 #.  became apparent.
 #. type: Plain text
-#: build/C/man7/symlink.7:116
+#: build/C/man7/symlink.7:120
 msgid ""
 "On Linux, the permissions of a symbolic link are not used in any operations; "
 "the permissions are always 0777 (read, write, and execute for all user "
 "categories), and can't be changed."
 msgstr ""
 msgid ""
 "On Linux, the permissions of a symbolic link are not used in any operations; "
 "the permissions are always 0777 (read, write, and execute for all user "
 "categories), and can't be changed."
 msgstr ""
-"On Linux, the permissions of a symbolic link are not used in any operations; "
-"the permissions are always 0777 (read, write, and execute for all user "
-"categories), and can't be changed."
+"Linux では、シンボリックリンクのアクセス許可 (permission) はどの操作でも使用"
+"されない。 アクセス許可は常に 0777 (すべてのユーザカテゴリにおいて読み出し、"
+"書き込み、実行が可能) で、変更できない。"
+
+#. type: SS
+#: build/C/man7/symlink.7:120
+#, no-wrap
+msgid "Obtaining a file descriptor that refers to a symbolic link"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man7/symlink.7:138
+msgid ""
+"Using the combination of the B<O_PATH> and B<O_NOFOLLOW> flags to "
+"B<open>(2)  yields a file descriptor that can be passed as the I<dirfd> "
+"argument in system calls such as B<fstatat>(2), B<fchownat>(2), "
+"B<fchmodat>(2), B<linkat>(2), and B<readlinkat>(2), in order to operate on "
+"the symbolic link itself (rather than the file to which it refers)."
+msgstr ""
+"B<open>(2) に B<O_PATH> と B<O_NOFOLLOW> の両方のフラグを指定すると、ファイル"
+"ディスクリプターが得られる。このファイルディスクリプターは B<fstatat>(2), "
+"B<fchownat>(2), B<fchmodat>(2), B<linkat> (2), B<readlinkat>(2) などのシステ"
+"ムコールの I<dirfd> 引き数として渡して、 (シンボリックリンクが参照するファイ"
+"ルではなく) シンボリックリンク自身に対する操作を行うことができる。"
+
+#. type: Plain text
+#: build/C/man7/symlink.7:154
+msgid ""
+"By default (i.e., if the B<AT_SYMLINK_FOLLOW> flag is not specified), if "
+"B<name_to_handle_at>(2)  is applied to a symbolic link, it yields a handle "
+"for the symbolic link (rather than the file to which it refers).  One can "
+"then obtain a file descriptor for the symbolic link (rather than the file to "
+"which it refers)  by specifying the B<O_PATH> flag in a subsequent call to "
+"B<open_by_handle_at>(2).  Again, that file descriptor can be used in the "
+"aforementioned system calls to operate on the symbolic link itself."
+msgstr ""
 
 #. type: SS
 
 #. type: SS
-#: build/C/man7/symlink.7:116
+#: build/C/man7/symlink.7:154
 #, no-wrap
 msgid "Handling of symbolic links by system calls and commands"
 #, no-wrap
 msgid "Handling of symbolic links by system calls and commands"
-msgstr "Handling of symbolic links by system calls and commands"
+msgstr "システムコールやコマンドによるシンボリックリンクの取り扱い"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man7/symlink.7:131
+#: build/C/man7/symlink.7:169
 msgid ""
 "Symbolic links are handled either by operating on the link itself, or by "
 "operating on the object referred to by the link.  In the latter case, an "
 msgid ""
 "Symbolic links are handled either by operating on the link itself, or by "
 "operating on the object referred to by the link.  In the latter case, an "
@@ -13084,196 +16199,175 @@ msgid ""
 "(Loop detection is done by placing an upper limit on the number of links "
 "that may be followed, and an error results if this limit is exceeded.)"
 msgstr ""
 "(Loop detection is done by placing an upper limit on the number of links "
 "that may be followed, and an error results if this limit is exceeded.)"
 msgstr ""
-"Symbolic links are handled either by operating on the link itself, or by "
-"operating on the object referred to by the link.  In the latter case, an "
-"application or system call is said to I<follow> the link.  Symbolic links "
-"may refer to other symbolic links, in which case the links are dereferenced "
-"until an object that is not a symbolic link is found, a symbolic link that "
-"refers to a file which does not exist is found, or a loop is detected.  "
-"(Loop detection is done by placing an upper limit on the number of links "
-"that may be followed, and an error results if this limit is exceeded.)"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man7/symlink.7:134
+#: build/C/man7/symlink.7:172
 msgid ""
 "There are three separate areas that need to be discussed.  They are as "
 "follows:"
 msgid ""
 "There are three separate areas that need to be discussed.  They are as "
 "follows:"
-msgstr ""
-"There are three separate areas that need to be discussed.  They are as "
-"follows:"
+msgstr "3 つの領域に分けて議論する必要がある。以下の 3 つである。"
 
 #. type: IP
 
 #. type: IP
-#: build/C/man7/symlink.7:134
+#: build/C/man7/symlink.7:172
 #, no-wrap
 msgid "1."
 msgstr "1."
 
 #. type: Plain text
 #, no-wrap
 msgid "1."
 msgstr "1."
 
 #. type: Plain text
-#: build/C/man7/symlink.7:136
+#: build/C/man7/symlink.7:174
 msgid "Symbolic links used as filename arguments for system calls."
 msgid "Symbolic links used as filename arguments for system calls."
-msgstr "Symbolic links used as filename arguments for system calls."
+msgstr ""
+"システムコールのファイル名引き数としてシンボリックリンクが使用される場合。"
 
 #. type: IP
 
 #. type: IP
-#: build/C/man7/symlink.7:136
+#: build/C/man7/symlink.7:174
 #, no-wrap
 msgid "2."
 msgstr "2."
 
 #. type: Plain text
 #, no-wrap
 msgid "2."
 msgstr "2."
 
 #. type: Plain text
-#: build/C/man7/symlink.7:139
+#: build/C/man7/symlink.7:177
 msgid ""
 "Symbolic links specified as command-line arguments to utilities that are not "
 "traversing a file tree."
 msgstr ""
 msgid ""
 "Symbolic links specified as command-line arguments to utilities that are not "
 "traversing a file tree."
 msgstr ""
-"Symbolic links specified as command-line arguments to utilities that are not "
-"traversing a file tree."
+"ファイルツリーを辿っていないユーティリティのコマンドライン引き数としてシンボ"
+"リックリンクが指定される場合。"
 
 #. type: IP
 
 #. type: IP
-#: build/C/man7/symlink.7:139
+#: build/C/man7/symlink.7:177
 #, no-wrap
 msgid "3."
 msgstr "3."
 
 #. type: Plain text
 #, no-wrap
 msgid "3."
 msgstr "3."
 
 #. type: Plain text
-#: build/C/man7/symlink.7:143
+#: build/C/man7/symlink.7:181
 msgid ""
 "Symbolic links encountered by utilities that are traversing a file tree "
 "(either specified on the command line or encountered as part of the file "
 "hierarchy walk)."
 msgstr ""
 msgid ""
 "Symbolic links encountered by utilities that are traversing a file tree "
 "(either specified on the command line or encountered as part of the file "
 "hierarchy walk)."
 msgstr ""
-"Symbolic links encountered by utilities that are traversing a file tree "
-"(either specified on the command line or encountered as part of the file "
-"hierarchy walk)."
+"ファイルツリーを辿っているユーティリティがシンボリックリンクを見つけた場合 "
+"(コマンドラインで指定される場合もあれば、 ファイル階層を辿っている途中で遭遇"
+"する場合もある)。"
 
 #. type: SS
 
 #. type: SS
-#: build/C/man7/symlink.7:143
+#: build/C/man7/symlink.7:181
 #, no-wrap
 msgid "System calls"
 #, no-wrap
 msgid "System calls"
-msgstr "System calls"
+msgstr "システムコール"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man7/symlink.7:146
+#: build/C/man7/symlink.7:184
 msgid ""
 "The first area is symbolic links used as filename arguments for system calls."
 msgstr ""
 msgid ""
 "The first area is symbolic links used as filename arguments for system calls."
 msgstr ""
-"The first area is symbolic links used as filename arguments for system calls."
+"最初の領域は、システムコールのファイル名引き数としてシンボリックリンクが使用"
+"される場合である。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man7/symlink.7:156
+#: build/C/man7/symlink.7:194
 msgid ""
 "Except as noted below, all system calls follow symbolic links.  For example, "
 "if there were a symbolic link I<slink> which pointed to a file named "
 "I<afile>, the system call I<open(\"slink\" ...\\&)> would return a file "
 "descriptor referring to the file I<afile>."
 msgstr ""
 msgid ""
 "Except as noted below, all system calls follow symbolic links.  For example, "
 "if there were a symbolic link I<slink> which pointed to a file named "
 "I<afile>, the system call I<open(\"slink\" ...\\&)> would return a file "
 "descriptor referring to the file I<afile>."
 msgstr ""
-"Except as noted below, all system calls follow symbolic links.  For example, "
-"if there were a symbolic link I<slink> which pointed to a file named "
-"I<afile>, the system call I<open(\"slink\" ...\\&)> would return a file "
-"descriptor referring to the file I<afile>."
+"以下に述べる場合を除くと、 すべてのシステムコールはシンボリックリンクを辿"
+"る。 例えば、 I<afile> という名前のファイルを指しているシンボリックリンク "
+"I<slink> があったとすると、 システムコール I<open(\"slink\" ...\\&)> はファイ"
+"ル I<afile> を参照するファイルディスクリプタを返す。"
 
 
-#.  Maybe one day: .BR fchownat (2)
 #. type: Plain text
 #. type: Plain text
-#: build/C/man7/symlink.7:206
+#: build/C/man7/symlink.7:209
 msgid ""
 "Various system calls do not follow links, and operate on the symbolic link "
 "itself.  They are: B<lchown>(2), B<lgetxattr>(2), B<llistxattr>(2), "
 msgid ""
 "Various system calls do not follow links, and operate on the symbolic link "
 "itself.  They are: B<lchown>(2), B<lgetxattr>(2), B<llistxattr>(2), "
-"B<lremovexattr>(2), B<lsetxattr>(2), B<lstat>(2), B<readlink>(2), B<rename>"
-"(2), B<rmdir>(2), and B<unlink>(2).  Certain other system calls optionally "
-"follow symbolic links.  They are: B<faccessat>(2), B<fchownat>(2), B<fstatat>"
-"(2), B<linkat>(2), B<open>(2), B<openat>(2), and B<utimensat>(2); see their "
-"manual pages for details.  Because B<remove>(3)  is an alias for B<unlink>"
-"(2), that library function also does not follow symbolic links.  When "
-"B<rmdir>(2)  is applied to a symbolic link, it fails with the error "
-"B<ENOTDIR>.  The B<link>(2)  warrants special discussion.  POSIX.1-2001 "
-"specifies that B<link>(2)  should dereference I<oldpath> if it is a symbolic "
-"link.  However, Linux does not do this.  (By default Solaris is the same, "
-"but the POSIX.1-2001 specified behavior can be obtained with suitable "
-"compiler options.)  The upcoming POSIX.1 revision changes the specification "
-"to allow either behavior in an implementation."
+"B<lremovexattr>(2), B<lsetxattr>(2), B<lstat>(2), B<readlink>(2), "
+"B<rename>(2), B<rmdir>(2), and B<unlink>(2)."
+msgstr ""
+
+#.  Maybe one day: .BR fchownat (2)
+#. type: Plain text
+#: build/C/man7/symlink.7:233
+msgid ""
+"Certain other system calls optionally follow symbolic links.  They are: "
+"B<faccessat>(2), B<fchownat>(2), B<fstatat>(2), B<linkat>(2), "
+"B<name_to_handle_at>(2), B<open>(2), B<openat>(2), B<open_by_handle_at>(2), "
+"and B<utimensat>(2); see their manual pages for details.  Because "
+"B<remove>(3)  is an alias for B<unlink>(2), that library function also does "
+"not follow symbolic links.  When B<rmdir>(2)  is applied to a symbolic link, "
+"it fails with the error B<ENOTDIR>."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man7/symlink.7:248
+msgid ""
+"The B<link>(2)  warrants special discussion.  POSIX.1-2001 specifies that "
+"B<link>(2)  should dereference I<oldpath> if it is a symbolic link.  "
+"However, Linux does not do this.  (By default Solaris is the same, but the "
+"POSIX.1-2001 specified behavior can be obtained with suitable compiler "
+"options.)  The upcoming POSIX.1 revision changes the specification to allow "
+"either behavior in an implementation."
 msgstr ""
 msgstr ""
-"Various system calls do not follow links, and operate on the symbolic link "
-"itself.  They are: B<lchown>(2), B<lgetxattr>(2), B<llistxattr>(2), "
-"B<lremovexattr>(2), B<lsetxattr>(2), B<lstat>(2), B<readlink>(2), B<rename>"
-"(2), B<rmdir>(2), and B<unlink>(2).  Certain other system calls optionally "
-"follow symbolic links.  They are: B<faccessat>(2), B<fchownat>(2), B<fstatat>"
-"(2), B<linkat>(2), B<open>(2), B<openat>(2), and B<utimensat>(2); see their "
-"manual pages for details.  Because B<remove>(3)  is an alias for B<unlink>"
-"(2), that library function also does not follow symbolic links.  When "
-"B<rmdir>(2)  is applied to a symbolic link, it fails with the error "
-"B<ENOTDIR>.  The B<link>(2)  warrants special discussion.  POSIX.1-2001 "
-"specifies that B<link>(2)  should dereference I<oldpath> if it is a symbolic "
-"link.  However, Linux does not do this.  (By default Solaris is the same, "
-"but the POSIX.1-2001 specified behavior can be obtained with suitable "
-"compiler options.)  The upcoming POSIX.1 revision changes the specification "
-"to allow either behavior in an implementation."
 
 #. type: SS
 
 #. type: SS
-#: build/C/man7/symlink.7:206
+#: build/C/man7/symlink.7:248
 #, no-wrap
 msgid "Commands not traversing a file tree"
 #, no-wrap
 msgid "Commands not traversing a file tree"
-msgstr "Commands not traversing a file tree"
+msgstr "ファイルツリーを辿らないコマンド"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man7/symlink.7:209
+#: build/C/man7/symlink.7:251
 msgid ""
 "The second area is symbolic links, specified as command-line filename "
 "arguments, to commands which are not traversing a file tree."
 msgstr ""
 msgid ""
 "The second area is symbolic links, specified as command-line filename "
 "arguments, to commands which are not traversing a file tree."
 msgstr ""
-"The second area is symbolic links, specified as command-line filename "
-"arguments, to commands which are not traversing a file tree."
+"二つ目の領域は、ファイルツリーを辿らないコマンドの、コマンドライン引き数の"
+"ファイル名としてシンボリックリンクが指定される場合である。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man7/symlink.7:220
+#: build/C/man7/symlink.7:262
 msgid ""
 "Except as noted below, commands follow symbolic links named as command-line "
 "arguments.  For example, if there were a symbolic link I<slink> which "
 "pointed to a file named I<afile>, the command I<cat slink> would display the "
 "contents of the file I<afile>."
 msgstr ""
 msgid ""
 "Except as noted below, commands follow symbolic links named as command-line "
 "arguments.  For example, if there were a symbolic link I<slink> which "
 "pointed to a file named I<afile>, the command I<cat slink> would display the "
 "contents of the file I<afile>."
 msgstr ""
-"Except as noted below, commands follow symbolic links named as command-line "
-"arguments.  For example, if there were a symbolic link I<slink> which "
-"pointed to a file named I<afile>, the command I<cat slink> would display the "
-"contents of the file I<afile>."
+"以下に述べる場合を除くと、 コマンドはコマンドライン引き数で指定された名前のシ"
+"ンボリックリンクを辿る。 例えば、 I<afile> という名前のファイルを指しているシ"
+"ンボリックリンク I<slink> があったとすると、 コマンド I<cat slink> は "
+"I<afile> の内容を表示することになる。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man7/symlink.7:228
+#: build/C/man7/symlink.7:270
 msgid ""
 "It is important to realize that this rule includes commands which may "
 msgid ""
 "It is important to realize that this rule includes commands which may "
-"optionally traverse file trees, e.g., the command I<chown file> is included "
-"in this rule, while the command I<chown\\ -R file>, which performs a tree "
-"traversal, is not.  (The latter is described in the third area, below.)"
+"optionally traverse file trees; for example, the command I<chown file> is "
+"included in this rule, while the command I<chown\\ -R file>, which performs "
+"a tree traversal, is not.  (The latter is described in the third area, "
+"below.)"
 msgstr ""
 msgstr ""
-"It is important to realize that this rule includes commands which may "
-"optionally traverse file trees, e.g., the command I<chown file> is included "
-"in this rule, while the command I<chown\\ -R file>, which performs a tree "
-"traversal, is not.  (The latter is described in the third area, below.)"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man7/symlink.7:246
+#: build/C/man7/symlink.7:288
 msgid ""
 "If it is explicitly intended that the command operate on the symbolic link "
 msgid ""
 "If it is explicitly intended that the command operate on the symbolic link "
-"instead of following the symbolic link, e.g., it is desired that I<chown "
-"slink> change the ownership of the file that I<slink> is, whether it is a "
-"symbolic link or not, the I<-h> option should be used.  In the above "
+"instead of following the symbolic link\\(emfor example, it is desired that "
+"I<chown slink> change the ownership of the file that I<slink> is, whether it "
+"is a symbolic link or not\\(emthe I<-h> option should be used.  In the above "
 "example, I<chown root slink> would change the ownership of the file referred "
 "to by I<slink>, while I<chown\\ -h root slink> would change the ownership of "
 "I<slink> itself."
 msgstr ""
 "example, I<chown root slink> would change the ownership of the file referred "
 "to by I<slink>, while I<chown\\ -h root slink> would change the ownership of "
 "I<slink> itself."
 msgstr ""
-"If it is explicitly intended that the command operate on the symbolic link "
-"instead of following the symbolic link, e.g., it is desired that I<chown "
-"slink> change the ownership of the file that I<slink> is, whether it is a "
-"symbolic link or not, the I<-h> option should be used.  In the above "
-"example, I<chown root slink> would change the ownership of the file referred "
-"to by I<slink>, while I<chown\\ -h root slink> would change the ownership of "
-"I<slink> itself."
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man7/symlink.7:248
+#: build/C/man7/symlink.7:290
 msgid "There are some exceptions to this rule:"
 msgid "There are some exceptions to this rule:"
-msgstr "There are some exceptions to this rule:"
+msgstr "このルールにはいくつかの例外がある。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man7/symlink.7:258
+#: build/C/man7/symlink.7:300
 msgid ""
 "The B<mv>(1)  and B<rm>(1)  commands do not follow symbolic links named as "
 "arguments, but respectively attempt to rename and delete them.  (Note, if "
 msgid ""
 "The B<mv>(1)  and B<rm>(1)  commands do not follow symbolic links named as "
 "arguments, but respectively attempt to rename and delete them.  (Note, if "
@@ -13281,30 +16375,23 @@ msgid ""
 "another directory may very well cause it to stop working, since the path may "
 "no longer be correct.)"
 msgstr ""
 "another directory may very well cause it to stop working, since the path may "
 "no longer be correct.)"
 msgstr ""
-"The B<mv>(1)  and B<rm>(1)  commands do not follow symbolic links named as "
-"arguments, but respectively attempt to rename and delete them.  (Note, if "
-"the symbolic link references a file via a relative path, moving it to "
-"another directory may very well cause it to stop working, since the path may "
-"no longer be correct.)"
+"コマンド B<mv>(1) と B<rm>(1) は引き数で指定された名前のシンボリックリンクを"
+"辿らないが、 それぞれシンボリックリンク自身の名前変更と削除を行おうとする。 "
+"(シンボリックリンクが相対パスでファイルを参照している場合、 そのシンボリック"
+"リンクを別のディレクトリに移動すると、動かなくなることが非常によくある。 移動"
+"の結果、 パスが正しくないものになってしまうからである。)"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man7/symlink.7:288
+#: build/C/man7/symlink.7:330
 msgid ""
 "The B<ls>(1)  command is also an exception to this rule.  For compatibility "
 msgid ""
 "The B<ls>(1)  command is also an exception to this rule.  For compatibility "
-"with historic systems (when B<ls>(1)  is not doing a tree walk, i.e., the I<-"
-"R> option is not specified), the B<ls>(1)  command follows symbolic links "
+"with historic systems (when B<ls>(1)  is not doing a tree walk\\(emthat is, "
+"I<-R> option is not specified), the B<ls>(1)  command follows symbolic links "
 "named as arguments if the I<-H> or I<-L> option is specified, or if the I<-"
 "F>, I<-d>, or I<-l> options are not specified.  (The B<ls>(1)  command is "
 "the only command where the I<-H> and I<-L> options affect its behavior even "
 "though it is not doing a walk of a file tree.)"
 msgstr ""
 "named as arguments if the I<-H> or I<-L> option is specified, or if the I<-"
 "F>, I<-d>, or I<-l> options are not specified.  (The B<ls>(1)  command is "
 "the only command where the I<-H> and I<-L> options affect its behavior even "
 "though it is not doing a walk of a file tree.)"
 msgstr ""
-"The B<ls>(1)  command is also an exception to this rule.  For compatibility "
-"with historic systems (when B<ls>(1)  is not doing a tree walk, i.e., the I<-"
-"R> option is not specified), the B<ls>(1)  command follows symbolic links "
-"named as arguments if the I<-H> or I<-L> option is specified, or if the I<-"
-"F>, I<-d>, or I<-l> options are not specified.  (The B<ls>(1)  command is "
-"the only command where the I<-H> and I<-L> options affect its behavior even "
-"though it is not doing a walk of a file tree.)"
 
 #. The 4.4BSD system differs from historical 4BSD systems in that the
 #. .BR chown (1)
 
 #. The 4.4BSD system differs from historical 4BSD systems in that the
 #. .BR chown (1)
@@ -13312,94 +16399,71 @@ msgstr ""
 #. .BR chgrp (1)
 #. commands follow symbolic links specified on the command line.
 #. type: Plain text
 #. .BR chgrp (1)
 #. commands follow symbolic links specified on the command line.
 #. type: Plain text
-#: build/C/man7/symlink.7:306
+#: build/C/man7/symlink.7:348
 msgid ""
 "The B<file>(1)  command is also an exception to this rule.  The B<file>(1)  "
 "command does not follow symbolic links named as argument by default.  The "
 "B<file>(1)  command does follow symbolic links named as argument if the I<-"
 "L> option is specified."
 msgstr ""
 msgid ""
 "The B<file>(1)  command is also an exception to this rule.  The B<file>(1)  "
 "command does not follow symbolic links named as argument by default.  The "
 "B<file>(1)  command does follow symbolic links named as argument if the I<-"
 "L> option is specified."
 msgstr ""
-"The B<file>(1)  command is also an exception to this rule.  The B<file>(1)  "
-"command does not follow symbolic links named as argument by default.  The "
-"B<file>(1)  command does follow symbolic links named as argument if the I<-"
-"L> option is specified."
 
 #. type: SS
 
 #. type: SS
-#: build/C/man7/symlink.7:306
+#: build/C/man7/symlink.7:348
 #, no-wrap
 msgid "Commands traversing a file tree"
 #, no-wrap
 msgid "Commands traversing a file tree"
-msgstr "Commands traversing a file tree"
+msgstr "ファイルツリーを辿るコマンド"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man7/symlink.7:319
+#: build/C/man7/symlink.7:361
 msgid ""
 "The following commands either optionally or always traverse file trees: "
 msgid ""
 "The following commands either optionally or always traverse file trees: "
-"B<chgrp>(1), B<chmod>(1), B<chown>(1), B<cp>(1), B<du>(1), B<find>(1), B<ls>"
-"(1), B<pax>(1), B<rm>(1), and B<tar>(1)."
+"B<chgrp>(1), B<chmod>(1), B<chown>(1), B<cp>(1), B<du>(1), B<find>(1), "
+"B<ls>(1), B<pax>(1), B<rm>(1), and B<tar>(1)."
 msgstr ""
 msgstr ""
-"The following commands either optionally or always traverse file trees: "
-"B<chgrp>(1), B<chmod>(1), B<chown>(1), B<cp>(1), B<du>(1), B<find>(1), B<ls>"
-"(1), B<pax>(1), B<rm>(1), and B<tar>(1)."
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man7/symlink.7:323
+#: build/C/man7/symlink.7:365
 msgid ""
 "It is important to realize that the following rules apply equally to "
 "symbolic links encountered during the file tree traversal and symbolic links "
 "listed as command-line arguments."
 msgstr ""
 msgid ""
 "It is important to realize that the following rules apply equally to "
 "symbolic links encountered during the file tree traversal and symbolic links "
 "listed as command-line arguments."
 msgstr ""
-"It is important to realize that the following rules apply equally to "
-"symbolic links encountered during the file tree traversal and symbolic links "
-"listed as command-line arguments."
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man7/symlink.7:328
+#: build/C/man7/symlink.7:370
 msgid ""
 "The I<first rule> applies to symbolic links that reference files other than "
 "directories.  Operations that apply to symbolic links are performed on the "
 "links themselves, but otherwise the links are ignored."
 msgstr ""
 msgid ""
 "The I<first rule> applies to symbolic links that reference files other than "
 "directories.  Operations that apply to symbolic links are performed on the "
 "links themselves, but otherwise the links are ignored."
 msgstr ""
-"The I<first rule> applies to symbolic links that reference files other than "
-"directories.  Operations that apply to symbolic links are performed on the "
-"links themselves, but otherwise the links are ignored."
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man7/symlink.7:340
+#: build/C/man7/symlink.7:382
 msgid ""
 "The command I<rm\\ -r slink directory> will remove I<slink>, as well as any "
 "symbolic links encountered in the tree traversal of I<directory>, because "
 "symbolic links may be removed.  In no case will B<rm>(1)  affect the file "
 "referred to by I<slink>."
 msgstr ""
 msgid ""
 "The command I<rm\\ -r slink directory> will remove I<slink>, as well as any "
 "symbolic links encountered in the tree traversal of I<directory>, because "
 "symbolic links may be removed.  In no case will B<rm>(1)  affect the file "
 "referred to by I<slink>."
 msgstr ""
-"The command I<rm\\ -r slink directory> will remove I<slink>, as well as any "
-"symbolic links encountered in the tree traversal of I<directory>, because "
-"symbolic links may be removed.  In no case will B<rm>(1)  affect the file "
-"referred to by I<slink>."
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man7/symlink.7:345
+#: build/C/man7/symlink.7:387
 msgid ""
 "The I<second rule> applies to symbolic links that refer to directories.  "
 "Symbolic links that refer to directories are never followed by default.  "
 "This is often referred to as a \"physical\" walk, as opposed to a \"logical"
 "\" walk (where symbolic links the refer to directories are followed)."
 msgstr ""
 msgid ""
 "The I<second rule> applies to symbolic links that refer to directories.  "
 "Symbolic links that refer to directories are never followed by default.  "
 "This is often referred to as a \"physical\" walk, as opposed to a \"logical"
 "\" walk (where symbolic links the refer to directories are followed)."
 msgstr ""
-"The I<second rule> applies to symbolic links that refer to directories.  "
-"Symbolic links that refer to directories are never followed by default.  "
-"This is often referred to as a \"physical\" walk, as opposed to a \"logical"
-"\" walk (where symbolic links the refer to directories are followed)."
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man7/symlink.7:348
+#: build/C/man7/symlink.7:390
 msgid ""
 "Certain conventions are (should be) followed as consistently as possible by "
 "commands that perform file tree walks:"
 msgstr ""
 msgid ""
 "Certain conventions are (should be) followed as consistently as possible by "
 "commands that perform file tree walks:"
 msgstr ""
-"Certain conventions are (should be) followed as consistently as possible by "
-"commands that perform file tree walks:"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man7/symlink.7:361
+#: build/C/man7/symlink.7:403
 msgid ""
 "A command can be made to follow any symbolic links named on the command "
 "line, regardless of the type of file they reference, by specifying the I<-H> "
 msgid ""
 "A command can be made to follow any symbolic links named on the command "
 "line, regardless of the type of file they reference, by specifying the I<-H> "
@@ -13408,15 +16472,9 @@ msgid ""
 "not always do file tree traversals, the I<-H> flag will be ignored if the I<-"
 "R> flag is not also specified.)"
 msgstr ""
 "not always do file tree traversals, the I<-H> flag will be ignored if the I<-"
 "R> flag is not also specified.)"
 msgstr ""
-"A command can be made to follow any symbolic links named on the command "
-"line, regardless of the type of file they reference, by specifying the I<-H> "
-"(for \"half-logical\") flag.  This flag is intended to make the command-line "
-"name space look like the logical name space.  (Note, for commands that do "
-"not always do file tree traversals, the I<-H> flag will be ignored if the I<-"
-"R> flag is not also specified.)"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man7/symlink.7:377
+#: build/C/man7/symlink.7:419
 msgid ""
 "For example, the command I<chown\\ -HR user slink> will traverse the file "
 "hierarchy rooted in the file pointed to by I<slink>.  Note, the I<-H> is not "
 msgid ""
 "For example, the command I<chown\\ -HR user slink> will traverse the file "
 "hierarchy rooted in the file pointed to by I<slink>.  Note, the I<-H> is not "
@@ -13426,16 +16484,9 @@ msgid ""
 "if the user had specified the name of the file to which the symbolic link "
 "pointed."
 msgstr ""
 "if the user had specified the name of the file to which the symbolic link "
 "pointed."
 msgstr ""
-"For example, the command I<chown\\ -HR user slink> will traverse the file "
-"hierarchy rooted in the file pointed to by I<slink>.  Note, the I<-H> is not "
-"the same as the previously discussed I<-h> flag.  The I<-H> flag causes "
-"symbolic links specified on the command line to be dereferenced for the "
-"purposes of both the action to be performed and the tree walk, and it is as "
-"if the user had specified the name of the file to which the symbolic link "
-"pointed."
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man7/symlink.7:391
+#: build/C/man7/symlink.7:433
 msgid ""
 "A command can be made to follow any symbolic links named on the command "
 "line, as well as any symbolic links encountered during the traversal, "
 msgid ""
 "A command can be made to follow any symbolic links named on the command "
 "line, as well as any symbolic links encountered during the traversal, "
@@ -13445,16 +16496,9 @@ msgid ""
 "tree traversals, the I<-L> flag will be ignored if the I<-R> flag is not "
 "also specified.)"
 msgstr ""
 "tree traversals, the I<-L> flag will be ignored if the I<-R> flag is not "
 "also specified.)"
 msgstr ""
-"A command can be made to follow any symbolic links named on the command "
-"line, as well as any symbolic links encountered during the traversal, "
-"regardless of the type of file they reference, by specifying the I<-L> (for "
-"\"logical\") flag.  This flag is intended to make the entire name space look "
-"like the logical name space.  (Note, for commands that do not always do file "
-"tree traversals, the I<-L> flag will be ignored if the I<-R> flag is not "
-"also specified.)"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man7/symlink.7:406
+#: build/C/man7/symlink.7:448
 msgid ""
 "For example, the command I<chown\\ -LR user slink> will change the owner of "
 "the file referred to by I<slink>.  If I<slink> refers to a directory, "
 msgid ""
 "For example, the command I<chown\\ -LR user slink> will change the owner of "
 "the file referred to by I<slink>.  If I<slink> refers to a directory, "
@@ -13463,26 +16507,17 @@ msgid ""
 "tree that B<chown> traverses, they will be treated in the same fashion as "
 "I<slink>."
 msgstr ""
 "tree that B<chown> traverses, they will be treated in the same fashion as "
 "I<slink>."
 msgstr ""
-"For example, the command I<chown\\ -LR user slink> will change the owner of "
-"the file referred to by I<slink>.  If I<slink> refers to a directory, "
-"B<chown> will traverse the file hierarchy rooted in the directory that it "
-"references.  In addition, if any symbolic links are encountered in any file "
-"tree that B<chown> traverses, they will be treated in the same fashion as "
-"I<slink>."
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man7/symlink.7:413
+#: build/C/man7/symlink.7:455
 msgid ""
 "A command can be made to provide the default behavior by specifying the I<-"
 "P> (for \"physical\") flag.  This flag is intended to make the entire name "
 "space look like the physical name space."
 msgstr ""
 msgid ""
 "A command can be made to provide the default behavior by specifying the I<-"
 "P> (for \"physical\") flag.  This flag is intended to make the entire name "
 "space look like the physical name space."
 msgstr ""
-"A command can be made to provide the default behavior by specifying the I<-"
-"P> (for \"physical\") flag.  This flag is intended to make the entire name "
-"space look like the physical name space."
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man7/symlink.7:431
+#: build/C/man7/symlink.7:473
 msgid ""
 "For commands that do not by default do file tree traversals, the I<-H>, I<-"
 "L>, and I<-P> flags are ignored if the I<-R> flag is not also specified.  In "
 msgid ""
 "For commands that do not by default do file tree traversals, the I<-H>, I<-"
 "L>, and I<-P> flags are ignored if the I<-R> flag is not also specified.  In "
@@ -13491,31 +16526,26 @@ msgid ""
 "intended to permit you to alias commands to behave one way or the other, and "
 "then override that behavior on the command line."
 msgstr ""
 "intended to permit you to alias commands to behave one way or the other, and "
 "then override that behavior on the command line."
 msgstr ""
-"For commands that do not by default do file tree traversals, the I<-H>, I<-"
-"L>, and I<-P> flags are ignored if the I<-R> flag is not also specified.  In "
-"addition, you may specify the I<-H>, I<-L>, and I<-P> options more than "
-"once; the last one specified determines the command's behavior.  This is "
-"intended to permit you to alias commands to behave one way or the other, and "
-"then override that behavior on the command line."
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man7/symlink.7:437
+#: build/C/man7/symlink.7:479
 msgid "The B<ls>(1)  and B<rm>(1)  commands have exceptions to these rules:"
 msgid "The B<ls>(1)  and B<rm>(1)  commands have exceptions to these rules:"
-msgstr "The B<ls>(1)  and B<rm>(1)  commands have exceptions to these rules:"
+msgstr ""
+"コマンド B<ls>(1) と B<rm>(1) には、 これらのルールに対する例外がある。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man7/symlink.7:450
+#: build/C/man7/symlink.7:492
 msgid ""
 "The B<rm>(1)  command operates on the symbolic link, and not the file it "
 "references, and therefore never follows a symbolic link.  The B<rm>(1)  "
 "command does not support the I<-H>, I<-L>, or I<-P> options."
 msgstr ""
 msgid ""
 "The B<rm>(1)  command operates on the symbolic link, and not the file it "
 "references, and therefore never follows a symbolic link.  The B<rm>(1)  "
 "command does not support the I<-H>, I<-L>, or I<-P> options."
 msgstr ""
-"The B<rm>(1)  command operates on the symbolic link, and not the file it "
-"references, and therefore never follows a symbolic link.  The B<rm>(1)  "
-"command does not support the I<-H>, I<-L>, or I<-P> options."
+"B<rm>(1) コマンドは、 参照先のファイルではなく、シンボリックリンクに対して操"
+"作を行う。 したがって、 シンボリックリンクを辿ることはない。 B<rm>(1) コマン"
+"ドはオプション I<-H>, I<-L>, I<-P> をサポートしていない。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man7/symlink.7:470
+#: build/C/man7/symlink.7:512
 msgid ""
 "To maintain compatibility with historic systems, the B<ls>(1)  command acts "
 "a little differently.  If you do not specify the I<-F>, I<-d> or I<-l> "
 msgid ""
 "To maintain compatibility with historic systems, the B<ls>(1)  command acts "
 "a little differently.  If you do not specify the I<-F>, I<-d> or I<-l> "
@@ -13524,63 +16554,65 @@ msgid ""
 "regardless of their type, whether specified on the command line or "
 "encountered in the tree walk."
 msgstr ""
 "regardless of their type, whether specified on the command line or "
 "encountered in the tree walk."
 msgstr ""
-"To maintain compatibility with historic systems, the B<ls>(1)  command acts "
-"a little differently.  If you do not specify the I<-F>, I<-d> or I<-l> "
-"options, B<ls>(1)  will follow symbolic links specified on the command "
-"line.  If the I<-L> flag is specified, B<ls>(1)  follows all symbolic links, "
-"regardless of their type, whether specified on the command line or "
-"encountered in the tree walk."
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man7/symlink.7:488
+#: build/C/man7/symlink.7:530
 msgid ""
 msgid ""
-"B<chgrp>(1), B<chmod>(1), B<find>(1), B<ln>(1), B<ls>(1), B<mv>(1), B<rm>"
-"(1), B<lchown>(2), B<link>(2), B<lstat>(2), B<readlink>(2), B<rename>(2), "
-"B<symlink>(2), B<unlink>(2), B<utimensat>(2), B<lutimes>(3), "
+"B<chgrp>(1), B<chmod>(1), B<find>(1), B<ln>(1), B<ls>(1), B<mv>(1), "
+"B<rm>(1), B<lchown>(2), B<link>(2), B<lstat>(2), B<readlink>(2), "
+"B<rename>(2), B<symlink>(2), B<unlink>(2), B<utimensat>(2), B<lutimes>(3), "
 "B<path_resolution>(7)"
 msgstr ""
 "B<path_resolution>(7)"
 msgstr ""
-"B<chgrp>(1), B<chmod>(1), B<find>(1), B<ln>(1), B<ls>(1), B<mv>(1), B<rm>"
-"(1), B<lchown>(2), B<link>(2), B<lstat>(2), B<readlink>(2), B<rename>(2), "
-"B<symlink>(2), B<unlink>(2), B<utimensat>(2), B<lutimes>(3), "
-"B<path_resolution>(7)"
+"B<chgrp>(1), B<chmod>(1), B<find>(1), B<ln>(1), B<ls>(1), B<mv>(1),\n"
+"B<rm>(1), B<lchown>(2), B<link>(2), B<lstat>(2), B<readlink>(2),\n"
+"B<rename>(2), B<symlink>(2), B<unlink>(2), B<utimensat>(2),\n"
+"B<lutimes>(3), B<path_resolution>(7)"
 
 #. type: TH
 
 #. type: TH
-#: build/C/man3/tempnam.3:23
+#: build/C/man3/tempnam.3:25
 #, no-wrap
 msgid "TEMPNAM"
 msgstr "TEMPNAM"
 
 #. type: TH
 #, no-wrap
 msgid "TEMPNAM"
 msgstr "TEMPNAM"
 
 #. type: TH
-#: build/C/man3/tempnam.3:23
+#: build/C/man3/tempnam.3:25 build/C/man3/tmpnam.3:27
 #, no-wrap
 #, no-wrap
-msgid "2008-08-06"
-msgstr "2008-08-06"
+msgid "2014-02-27"
+msgstr "2014-02-27"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/tempnam.3:26
+#: build/C/man3/tempnam.3:28
 msgid "tempnam - create a name for a temporary file"
 msgstr "tempnam - テンポラリファイルの名前を作成する"
 
 #. type: Plain text
 msgid "tempnam - create a name for a temporary file"
 msgstr "tempnam - テンポラリファイルの名前を作成する"
 
 #. type: Plain text
-#: build/C/man3/tempnam.3:31
+#: build/C/man3/tempnam.3:33
 #, no-wrap
 msgid "B<char *tempnam(const char *>I<dir>B<, const char *>I<pfx>B<);>\n"
 msgstr "B<char *tempnam(const char *>I<dir>B<, const char *>I<pfx>B<);>\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<char *tempnam(const char *>I<dir>B<, const char *>I<pfx>B<);>\n"
 msgstr "B<char *tempnam(const char *>I<dir>B<, const char *>I<pfx>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/tempnam.3:40
+#: build/C/man3/tempnam.3:42
 msgid "B<tempnam>(): _BSD_SOURCE || _SVID_SOURCE"
 msgstr "B<tempnam>(): _BSD_SOURCE || _SVID_SOURCE"
 
 #. type: Plain text
 msgid "B<tempnam>(): _BSD_SOURCE || _SVID_SOURCE"
 msgstr "B<tempnam>(): _BSD_SOURCE || _SVID_SOURCE"
 
 #. type: Plain text
-#: build/C/man3/tempnam.3:54
+#: build/C/man3/tempnam.3:49
+msgid ""
+"I<Never use this function.> Use B<mkstemp>(3)  or B<tmpfile>(3)  instead."
+msgstr ""
+"I<決してこの関数を使用しないこと。> 代わりに B<mkstemp>(3)  か B<tmpfile>(3) "
+"を使うこと。"
+
+#. type: Plain text
+#: build/C/man3/tempnam.3:63
 msgid ""
 "The B<tempnam>()  function returns a pointer to a string that is a valid "
 msgid ""
 "The B<tempnam>()  function returns a pointer to a string that is a valid "
-"filename, and such that a file with this name did not exist when B<tempnam>"
-"()  checked.  The filename suffix of the pathname generated will start with "
-"I<pfx> in case I<pfx> is a non-NULL string of at most five bytes.  The "
-"directory prefix part of the pathname generated is required to be "
-"\"appropriate\" (often that at least implies writable)."
+"filename, and such that a file with this name did not exist when "
+"B<tempnam>()  checked.  The filename suffix of the pathname generated will "
+"start with I<pfx> in case I<pfx> is a non-NULL string of at most five "
+"bytes.  The directory prefix part of the pathname generated is required to "
+"be \"appropriate\" (often that at least implies writable)."
 msgstr ""
 "B<tempnam>()  関数はファイル名として正しい文字列へのポインタを返す。 このファ"
 "イル名を持つファイルは、 B<tempnam>()  がチェックした時点においては存在しな"
 msgstr ""
 "B<tempnam>()  関数はファイル名として正しい文字列へのポインタを返す。 このファ"
 "イル名を持つファイルは、 B<tempnam>()  がチェックした時点においては存在しな"
@@ -13590,19 +16622,19 @@ msgstr ""
 "ためにはまず少なくとも 書き込み可能でなければならない)。"
 
 #. type: Plain text
 "ためにはまず少なくとも 書き込み可能でなければならない)。"
 
 #. type: Plain text
-#: build/C/man3/tempnam.3:57
+#: build/C/man3/tempnam.3:66
 msgid ""
 "Attempts to find an appropriate directory go through the following steps:"
 msgstr "適切なディレクトリの探索は、以下の手順にしたがって行われる。"
 
 #. type: TP
 msgid ""
 "Attempts to find an appropriate directory go through the following steps:"
 msgstr "適切なディレクトリの探索は、以下の手順にしたがって行われる。"
 
 #. type: TP
-#: build/C/man3/tempnam.3:57
+#: build/C/man3/tempnam.3:66
 #, no-wrap
 msgid "a)"
 msgstr "a)"
 
 #. type: Plain text
 #, no-wrap
 msgid "a)"
 msgstr "a)"
 
 #. type: Plain text
-#: build/C/man3/tempnam.3:63
+#: build/C/man3/tempnam.3:72
 msgid ""
 "In case the environment variable B<TMPDIR> exists and contains the name of "
 "an appropriate directory, that is used."
 msgid ""
 "In case the environment variable B<TMPDIR> exists and contains the name of "
 "an appropriate directory, that is used."
@@ -13611,13 +16643,13 @@ msgstr ""
 "ら、それを用いる。"
 
 #. type: TP
 "ら、それを用いる。"
 
 #. type: TP
-#: build/C/man3/tempnam.3:63
+#: build/C/man3/tempnam.3:72
 #, no-wrap
 msgid "b)"
 msgstr "b)"
 
 #. type: Plain text
 #, no-wrap
 msgid "b)"
 msgstr "b)"
 
 #. type: Plain text
-#: build/C/man3/tempnam.3:68
+#: build/C/man3/tempnam.3:77
 msgid ""
 "Otherwise, if the I<dir> argument is non-NULL and appropriate, it is used."
 msgstr ""
 msgid ""
 "Otherwise, if the I<dir> argument is non-NULL and appropriate, it is used."
 msgstr ""
@@ -13625,13 +16657,13 @@ msgstr ""
 "る。"
 
 #. type: TP
 "る。"
 
 #. type: TP
-#: build/C/man3/tempnam.3:68
+#: build/C/man3/tempnam.3:77
 #, no-wrap
 msgid "c)"
 msgstr "c)"
 
 #. type: Plain text
 #, no-wrap
 msgid "c)"
 msgstr "c)"
 
 #. type: Plain text
-#: build/C/man3/tempnam.3:75
+#: build/C/man3/tempnam.3:84
 msgid ""
 "Otherwise, I<P_tmpdir> (as defined in I<E<lt>stdio.hE<gt>>)  is used when "
 "appropriate."
 msgid ""
 "Otherwise, I<P_tmpdir> (as defined in I<E<lt>stdio.hE<gt>>)  is used when "
 "appropriate."
@@ -13640,18 +16672,18 @@ msgstr ""
 "なら、それを用いる。"
 
 #. type: TP
 "なら、それを用いる。"
 
 #. type: TP
-#: build/C/man3/tempnam.3:75
+#: build/C/man3/tempnam.3:84
 #, no-wrap
 msgid "d)"
 msgstr "d)"
 
 #. type: Plain text
 #, no-wrap
 msgid "d)"
 msgstr "d)"
 
 #. type: Plain text
-#: build/C/man3/tempnam.3:78
+#: build/C/man3/tempnam.3:87
 msgid "Finally an implementation-defined directory may be used."
 msgstr "最後に実装で定義されたディレクトリが用いられることになる。"
 
 #. type: Plain text
 msgid "Finally an implementation-defined directory may be used."
 msgstr "最後に実装で定義されたディレクトリが用いられることになる。"
 
 #. type: Plain text
-#: build/C/man3/tempnam.3:85
+#: build/C/man3/tempnam.3:94
 msgid ""
 "The string returned by B<tempnam>()  is allocated using B<malloc>(3)  and "
 "hence should be freed by B<free>(3)."
 msgid ""
 "The string returned by B<tempnam>()  is allocated using B<malloc>(3)  and "
 "hence should be freed by B<free>(3)."
@@ -13660,21 +16692,23 @@ msgstr ""
 "B<free>(3)  で解放すべきである。"
 
 #. type: Plain text
 "B<free>(3)  で解放すべきである。"
 
 #. type: Plain text
-#: build/C/man3/tempnam.3:90
+#: build/C/man3/tempnam.3:101
 msgid ""
 msgid ""
-"The B<tempnam>()  function returns a pointer to a unique temporary filename, "
-"or NULL if a unique name cannot be generated."
+"On success, the B<tempnam>()  function returns a pointer to a unique "
+"temporary filename.  It returns NULL if a unique name cannot be generated, "
+"with I<errno> set to indicate the cause of the error."
 msgstr ""
 msgstr ""
-"B<tempnam>()  関数は他と重ならないテンポラリファイル名へのポインタを返す。 他"
-"と重ならない名前が生成できなければ NULL を返す。"
+"成功すると B<tempnam>()  関数は、一意なテンポラリファイル名へのポインタを返"
+"す。 一意な名前が生成できなければ NULL を返し、 I<errno> にエラーの原因を示す"
+"値を設定する。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/tempnam.3:94
+#: build/C/man3/tempnam.3:105
 msgid "Allocation of storage failed."
 msgstr "保存領域の割り当てに失敗した。"
 
 #. type: Plain text
 msgid "Allocation of storage failed."
 msgstr "保存領域の割り当てに失敗した。"
 
 #. type: Plain text
-#: build/C/man3/tempnam.3:99
+#: build/C/man3/tempnam.3:110
 msgid ""
 "SVr4, 4.3BSD, POSIX.1-2001.  POSIX.1-2008 marks B<tempnam>()  as obsolete."
 msgstr ""
 msgid ""
 "SVr4, 4.3BSD, POSIX.1-2001.  POSIX.1-2008 marks B<tempnam>()  as obsolete."
 msgstr ""
@@ -13682,7 +16716,7 @@ msgstr ""
 "る。"
 
 #. type: Plain text
 "る。"
 
 #. type: Plain text
-#: build/C/man3/tempnam.3:118
+#: build/C/man3/tempnam.3:129
 msgid ""
 "Although B<tempnam>()  generates names that are difficult to guess, it is "
 "nevertheless possible that between the time that B<tempnam>()  returns a "
 msgid ""
 "Although B<tempnam>()  generates names that are difficult to guess, it is "
 "nevertheless possible that between the time that B<tempnam>()  returns a "
@@ -13692,16 +16726,16 @@ msgid ""
 "B<open>(2)  B<O_EXCL> flag to open the pathname.  Or better yet, use "
 "B<mkstemp>(3)  or B<tmpfile>(3)."
 msgstr ""
 "B<open>(2)  B<O_EXCL> flag to open the pathname.  Or better yet, use "
 "B<mkstemp>(3)  or B<tmpfile>(3)."
 msgstr ""
-"B<tempnam>()  は推測が難しい名前を生成するが、それにもかかわらず、 B<tempnam>"
-"()  がパス名を返してから、プログラムがそのファイルをオープンする までの間に、"
-"別のプログラムが同じパス名で、ファイルを B<open>(2)  で作成したり、シンボリッ"
-"ã\82¯ã\83ªã\83³ã\82¯ã\82\92ä½\9cæ\88\90ã\81\97ã\81\9fã\82\8aã\81\99ã\82\8bå\8f¯è\83½æ\80§ã\81\8cã\81\82ã\82\8bã\80\82 ã\81\93ã\82\8cã\81¯ã\82»ã\82­ã\83¥ã\83ªã\83\86ã\82£ã\83\9bã\83¼ã\83«ã\81«ã\81¤ã\81ªã\81\8cã\82\8bå\8f¯è\83½"
-"性がある。 そのような可能性を回避するためには、 B<open>(2)  の B<O_EXCL> フラ"
-"グを使ってパス名をオープンすればよい。 もっといいのは、 B<mkstemp>(3)  や "
-"B<tmpfile>(3)  を使うことである。"
+"B<tempnam>()  は推測が難しい名前を生成するが、それにもかかわらず、 "
+"B<tempnam>()  がパス名を返してから、プログラムがそのファイルをオープンする ま"
+"での間に、別のプログラムが同じパス名で、ファイルを B<open>(2)  で作成したり、"
+"ã\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯ã\83ªã\83³ã\82¯ã\82\92ä½\9cæ\88\90ã\81\97ã\81\9fã\82\8aã\81\99ã\82\8bå\8f¯è\83½æ\80§ã\81\8cã\81\82ã\82\8bã\80\82 ã\81\93ã\82\8cã\81¯ã\82»ã\82­ã\83¥ã\83ªã\83\86ã\82£ã\83\9bã\83¼ã\83«ã\81«ã\81¤"
+"ながる可能性がある。 そのような可能性を回避するためには、 B<open>(2)  の "
+"B<O_EXCL> フラグを使ってパス名をオープンすればよい。 もっといいのは、 "
+"B<mkstemp>(3)  や B<tmpfile>(3)  を使うことである。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/tempnam.3:126
+#: build/C/man3/tempnam.3:137
 msgid ""
 "SUSv2 does not mention the use of B<TMPDIR>; glibc will use it only when the "
 "program is not set-user-ID.  On SVr4, the directory used under B<d)> is I</"
 msgid ""
 "SUSv2 does not mention the use of B<TMPDIR>; glibc will use it only when the "
 "program is not set-user-ID.  On SVr4, the directory used under B<d)> is I</"
@@ -13712,7 +16746,7 @@ msgstr ""
 "ディレクトリを I</tmp> と定めている (glibc もこの通りである)。"
 
 #. type: Plain text
 "ディレクトリを I</tmp> と定めている (glibc もこの通りである)。"
 
 #. type: Plain text
-#: build/C/man3/tempnam.3:131
+#: build/C/man3/tempnam.3:142
 msgid ""
 "Because it dynamically allocates memory used to return the pathname, "
 "B<tempnam>()  is reentrant, and thus thread safe, unlike B<tmpnam>(3)."
 msgid ""
 "Because it dynamically allocates memory used to return the pathname, "
 "B<tempnam>()  is reentrant, and thus thread safe, unlike B<tmpnam>(3)."
@@ -13721,7 +16755,7 @@ msgstr ""
 "B<tempnam>()  はリエントラントであり、スレッドセーフである。"
 
 #. type: Plain text
 "B<tempnam>()  はリエントラントであり、スレッドセーフである。"
 
 #. type: Plain text
-#: build/C/man3/tempnam.3:144
+#: build/C/man3/tempnam.3:155
 msgid ""
 "The B<tempnam>()  function generates a different string each time it is "
 "called, up to B<TMP_MAX> (defined in I<E<lt>stdio.hE<gt>>)  times.  If it is "
 msgid ""
 "The B<tempnam>()  function generates a different string each time it is "
 "called, up to B<TMP_MAX> (defined in I<E<lt>stdio.hE<gt>>)  times.  If it is "
@@ -13732,12 +16766,12 @@ msgstr ""
 "B<TMP_MAX> 回以上呼び出された場合、動作は実装依存である。"
 
 #. type: Plain text
 "B<TMP_MAX> 回以上呼び出された場合、動作は実装依存である。"
 
 #. type: Plain text
-#: build/C/man3/tempnam.3:148
+#: build/C/man3/tempnam.3:159
 msgid "B<tempnam>()  uses at most the first five bytes from I<pfx>."
 msgstr "B<tempnam>()  は最大で I<pfx> の先頭 5 バイトを使用する。"
 
 #. type: Plain text
 msgid "B<tempnam>()  uses at most the first five bytes from I<pfx>."
 msgstr "B<tempnam>()  は最大で I<pfx> の先頭 5 バイトを使用する。"
 
 #. type: Plain text
-#: build/C/man3/tempnam.3:154
+#: build/C/man3/tempnam.3:165
 msgid ""
 "The glibc implementation of B<tempnam>()  will fail with the error B<EEXIST> "
 "upon failure to find a unique name."
 msgid ""
 "The glibc implementation of B<tempnam>()  will fail with the error B<EEXIST> "
 "upon failure to find a unique name."
@@ -13746,7 +16780,7 @@ msgstr ""
 "ラー B<EEXIST> で失敗する。"
 
 #. type: Plain text
 "ラー B<EEXIST> で失敗する。"
 
 #. type: Plain text
-#: build/C/man3/tempnam.3:157
+#: build/C/man3/tempnam.3:168
 msgid ""
 "The precise meaning of \"appropriate\" is undefined; it is unspecified how "
 "accessibility of a directory is determined."
 msgid ""
 "The precise meaning of \"appropriate\" is undefined; it is unspecified how "
 "accessibility of a directory is determined."
@@ -13755,36 +16789,29 @@ msgstr ""
 "度のアクセス権限が必要なのかは指定されていない。"
 
 #. type: Plain text
 "度のアクセス権限が必要なのかは指定されていない。"
 
 #. type: Plain text
-#: build/C/man3/tempnam.3:164 build/C/man3/tmpnam.3:151
-msgid "Never use this function.  Use B<mkstemp>(3)  or B<tmpfile>(3)  instead."
-msgstr ""
-"決してこの関数を使ってはならない。代わりに B<mkstemp>(3)  か B<tmpfile>(3)  "
-"を使うこと。"
-
-#. type: Plain text
-#: build/C/man3/tempnam.3:169
+#: build/C/man3/tempnam.3:173
 msgid "B<mkstemp>(3), B<mktemp>(3), B<tmpfile>(3), B<tmpnam>(3)"
 msgstr "B<mkstemp>(3), B<mktemp>(3), B<tmpfile>(3), B<tmpnam>(3)"
 
 #. type: TH
 msgid "B<mkstemp>(3), B<mktemp>(3), B<tmpfile>(3), B<tmpnam>(3)"
 msgstr "B<mkstemp>(3), B<mktemp>(3), B<tmpfile>(3), B<tmpnam>(3)"
 
 #. type: TH
-#: build/C/man3/tmpfile.3:29
+#: build/C/man3/tmpfile.3:31
 #, no-wrap
 msgid "TMPFILE"
 msgstr "TMPFILE"
 
 #. type: Plain text
 #, no-wrap
 msgid "TMPFILE"
 msgstr "TMPFILE"
 
 #. type: Plain text
-#: build/C/man3/tmpfile.3:32
+#: build/C/man3/tmpfile.3:34
 msgid "tmpfile - create a temporary file"
 msgstr "tmpfile - テンポラリファイルを作成する"
 
 #. type: Plain text
 msgid "tmpfile - create a temporary file"
 msgstr "tmpfile - テンポラリファイルを作成する"
 
 #. type: Plain text
-#: build/C/man3/tmpfile.3:37
+#: build/C/man3/tmpfile.3:39
 #, no-wrap
 msgid "B<FILE *tmpfile(void);>\n"
 msgstr "B<FILE *tmpfile(void);>\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<FILE *tmpfile(void);>\n"
 msgstr "B<FILE *tmpfile(void);>\n"
 
 #. type: Plain text
-#: build/C/man3/tmpfile.3:45
+#: build/C/man3/tmpfile.3:47
 msgid ""
 "The B<tmpfile>()  function opens a unique temporary file in binary read/"
 "write (w+b) mode.  The file will be automatically deleted when it is closed "
 msgid ""
 "The B<tmpfile>()  function opens a unique temporary file in binary read/"
 "write (w+b) mode.  The file will be automatically deleted when it is closed "
@@ -13795,7 +16822,7 @@ msgstr ""
 "自動的に削除される。"
 
 #. type: Plain text
 "自動的に削除される。"
 
 #. type: Plain text
-#: build/C/man3/tmpfile.3:52
+#: build/C/man3/tmpfile.3:56
 msgid ""
 "The B<tmpfile>()  function returns a stream descriptor, or NULL if a unique "
 "filename cannot be generated or the unique file cannot be opened.  In the "
 msgid ""
 "The B<tmpfile>()  function returns a stream descriptor, or NULL if a unique "
 "filename cannot be generated or the unique file cannot be opened.  In the "
@@ -13806,48 +16833,48 @@ msgstr ""
 "I<errno> を設定する。"
 
 #. type: Plain text
 "I<errno> を設定する。"
 
 #. type: Plain text
-#: build/C/man3/tmpfile.3:56
+#: build/C/man3/tmpfile.3:60
 msgid "Search permission denied for directory in file's path prefix."
 msgstr ""
 "ファイルのあるディレクトリにサーチのアクセス権 (search permission) がない。"
 
 #. type: Plain text
 msgid "Search permission denied for directory in file's path prefix."
 msgstr ""
 "ファイルのあるディレクトリにサーチのアクセス権 (search permission) がない。"
 
 #. type: Plain text
-#: build/C/man3/tmpfile.3:59
+#: build/C/man3/tmpfile.3:63
 msgid "Unable to generate a unique filename."
 msgstr "ユニークなファイル名が作成できなかった。"
 
 #. type: Plain text
 msgid "Unable to generate a unique filename."
 msgstr "ユニークなファイル名が作成できなかった。"
 
 #. type: Plain text
-#: build/C/man3/tmpfile.3:62
+#: build/C/man3/tmpfile.3:66
 msgid "The call was interrupted by a signal."
 msgstr "呼び出しがシグナルによって中断された。"
 
 #. type: Plain text
 msgid "The call was interrupted by a signal."
 msgstr "呼び出しがシグナルによって中断された。"
 
 #. type: Plain text
-#: build/C/man3/tmpfile.3:65
+#: build/C/man3/tmpfile.3:69
 msgid "Too many file descriptors in use by the process."
 msgstr "1 つのプロセスで使用可能なファイルディスクリプタ数を超過した。"
 
 #. type: Plain text
 msgid "Too many file descriptors in use by the process."
 msgstr "1 つのプロセスで使用可能なファイルディスクリプタ数を超過した。"
 
 #. type: Plain text
-#: build/C/man3/tmpfile.3:68
+#: build/C/man3/tmpfile.3:72
 msgid "Too many files open in the system."
 msgstr "システム全体でオープン可能なファイル数を超過した。"
 
 #. type: Plain text
 msgid "Too many files open in the system."
 msgstr "システム全体でオープン可能なファイル数を超過した。"
 
 #. type: Plain text
-#: build/C/man3/tmpfile.3:71
+#: build/C/man3/tmpfile.3:75
 msgid "There was no room in the directory to add the new filename."
 msgstr "ディレクトリに新しいファイルを追加するための空き領域がない。"
 
 #. type: Plain text
 msgid "There was no room in the directory to add the new filename."
 msgstr "ディレクトリに新しいファイルを追加するための空き領域がない。"
 
 #. type: Plain text
-#: build/C/man3/tmpfile.3:74
-msgid "Read-only file system."
+#: build/C/man3/tmpfile.3:78
+msgid "Read-only filesystem."
 msgstr "読みだし専用ファイルシステムである。"
 
 #. type: Plain text
 msgstr "読みだし専用ファイルシステムである。"
 
 #. type: Plain text
-#: build/C/man3/tmpfile.3:76
+#: build/C/man3/tmpfile.3:80
 msgid "SVr4, 4.3BSD, C89, C99, SUSv2, POSIX.1-2001."
 msgstr "SVr4, 4.3BSD, C89, C99, SUSv2, POSIX.1-2001."
 
 #. type: Plain text
 msgid "SVr4, 4.3BSD, C89, C99, SUSv2, POSIX.1-2001."
 msgstr "SVr4, 4.3BSD, C89, C99, SUSv2, POSIX.1-2001."
 
 #. type: Plain text
-#: build/C/man3/tmpfile.3:80
+#: build/C/man3/tmpfile.3:86
 msgid ""
 "POSIX.1-2001 specifies: an error message may be written to I<stdout> if the "
 "stream cannot be opened."
 msgid ""
 "POSIX.1-2001 specifies: an error message may be written to I<stdout> if the "
 "stream cannot be opened."
@@ -13856,7 +16883,7 @@ msgstr ""
 "メッセージが書き出される、と規定されている。"
 
 #. type: Plain text
 "メッセージが書き出される、と規定されている。"
 
 #. type: Plain text
-#: build/C/man3/tmpfile.3:86
+#: build/C/man3/tmpfile.3:97
 msgid ""
 "The standard does not specify the directory that B<tmpfile>()  will use.  "
 "Glibc will try the path prefix I<P_tmpdir> defined in I<E<lt>stdio.hE<gt>>, "
 msgid ""
 "The standard does not specify the directory that B<tmpfile>()  will use.  "
 "Glibc will try the path prefix I<P_tmpdir> defined in I<E<lt>stdio.hE<gt>>, "
@@ -13867,40 +16894,43 @@ msgstr ""
 "る。 これが失敗した場合は、ディレクトリ I</tmp> を使う。"
 
 #. type: Plain text
 "る。 これが失敗した場合は、ディレクトリ I</tmp> を使う。"
 
 #. type: Plain text
-#: build/C/man3/tmpfile.3:92
+#: build/C/man3/tmpfile.3:103
 msgid "B<exit>(3), B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpnam>(3)"
 msgstr "B<exit>(3), B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpnam>(3)"
 
 #. type: TH
 msgid "B<exit>(3), B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpnam>(3)"
 msgstr "B<exit>(3), B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpnam>(3)"
 
 #. type: TH
-#: build/C/man3/tmpnam.3:25
+#: build/C/man3/tmpnam.3:27
 #, no-wrap
 msgid "TMPNAM"
 msgstr "TMPNAM"
 
 #, no-wrap
 msgid "TMPNAM"
 msgstr "TMPNAM"
 
-#. type: TH
-#: build/C/man3/tmpnam.3:25
-#, no-wrap
-msgid "2010-09-10"
-msgstr "2010-09-10"
-
 #. type: Plain text
 #. type: Plain text
-#: build/C/man3/tmpnam.3:28
+#: build/C/man3/tmpnam.3:30
 msgid "tmpnam, tmpnam_r - create a name for a temporary file"
 msgstr "tmpnam, tmpnam_r - 一時ファイルの名前を作成する"
 
 #. type: Plain text
 msgid "tmpnam, tmpnam_r - create a name for a temporary file"
 msgstr "tmpnam, tmpnam_r - 一時ファイルの名前を作成する"
 
 #. type: Plain text
-#: build/C/man3/tmpnam.3:33
+#: build/C/man3/tmpnam.3:35
 #, no-wrap
 msgid "B<char *tmpnam(char *>I<s>B<);>\n"
 msgstr "B<char *tmpnam(char *>I<s>B<);>\n"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<char *tmpnam(char *>I<s>B<);>\n"
 msgstr "B<char *tmpnam(char *>I<s>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/tmpnam.3:56
+#: build/C/man3/tmpnam.3:45
+msgid ""
+"B<Note:> Avoid use of B<tmpnam>(); use B<mkstemp>(3)  or B<tmpfile>(3)  "
+"instead."
+msgstr ""
+"B<注意:> B<tmpnam>() の使用は避けること。代わりに B<mkstemp>(3) か "
+"B<tmpfile>(3) を使うこと。"
+
+#. type: Plain text
+#: build/C/man3/tmpnam.3:67
 msgid ""
 "The B<tmpnam>()  function returns a pointer to a string that is a valid "
 "filename, and such that a file with this name did not exist at some point in "
 "time, so that naive programmers may think it a suitable name for a temporary "
 msgid ""
 "The B<tmpnam>()  function returns a pointer to a string that is a valid "
 "filename, and such that a file with this name did not exist at some point in "
 "time, so that naive programmers may think it a suitable name for a temporary "
-"file.  If the argument I<s> is NULL this name is generated in an internal "
+"file.  If the argument I<s> is NULL, this name is generated in an internal "
 "static buffer and may be overwritten by the next call to B<tmpnam>().  If "
 "I<s> is not NULL, the name is copied to the character array (of length at "
 "least I<L_tmpnam>)  pointed to by I<s> and the value I<s> is returned in "
 "static buffer and may be overwritten by the next call to B<tmpnam>().  If "
 "I<s> is not NULL, the name is copied to the character array (of length at "
 "least I<L_tmpnam>)  pointed to by I<s> and the value I<s> is returned in "
@@ -13915,7 +16945,7 @@ msgstr ""
 "ピーされ、 成功した場合は I<s> が返される。"
 
 #. type: Plain text
 "ピーされ、 成功した場合は I<s> が返される。"
 
 #. type: Plain text
-#: build/C/man3/tmpnam.3:68
+#: build/C/man3/tmpnam.3:79
 msgid ""
 "The pathname that is created, has a directory prefix I<P_tmpdir>.  (Both "
 "I<L_tmpnam> and I<P_tmpdir> are defined in I<E<lt>stdio.hE<gt>>, just like "
 msgid ""
 "The pathname that is created, has a directory prefix I<P_tmpdir>.  (Both "
 "I<L_tmpnam> and I<P_tmpdir> are defined in I<E<lt>stdio.hE<gt>>, just like "
@@ -13926,7 +16956,7 @@ msgstr ""
 "hE<gt>> で定義されている。)"
 
 #. type: Plain text
 "hE<gt>> で定義されている。)"
 
 #. type: Plain text
-#: build/C/man3/tmpnam.3:73
+#: build/C/man3/tmpnam.3:84
 msgid ""
 "The B<tmpnam>()  function returns a pointer to a unique temporary filename, "
 "or NULL if a unique name cannot be generated."
 msgid ""
 "The B<tmpnam>()  function returns a pointer to a unique temporary filename, "
 "or NULL if a unique name cannot be generated."
@@ -13935,12 +16965,26 @@ msgstr ""
 "が作成できなかった場合は NULL を返す。"
 
 #. type: Plain text
 "が作成できなかった場合は NULL を返す。"
 
 #. type: Plain text
-#: build/C/man3/tmpnam.3:75
+#: build/C/man3/tmpnam.3:86
 msgid "No errors are defined."
 msgstr "エラーは定義されていない。"
 
 #. type: Plain text
 msgid "No errors are defined."
 msgstr "エラーは定義されていない。"
 
 #. type: Plain text
-#: build/C/man3/tmpnam.3:80
+#: build/C/man3/tmpnam.3:92
+msgid ""
+"The B<tmpnam>()  function is thread-safe with exceptions.  It is not thread-"
+"safe if called with a NULL parameter."
+msgstr ""
+"B<tmpnam>() 関数は例外付きでスレッドセーフである。 NULL パラメータで呼び出さ"
+"れた場合はスレッドセーフではない。"
+
+#. type: Plain text
+#: build/C/man3/tmpnam.3:96
+msgid "The B<tmpnam_r>()  function is thread-safe."
+msgstr "B<tmpnam_r>() 関数はスレッドセーフである。"
+
+#. type: Plain text
+#: build/C/man3/tmpnam.3:101
 msgid ""
 "SVr4, 4.3BSD, C89, C99, POSIX.1-2001.  POSIX.1-2008 marks B<tmpnam>()  as "
 "obsolete."
 msgid ""
 "SVr4, 4.3BSD, C89, C99, POSIX.1-2001.  POSIX.1-2008 marks B<tmpnam>()  as "
 "obsolete."
@@ -13949,7 +16993,7 @@ msgstr ""
 "定としている。"
 
 #. type: Plain text
 "定としている。"
 
 #. type: Plain text
-#: build/C/man3/tmpnam.3:91
+#: build/C/man3/tmpnam.3:112
 msgid ""
 "The B<tmpnam>()  function generates a different string each time it is "
 "called, up to B<TMP_MAX> times.  If it is called more than B<TMP_MAX> times, "
 msgid ""
 "The B<tmpnam>()  function generates a different string each time it is "
 "called, up to B<TMP_MAX> times.  If it is called more than B<TMP_MAX> times, "
@@ -13959,7 +17003,7 @@ msgstr ""
 "する。 B<TMP_MAX> 回以上呼び出された場合、その動作は実装依存である。"
 
 #. type: Plain text
 "する。 B<TMP_MAX> 回以上呼び出された場合、その動作は実装依存である。"
 
 #. type: Plain text
-#: build/C/man3/tmpnam.3:110
+#: build/C/man3/tmpnam.3:131
 msgid ""
 "Although B<tmpnam>()  generates names that are difficult to guess, it is "
 "nevertheless possible that between the time that B<tmpnam>()  returns a "
 msgid ""
 "Although B<tmpnam>()  generates names that are difficult to guess, it is "
 "nevertheless possible that between the time that B<tmpnam>()  returns a "
@@ -13969,16 +17013,16 @@ msgid ""
 "B<open>(2)  B<O_EXCL> flag to open the pathname.  Or better yet, use "
 "B<mkstemp>(3)  or B<tmpfile>(3)."
 msgstr ""
 "B<open>(2)  B<O_EXCL> flag to open the pathname.  Or better yet, use "
 "B<mkstemp>(3)  or B<tmpfile>(3)."
 msgstr ""
-"B<tmpnam>()  は推測が難しい名前を生成するが、それにもかかわらず、 B<tmpnam>"
-"()  がパス名を返してから、プログラムがそのファイルをオープンする までの間に、"
-"別のプログラムが同じパス名で、ファイルを B<open>(2)  で作成したり、シンボリッ"
-"ã\82¯ã\83ªã\83³ã\82¯ã\82\92ä½\9cæ\88\90ã\81\97ã\81\9fã\82\8aã\81\99ã\82\8bå\8f¯è\83½æ\80§ã\81\8cã\81\82ã\82\8bã\80\82 ã\81\93ã\82\8cã\81¯ã\82»ã\82­ã\83¥ã\83ªã\83\86ã\82£ã\83\9bã\83¼ã\83«ã\81«ã\81¤ã\81ªã\81\8cã\82\8bå\8f¯è\83½"
-"性がある。 そのような可能性を回避するためには、 B<open>(2)  の B<O_EXCL> フラ"
-"グを使ってパス名をオープンすればよい。 もっといいのは、 B<mkstemp>(3)  や "
-"B<tmpfile>(3)  を使うことである。"
+"B<tmpnam>()  は推測が難しい名前を生成するが、それにもかかわらず、 "
+"B<tmpnam>()  がパス名を返してから、プログラムがそのファイルをオープンする ま"
+"での間に、別のプログラムが同じパス名で、ファイルを B<open>(2)  で作成したり、"
+"ã\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯ã\83ªã\83³ã\82¯ã\82\92ä½\9cæ\88\90ã\81\97ã\81\9fã\82\8aã\81\99ã\82\8bå\8f¯è\83½æ\80§ã\81\8cã\81\82ã\82\8bã\80\82 ã\81\93ã\82\8cã\81¯ã\82»ã\82­ã\83¥ã\83ªã\83\86ã\82£ã\83\9bã\83¼ã\83«ã\81«ã\81¤"
+"ながる可能性がある。 そのような可能性を回避するためには、 B<open>(2)  の "
+"B<O_EXCL> フラグを使ってパス名をオープンすればよい。 もっといいのは、 "
+"B<mkstemp>(3)  や B<tmpfile>(3)  を使うことである。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/tmpnam.3:118
+#: build/C/man3/tmpnam.3:139
 msgid ""
 "Portable applications that use threads cannot call B<tmpnam>()  with a NULL "
 "argument if either B<_POSIX_THREADS> or B<_POSIX_THREAD_SAFE_FUNCTIONS> is "
 msgid ""
 "Portable applications that use threads cannot call B<tmpnam>()  with a NULL "
 "argument if either B<_POSIX_THREADS> or B<_POSIX_THREAD_SAFE_FUNCTIONS> is "
@@ -13989,7 +17033,7 @@ msgstr ""
 "NULL 引き数で呼び出してはならない。"
 
 #. type: Plain text
 "NULL 引き数で呼び出してはならない。"
 
 #. type: Plain text
-#: build/C/man3/tmpnam.3:122
+#: build/C/man3/tmpnam.3:143
 msgid "A POSIX draft proposed to use a function B<tmpnam_r>()  defined by"
 msgstr ""
 "POSIX 草案では、関数 B<tmpnam_r>()  を使うことを提案している。 この関数は、以"
 msgid "A POSIX draft proposed to use a function B<tmpnam_r>()  defined by"
 msgstr ""
 "POSIX 草案では、関数 B<tmpnam_r>()  を使うことを提案している。 この関数は、以"
@@ -13997,7 +17041,7 @@ msgstr ""
 "扱いしている。"
 
 #. type: Plain text
 "扱いしている。"
 
 #. type: Plain text
-#: build/C/man3/tmpnam.3:130
+#: build/C/man3/tmpnam.3:151
 #, no-wrap
 msgid ""
 "char *\n"
 #, no-wrap
 msgid ""
 "char *\n"
@@ -14013,7 +17057,7 @@ msgstr ""
 "}\n"
 
 #. type: Plain text
 "}\n"
 
 #. type: Plain text
-#: build/C/man3/tmpnam.3:144
+#: build/C/man3/tmpnam.3:165
 msgid ""
 "apparently as a warning not to use NULL.  A few systems implement it.  To "
 "get a glibc prototype for this function from I<E<lt>stdio.hE<gt>>, define "
 msgid ""
 "apparently as a warning not to use NULL.  A few systems implement it.  To "
 "get a glibc prototype for this function from I<E<lt>stdio.hE<gt>>, define "
@@ -14025,38 +17069,58 @@ msgstr ""
 "がある。"
 
 #. type: Plain text
 "がある。"
 
 #. type: Plain text
-#: build/C/man3/tmpnam.3:156
+#: build/C/man3/tmpnam.3:172
+msgid "Never use this function.  Use B<mkstemp>(3)  or B<tmpfile>(3)  instead."
+msgstr ""
+"決してこの関数を使ってはならない。代わりに B<mkstemp>(3)  か B<tmpfile>(3)  "
+"を使うこと。"
+
+#. type: Plain text
+#: build/C/man3/tmpnam.3:177
 msgid "B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3)"
 msgstr "B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3)"
 
 #. type: TH
 msgid "B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3)"
 msgstr "B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3)"
 
 #. type: TH
-#: build/C/man2/unlink.2:32
+#: build/C/man2/unlink.2:33
 #, no-wrap
 msgid "UNLINK"
 msgstr "UNLINK"
 
 #. type: TH
 #, no-wrap
 msgid "UNLINK"
 msgstr "UNLINK"
 
 #. type: TH
-#: build/C/man2/unlink.2:32
+#: build/C/man2/unlink.2:33
 #, no-wrap
 #, no-wrap
-msgid "2011-09-15"
-msgstr "2011-09-15"
+msgid "2014-02-21"
+msgstr "2014-02-21"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/unlink.2:35
-msgid "unlink - delete a name and possibly the file it refers to"
+#: build/C/man2/unlink.2:36
+msgid "unlink, unlinkat - delete a name and possibly the file it refers to"
 msgstr ""
 msgstr ""
-"unlink - 名前を削除し、場合によってはそれが参照しているファイルも削除する"
+"unlink, unlinkat - 名前を削除し、場合によってはそれが参照しているファイルも削"
+"除する"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/unlink.2:39
-msgid "B<int unlink(const char *>I<pathname>B<);>"
-msgstr "B<int unlink(const char *>I<pathname>B<);>"
+#: build/C/man2/unlink.2:41
+#, no-wrap
+msgid "B<int unlink(const char *>I<pathname>B<);>\n"
+msgstr "B<int unlink(const char *>I<pathname>B<);>\n"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/unlink.2:45
+#: build/C/man2/unlink.2:46
+#, no-wrap
+msgid "B<int unlinkat(int >I<dirfd>B<, const char *>I<pathname>B<, int >I<flags>B<);>\n"
+msgstr "B<int unlinkat(int >I<dirfd>B<, const char *>I<pathname>B<, int >I<flags>B<);>\n"
+
+#. type: Plain text
+#: build/C/man2/unlink.2:54
+msgid "B<unlinkat>():"
+msgstr "B<unlinkat>():"
+
+#. type: Plain text
+#: build/C/man2/unlink.2:72
 msgid ""
 msgid ""
-"B<unlink>()  deletes a name from the file system.  If that name was the last "
-"link to a file and no processes have the file open the file is deleted and "
+"B<unlink>()  deletes a name from the filesystem.  If that name was the last "
+"link to a file and no processes have the file open, the file is deleted and "
 "the space it was using is made available for reuse."
 msgstr ""
 "B<unlink>()  はファイルシステム上の名前を削除する。 もしその名前がファイルへ"
 "the space it was using is made available for reuse."
 msgstr ""
 "B<unlink>()  はファイルシステム上の名前を削除する。 もしその名前がファイルへ"
@@ -14065,36 +17129,109 @@ msgstr ""
 "は再利用が可能になる。"
 
 #. type: Plain text
 "は再利用が可能になる。"
 
 #. type: Plain text
-#: build/C/man2/unlink.2:49
+#: build/C/man2/unlink.2:76
 msgid ""
 "If the name was the last link to a file but any processes still have the "
 msgid ""
 "If the name was the last link to a file but any processes still have the "
-"file open the file will remain in existence until the last file descriptor "
+"file open, the file will remain in existence until the last file descriptor "
 "referring to it is closed."
 msgstr ""
 "referring to it is closed."
 msgstr ""
-"もし削除する名前がファイルへの最後のリンクだが、どれかのプロセスが そのファイ"
-"ルをまだオープンしている場合は、 そのファイルを参照している最後のファイルディ"
-"スクリプタ (file descriptor)  がクローズ (close) されるまでファイルは存在し続"
-"ける。"
+"名前がファイルへの最後のリンクであっても、どこかのプロセスが そのファイルを開"
+"いているなら、ファイルの最後のファイル記述子 (file descriptor) が閉じられるま"
+"でファイルは存在し続ける。"
+
+#. type: Plain text
+#: build/C/man2/unlink.2:82
+msgid ""
+"If the name referred to a socket, FIFO, or device, the name for it is "
+"removed but processes which have the object open may continue to use it."
+msgstr ""
+"名前が指しているのがソケット、FIFO、デバイスの場合、名前は削除されるが、 その"
+"ソケットなどを開いているプロセスはそのまま使い続けることができる。"
+
+#. type: SS
+#: build/C/man2/unlink.2:82
+#, no-wrap
+msgid "unlinkat()"
+msgstr "unlinkat()"
+
+#. type: Plain text
+#: build/C/man2/unlink.2:95
+msgid ""
+"The B<unlinkat>()  system call operates in exactly the same way as either "
+"B<unlink>()  or B<rmdir>(2)  (depending on whether or not I<flags> includes "
+"the B<AT_REMOVEDIR> flag)  except for the differences described here."
+msgstr ""
+"B<unlinkat>() システムコールは、B<unlink>() と B<rmdir>(2) のいずれかと全く同"
+"じ動作をする (どちらと同じになるかは I<flags> に B<AT_REMOVEDIR> フラグが指定"
+"されたかにより決まる) が、以下で説明する点が異なる。"
+
+#. type: Plain text
+#: build/C/man2/unlink.2:107
+msgid ""
+"If the pathname given in I<pathname> is relative, then it is interpreted "
+"relative to the directory referred to by the file descriptor I<dirfd> "
+"(rather than relative to the current working directory of the calling "
+"process, as is done by B<unlink>()  and B<rmdir>(2)  for a relative "
+"pathname)."
+msgstr ""
+"I<pathname> で指定されたパス名が相対パスの場合、このパス名はファイルディスク"
+"リプター I<dirfd> が参照するディレクトリに対する相対パスと解釈される "
+"(B<unlink>() や B<rmdir>(2) に相対パス名を渡した場合のように、呼び出したプロ"
+"セスのカレントワーキングディレクトリに対する相対パスではない)。"
+
+#. type: Plain text
+#: build/C/man2/unlink.2:121
+msgid ""
+"If the pathname given in I<pathname> is relative and I<dirfd> is the special "
+"value B<AT_FDCWD>, then I<pathname> is interpreted relative to the current "
+"working directory of the calling process (like B<unlink>()  and B<rmdir>(2))."
+msgstr ""
+"I<pathname> で指定されたパス名が相対パスで、 I<dirfd> が特別な値 B<AT_FDCWD> "
+"の場合、 (B<unlink>() や B<rmdir>(2) と同様に) I<pathname> は呼び出したプロセ"
+"スのカレントワーキングディレクトリに対する相対パスと解釈される。"
+
+#. type: Plain text
+#: build/C/man2/unlink.2:127
+msgid ""
+"If the pathname given in I<pathname> is absolute, then I<dirfd> is ignored."
+msgstr ""
+"I<pathname> で指定されたパス名が絶対パスの場合、 I<dirfd> は無視される。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/unlink.2:51
-msgid "If the name referred to a symbolic link the link is removed."
+#: build/C/man2/unlink.2:133
+msgid ""
+"I<flags> is a bit mask that can either be specified as 0, or by ORing "
+"together flag values that control the operation of B<unlinkat>().  Currently "
+"only one such flag is defined:"
 msgstr ""
 msgstr ""
-"もしその名前がシンボリックリンク (symbolic link) を参照していれば、 リンクは"
-"削除される。"
+"I<flags> はビットマスクで、0 もしくは B<unlinkat>() の動作を制御するフラグ値"
+"を論理和の形で指定することができる。現在のところ、定義されているフラグはひと"
+"つだけである。"
+
+#. type: TP
+#: build/C/man2/unlink.2:133
+#, no-wrap
+msgid "B<AT_REMOVEDIR>"
+msgstr "B<AT_REMOVEDIR>"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/unlink.2:55
+#: build/C/man2/unlink.2:148
 msgid ""
 msgid ""
-"If the name referred to a socket, fifo or device the name for it is removed "
-"but processes which have the object open may continue to use it."
+"By default, B<unlinkat>()  performs the equivalent of B<unlink>()  on "
+"I<pathname>.  If the B<AT_REMOVEDIR> flag is specified, then performs the "
+"equivalent of B<rmdir>(2)  on I<pathname>."
 msgstr ""
 msgstr ""
-"もし名前がソケット (socket) や fifo やデバイス (device) を参照していれば 名前"
-"は削除されるがそのオブジェクトをオープンしていたプロセスは それを使い続けるこ"
-"とができる。"
+"デフォルトでは、 B<unlinkat>() は I<pathname> に対して B<unlink>() と等価な動"
+"作をする。 B<AT_REMOVEDIR> フラグが指定された場合、 I<pathname> に対して "
+"B<rmdir>(2) と等価な動作をする。"
+
+#. type: Plain text
+#: build/C/man2/unlink.2:153
+msgid "See B<openat>(2)  for an explanation of the need for B<unlinkat>()."
+msgstr "B<unlinkat>() の必要性についての説明については B<openat>(2) を参照。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/unlink.2:71
+#: build/C/man2/unlink.2:169
 msgid ""
 "Write access to the directory containing I<pathname> is not allowed for the "
 "process's effective UID, or one of the directories in I<pathname> did not "
 msgid ""
 "Write access to the directory containing I<pathname> is not allowed for the "
 "process's effective UID, or one of the directories in I<pathname> did not "
@@ -14106,16 +17243,22 @@ msgstr ""
 "と)。"
 
 #. type: Plain text
 "と)。"
 
 #. type: Plain text
-#: build/C/man2/unlink.2:80
+#: build/C/man2/unlink.2:178
 msgid ""
 "The file I<pathname> cannot be unlinked because it is being used by the "
 "system or another process; for example, it is a mount point or the NFS "
 "client software created it to represent an active but otherwise nameless "
 "inode (\"NFS silly renamed\")."
 msgstr ""
 msgid ""
 "The file I<pathname> cannot be unlinked because it is being used by the "
 "system or another process; for example, it is a mount point or the NFS "
 "client software created it to represent an active but otherwise nameless "
 "inode (\"NFS silly renamed\")."
 msgstr ""
+"システムか別のプロセスがそのファイルを使用中のため、\n"
+"ファイル I<pathname> を unlink できない。\n"
+"例えば、そのファイルがマウントポイントの場合や、\n"
+"NFS クライアントソフトウェアがそのファイルがアクティブであるが\n"
+"名前なし inode (nameless inode) であることを示すために作成した\n"
+"場合 (\"NFS silly renamed\") などがある。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/unlink.2:92
+#: build/C/man2/unlink.2:190
 msgid ""
 "I<pathname> refers to a directory.  (This is the non-POSIX value returned by "
 "Linux since 2.1.132.)"
 msgid ""
 "I<pathname> refers to a directory.  (This is the non-POSIX value returned by "
 "Linux since 2.1.132.)"
@@ -14124,12 +17267,12 @@ msgstr ""
 "で、Linux 2.1.132 以降で返される。)"
 
 #. type: Plain text
 "で、Linux 2.1.132 以降で返される。)"
 
 #. type: Plain text
-#: build/C/man2/unlink.2:96
+#: build/C/man2/unlink.2:194
 msgid "Too many symbolic links were encountered in translating I<pathname>."
 msgstr "I<pathname> を解決する際に遭遇したシンボリックリンクが多過ぎる。"
 
 #. type: Plain text
 msgid "Too many symbolic links were encountered in translating I<pathname>."
 msgstr "I<pathname> を解決する際に遭遇したシンボリックリンクが多過ぎる。"
 
 #. type: Plain text
-#: build/C/man2/unlink.2:106
+#: build/C/man2/unlink.2:204
 msgid ""
 "A component in I<pathname> does not exist or is a dangling symbolic link, or "
 "I<pathname> is empty."
 msgid ""
 "A component in I<pathname> does not exist or is a dangling symbolic link, or "
 "I<pathname> is empty."
@@ -14138,13 +17281,13 @@ msgstr ""
 "I<pathname> が空である。"
 
 #. type: Plain text
 "I<pathname> が空である。"
 
 #. type: Plain text
-#: build/C/man2/unlink.2:114
+#: build/C/man2/unlink.2:212
 msgid ""
 "A component used as a directory in I<pathname> is not, in fact, a directory."
 msgstr "I<pathname> のディレクトリ部分が、実際には、ディレクトリでない。"
 
 #. type: Plain text
 msgid ""
 "A component used as a directory in I<pathname> is not, in fact, a directory."
 msgstr "I<pathname> のディレクトリ部分が、実際には、ディレクトリでない。"
 
 #. type: Plain text
-#: build/C/man2/unlink.2:123
+#: build/C/man2/unlink.2:221
 msgid ""
 "The system does not allow unlinking of directories, or unlinking of "
 "directories requires privileges that the calling process doesn't have.  "
 msgid ""
 "The system does not allow unlinking of directories, or unlinking of "
 "directories requires privileges that the calling process doesn't have.  "
@@ -14157,18 +17300,18 @@ msgstr ""
 "合には Linux は B<EISDIR> を返す。)"
 
 #. type: TP
 "合には Linux は B<EISDIR> を返す。)"
 
 #. type: TP
-#: build/C/man2/unlink.2:123
+#: build/C/man2/unlink.2:221
 #, no-wrap
 msgid "B<EPERM> (Linux only)"
 msgstr "B<EPERM> (Linux のみ)"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<EPERM> (Linux only)"
 msgstr "B<EPERM> (Linux のみ)"
 
 #. type: Plain text
-#: build/C/man2/unlink.2:126
-msgid "The file system does not allow unlinking of files."
+#: build/C/man2/unlink.2:224
+msgid "The filesystem does not allow unlinking of files."
 msgstr "ファイルシステムがファイルに対する unlink 操作を許していない。"
 
 #. type: Plain text
 msgstr "ファイルシステムがファイルに対する unlink 操作を許していない。"
 
 #. type: Plain text
-#: build/C/man2/unlink.2:137
+#: build/C/man2/unlink.2:235
 msgid ""
 "The directory containing I<pathname> has the sticky bit (B<S_ISVTX>)  set "
 "and the process's effective UID is neither the UID of the file to be deleted "
 msgid ""
 "The directory containing I<pathname> has the sticky bit (B<S_ISVTX>)  set "
 "and the process's effective UID is neither the UID of the file to be deleted "
@@ -14181,29 +17324,73 @@ msgstr ""
 "に特権がない (Linux では B<CAP_FOWNER> ケーパビリティ (capability) がない)。"
 
 #. type: Plain text
 "に特権がない (Linux では B<CAP_FOWNER> ケーパビリティ (capability) がない)。"
 
 #. type: Plain text
-#: build/C/man2/unlink.2:141
-msgid "I<pathname> refers to a file on a read-only file system."
+#: build/C/man2/unlink.2:239
+msgid "I<pathname> refers to a file on a read-only filesystem."
 msgstr "I<pathname> が読み込み専用のファイルシステムのファイルを参照している。"
 
 #. type: Plain text
 msgstr "I<pathname> が読み込み専用のファイルシステムのファイルを参照している。"
 
 #. type: Plain text
-#: build/C/man2/unlink.2:161
+#: build/C/man2/unlink.2:248
+msgid ""
+"The same errors that occur for B<unlink>()  and B<rmdir>(2)  can also occur "
+"for B<unlinkat>().  The following additional errors can occur for "
+"B<unlinkat>():"
+msgstr ""
+"B<unlink>() と B<rmdir>(2) で発生するのと同じエラーが B<unlinkat>() でも起こ"
+"る。 B<unlinkat>() では以下のエラーも発生する。"
+
+#. type: Plain text
+#: build/C/man2/unlink.2:263
+msgid ""
+"I<pathname> refers to a directory, and B<AT_REMOVEDIR> was not specified in "
+"I<flags>."
+msgstr ""
+"I<pathname> がディレクトリを参照していて、 I<flags> に B<AT_REMOVEDIR> がされ"
+"ていなかった。"
+
+#. type: Plain text
+#: build/C/man2/unlink.2:273
+msgid ""
+"B<unlinkat>()  was added to Linux in kernel 2.6.16; library support was "
+"added to glibc in version 2.4."
+msgstr ""
+"B<unlinkat>()  はカーネル 2.6.16 で Linux に追加された。 ライブラリによるサ"
+"ポートはバージョン 2.4 で glibc に追加された。"
+
+#.  SVr4 documents additional error
+#.  conditions EINTR, EMULTIHOP, ETXTBSY, ENOLINK.
+#. type: Plain text
+#: build/C/man2/unlink.2:278
+msgid "B<unlink>(): SVr4, 4.3BSD, POSIX.1-2001, POSIX.1-2008."
+msgstr "B<unlink>(): SVr4, 4.3BSD, POSIX.1-2001, POSIX.1-2008."
+
+#. type: Plain text
+#: build/C/man2/unlink.2:281
+msgid "B<unlinkat>(): POSIX.1-2008."
+msgstr "B<unlinkat>(): POSIX.1-2008."
+
+#. type: Plain text
+#: build/C/man2/unlink.2:296
 msgid ""
 "B<rm>(1), B<chmod>(2), B<link>(2), B<mknod>(2), B<open>(2), B<rename>(2), "
 msgid ""
 "B<rm>(1), B<chmod>(2), B<link>(2), B<mknod>(2), B<open>(2), B<rename>(2), "
-"B<rmdir>(2), B<unlinkat>(2), B<mkfifo>(3), B<remove>(3), B<path_resolution>"
-"(7), B<symlink>(7)"
+"B<rmdir>(2), B<mkfifo>(3), B<remove>(3), B<path_resolution>(7), B<symlink>(7)"
 msgstr ""
 "B<rm>(1), B<chmod>(2), B<link>(2), B<mknod>(2), B<open>(2), B<rename>(2), "
 msgstr ""
 "B<rm>(1), B<chmod>(2), B<link>(2), B<mknod>(2), B<open>(2), B<rename>(2), "
-"B<rmdir>(2), B<unlinkat>(2), B<mkfifo>(3), B<remove>(3), B<path_resolution>"
-"(7), B<symlink>(7)"
+"B<rmdir>(2), B<mkfifo>(3), B<remove>(3), B<path_resolution>(7), B<symlink>(7)"
 
 #. type: TH
 
 #. type: TH
-#: build/C/man3/unlocked_stdio.3:23
+#: build/C/man3/unlocked_stdio.3:25
 #, no-wrap
 msgid "UNLOCKED_STDIO"
 msgstr "UNLOCKED_STDIO"
 
 #, no-wrap
 msgid "UNLOCKED_STDIO"
 msgstr "UNLOCKED_STDIO"
 
+#. type: TH
+#: build/C/man3/unlocked_stdio.3:25
+#, no-wrap
+msgid "2008-08-29"
+msgstr "2008-08-29"
+
 #. type: Plain text
 #. type: Plain text
-#: build/C/man3/unlocked_stdio.3:27
+#: build/C/man3/unlocked_stdio.3:29
 msgid ""
 "getc_unlocked, getchar_unlocked, putc_unlocked, putchar_unlocked - "
 "nonlocking stdio functions"
 msgid ""
 "getc_unlocked, getchar_unlocked, putc_unlocked, putchar_unlocked - "
 "nonlocking stdio functions"
@@ -14212,7 +17399,7 @@ msgstr ""
 "わずに標準入出力を行う関数群"
 
 #. type: Plain text
 "わずに標準入出力を行う関数群"
 
 #. type: Plain text
-#: build/C/man3/unlocked_stdio.3:35
+#: build/C/man3/unlocked_stdio.3:37
 #, no-wrap
 msgid ""
 "B<int getc_unlocked(FILE *>I<stream>B<);>\n"
 #, no-wrap
 msgid ""
 "B<int getc_unlocked(FILE *>I<stream>B<);>\n"
@@ -14226,7 +17413,7 @@ msgstr ""
 "B<int putchar_unlocked(int >I<c>B<);>\n"
 
 #. type: Plain text
 "B<int putchar_unlocked(int >I<c>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/unlocked_stdio.3:47
+#: build/C/man3/unlocked_stdio.3:49
 #, no-wrap
 msgid ""
 "B<void clearerr_unlocked(FILE *>I<stream>B<);>\n"
 #, no-wrap
 msgid ""
 "B<void clearerr_unlocked(FILE *>I<stream>B<);>\n"
@@ -14254,7 +17441,7 @@ msgstr ""
 "B<                      FILE *>I<stream>B<);>\n"
 
 #. type: Plain text
 "B<                      FILE *>I<stream>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/unlocked_stdio.3:50
+#: build/C/man3/unlocked_stdio.3:52
 #, no-wrap
 msgid ""
 "B<char *fgets_unlocked(char *>I<s>B<, int >I<n>B<, FILE *>I<stream>B<);>\n"
 #, no-wrap
 msgid ""
 "B<char *fgets_unlocked(char *>I<s>B<, int >I<n>B<, FILE *>I<stream>B<);>\n"
@@ -14264,7 +17451,7 @@ msgstr ""
 "B<int fputs_unlocked(const char *>I<s>B<, FILE *>I<stream>B<);>\n"
 
 #. type: Plain text
 "B<int fputs_unlocked(const char *>I<s>B<, FILE *>I<stream>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/unlocked_stdio.3:61
+#: build/C/man3/unlocked_stdio.3:63
 #, no-wrap
 msgid ""
 "B<wint_t getwc_unlocked(FILE *>I<stream>B<);>\n"
 #, no-wrap
 msgid ""
 "B<wint_t getwc_unlocked(FILE *>I<stream>B<);>\n"
@@ -14286,7 +17473,7 @@ msgstr ""
 "B<int fputws_unlocked(const wchar_t *>I<ws>B<, FILE *>I<stream>B<);>\n"
 
 #. type: Plain text
 "B<int fputws_unlocked(const wchar_t *>I<ws>B<, FILE *>I<stream>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/unlocked_stdio.3:73
+#: build/C/man3/unlocked_stdio.3:75
 msgid ""
 "B<getc_unlocked>(), B<getchar_unlocked>(), B<putc_unlocked>(), "
 "B<putchar_unlocked>():"
 msgid ""
 "B<getc_unlocked>(), B<getchar_unlocked>(), B<putc_unlocked>(), "
 "B<putchar_unlocked>():"
@@ -14295,7 +17482,7 @@ msgstr ""
 "B<putchar_unlocked>():"
 
 #. type: Plain text
 "B<putchar_unlocked>():"
 
 #. type: Plain text
-#: build/C/man3/unlocked_stdio.3:76
+#: build/C/man3/unlocked_stdio.3:78
 msgid ""
 "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE || "
 "_BSD_SOURCE || _SVID_SOURCE"
 msgid ""
 "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE || "
 "_BSD_SOURCE || _SVID_SOURCE"
@@ -14304,7 +17491,7 @@ msgstr ""
 "_BSD_SOURCE || _SVID_SOURCE"
 
 #. type: Plain text
 "_BSD_SOURCE || _SVID_SOURCE"
 
 #. type: Plain text
-#: build/C/man3/unlocked_stdio.3:87
+#: build/C/man3/unlocked_stdio.3:89
 msgid ""
 "B<clearerr_unlocked>(), B<feof_unlocked>(), B<ferror_unlocked>(), "
 "B<fileno_unlocked>(), B<fflush_unlocked>(), B<fgetc_unlocked>(), "
 msgid ""
 "B<clearerr_unlocked>(), B<feof_unlocked>(), B<ferror_unlocked>(), "
 "B<fileno_unlocked>(), B<fflush_unlocked>(), B<fgetc_unlocked>(), "
@@ -14315,12 +17502,12 @@ msgstr ""
 "B<fputc_unlocked>(), B<fread_unlocked>(), B<fwrite_unlocked>():"
 
 #. type: Plain text
 "B<fputc_unlocked>(), B<fread_unlocked>(), B<fwrite_unlocked>():"
 
 #. type: Plain text
-#: build/C/man3/unlocked_stdio.3:89
+#: build/C/man3/unlocked_stdio.3:91
 msgid "_BSD_SOURCE || _SVID_SOURCE"
 msgstr "_BSD_SOURCE || _SVID_SOURCE"
 
 #. type: Plain text
 msgid "_BSD_SOURCE || _SVID_SOURCE"
 msgstr "_BSD_SOURCE || _SVID_SOURCE"
 
 #. type: Plain text
-#: build/C/man3/unlocked_stdio.3:100
+#: build/C/man3/unlocked_stdio.3:102
 msgid ""
 "B<fgets_unlocked>(), B<fputs_unlocked>(), B<getwc_unlocked>(), "
 "B<getwchar_unlocked>(), B<fgetwc_unlocked>(), B<fputwc_unlocked>(), "
 msgid ""
 "B<fgets_unlocked>(), B<fputs_unlocked>(), B<getwc_unlocked>(), "
 "B<getwchar_unlocked>(), B<fgetwc_unlocked>(), B<fputwc_unlocked>(), "
@@ -14331,7 +17518,7 @@ msgstr ""
 "B<putwchar_unlocked>(), B<fgetws_unlocked>(), B<fputws_unlocked>():"
 
 #. type: Plain text
 "B<putwchar_unlocked>(), B<fgetws_unlocked>(), B<fputws_unlocked>():"
 
 #. type: Plain text
-#: build/C/man3/unlocked_stdio.3:111
+#: build/C/man3/unlocked_stdio.3:113
 msgid ""
 "Each of these functions has the same behavior as its counterpart without the "
 "\"_unlocked\" suffix, except that they do not use locking (they do not set "
 msgid ""
 "Each of these functions has the same behavior as its counterpart without the "
 "\"_unlocked\" suffix, except that they do not use locking (they do not set "
@@ -14345,7 +17532,7 @@ msgstr ""
 "B<flockfile>(3)  を参照のこと。"
 
 #. type: Plain text
 "B<flockfile>(3)  を参照のこと。"
 
 #. type: Plain text
-#: build/C/man3/unlocked_stdio.3:118
+#: build/C/man3/unlocked_stdio.3:120
 msgid ""
 "The four functions B<getc_unlocked>(), B<getchar_unlocked>(), "
 "B<putc_unlocked>(), B<putchar_unlocked>()  are in POSIX.1-2001."
 msgid ""
 "The four functions B<getc_unlocked>(), B<getchar_unlocked>(), "
 "B<putc_unlocked>(), B<putchar_unlocked>()  are in POSIX.1-2001."
@@ -14365,7 +17552,7 @@ msgstr ""
 #.  putwc_unlocked, putwchar_unlocked, rewind_unlocked, setvbuf_unlocked,
 #.  ungetc_unlocked, ungetwc_unlocked.
 #. type: Plain text
 #.  putwc_unlocked, putwchar_unlocked, rewind_unlocked, setvbuf_unlocked,
 #.  ungetc_unlocked, ungetwc_unlocked.
 #. type: Plain text
-#: build/C/man3/unlocked_stdio.3:134
+#: build/C/man3/unlocked_stdio.3:136
 msgid ""
 "The nonstandard B<*_unlocked>()  variants occur on a few UNIX systems, and "
 "are available in recent glibc.  They should probably not be used."
 msgid ""
 "The nonstandard B<*_unlocked>()  variants occur on a few UNIX systems, and "
 "are available in recent glibc.  They should probably not be used."
@@ -14374,24 +17561,24 @@ msgstr ""
 "近の glibc では使用可能であるが、 これらの関数は使わない方がよいだろう。"
 
 #. type: Plain text
 "近の glibc では使用可能であるが、 これらの関数は使わない方がよいだろう。"
 
 #. type: Plain text
-#: build/C/man3/unlocked_stdio.3:137
+#: build/C/man3/unlocked_stdio.3:139
 msgid "B<flockfile>(3), B<stdio>(3)"
 msgstr "B<flockfile>(3), B<stdio>(3)"
 
 #. type: TH
 msgid "B<flockfile>(3), B<stdio>(3)"
 msgstr "B<flockfile>(3), B<stdio>(3)"
 
 #. type: TH
-#: build/C/man3/wprintf.3:14
+#: build/C/man3/wprintf.3:16
 #, no-wrap
 msgid "WPRINTF"
 msgstr "WPRINTF"
 
 #. type: TH
 #, no-wrap
 msgid "WPRINTF"
 msgstr "WPRINTF"
 
 #. type: TH
-#: build/C/man3/wprintf.3:14
+#: build/C/man3/wprintf.3:16
 #, no-wrap
 #, no-wrap
-msgid "2011-09-17"
-msgstr "2011-09-17"
+msgid "2014-03-19"
+msgstr "2014-03-19"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/wprintf.3:18
+#: build/C/man3/wprintf.3:20
 msgid ""
 "wprintf, fwprintf, swprintf, vwprintf, vfwprintf, vswprintf - formatted wide-"
 "character output conversion"
 msgid ""
 "wprintf, fwprintf, swprintf, vwprintf, vfwprintf, vswprintf - formatted wide-"
 "character output conversion"
@@ -14400,7 +17587,7 @@ msgstr ""
 "フォーマットして出力する"
 
 #. type: Plain text
 "フォーマットして出力する"
 
 #. type: Plain text
-#: build/C/man3/wprintf.3:22
+#: build/C/man3/wprintf.3:24
 #, no-wrap
 msgid ""
 "B<#include E<lt>stdio.hE<gt>>\n"
 #, no-wrap
 msgid ""
 "B<#include E<lt>stdio.hE<gt>>\n"
@@ -14410,7 +17597,7 @@ msgstr ""
 "B<#include E<lt>wchar.hE<gt>>\n"
 
 #. type: Plain text
 "B<#include E<lt>wchar.hE<gt>>\n"
 
 #. type: Plain text
-#: build/C/man3/wprintf.3:27
+#: build/C/man3/wprintf.3:29
 #, no-wrap
 msgid ""
 "B<int wprintf(const wchar_t *>I<format>B<, ...);>\n"
 #, no-wrap
 msgid ""
 "B<int wprintf(const wchar_t *>I<format>B<, ...);>\n"
@@ -14424,7 +17611,7 @@ msgstr ""
 "B<             const wchar_t *>I<format>B<, ...);>\n"
 
 #. type: Plain text
 "B<             const wchar_t *>I<format>B<, ...);>\n"
 
 #. type: Plain text
-#: build/C/man3/wprintf.3:32
+#: build/C/man3/wprintf.3:34
 #, no-wrap
 msgid ""
 "B<int vwprintf(const wchar_t *>I<format>B<, va_list >I<args>B<);>\n"
 #, no-wrap
 msgid ""
 "B<int vwprintf(const wchar_t *>I<format>B<, va_list >I<args>B<);>\n"
@@ -14444,16 +17631,11 @@ msgstr ""
 #.  .BR vfwprintf (),
 #.  .BR vswprintf ():
 #. type: Plain text
 #.  .BR vfwprintf (),
 #.  .BR vswprintf ():
 #. type: Plain text
-#: build/C/man3/wprintf.3:49
+#: build/C/man3/wprintf.3:51
 msgid "_XOPEN_SOURCE\\ E<gt>=\\ 500 || _ISOC99_SOURCE ||"
 msgstr "_XOPEN_SOURCE\\ E<gt>=\\ 500 || _ISOC99_SOURCE ||"
 
 #. type: Plain text
 msgid "_XOPEN_SOURCE\\ E<gt>=\\ 500 || _ISOC99_SOURCE ||"
 msgstr "_XOPEN_SOURCE\\ E<gt>=\\ 500 || _ISOC99_SOURCE ||"
 
 #. type: Plain text
-#: build/C/man3/wprintf.3:51
-msgid "_ISOC95_SOURCE /* Since glibc 2.12 */ ||"
-msgstr "_ISOC95_SOURCE /* Since glibc 2.12 */ ||"
-
-#. type: Plain text
 #: build/C/man3/wprintf.3:53
 msgid "_POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
 msgstr "_POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
 #: build/C/man3/wprintf.3:53
 msgid "_POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
 msgstr "_POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
@@ -14474,7 +17656,7 @@ msgstr ""
 "版である。これらはワイド文字をフォーマットして出力する。"
 
 #. type: Plain text
 "版である。これらはワイド文字をフォーマットして出力する。"
 
 #. type: Plain text
-#: build/C/man3/wprintf.3:77
+#: build/C/man3/wprintf.3:79
 msgid ""
 "The B<wprintf>()  and B<vwprintf>()  functions perform wide-character output "
 "to I<stdout>.  I<stdout> must not be byte oriented; see B<fwide>(3)  for "
 msgid ""
 "The B<wprintf>()  and B<vwprintf>()  functions perform wide-character output "
 "to I<stdout>.  I<stdout> must not be byte oriented; see B<fwide>(3)  for "
@@ -14485,7 +17667,7 @@ msgstr ""
 "ること。"
 
 #. type: Plain text
 "ること。"
 
 #. type: Plain text
-#: build/C/man3/wprintf.3:87
+#: build/C/man3/wprintf.3:91
 msgid ""
 "The B<fwprintf>()  and B<vfwprintf>()  functions perform wide-character "
 "output to I<stream>.  I<stream> must not be byte oriented; see B<fwide>(3)  "
 msgid ""
 "The B<fwprintf>()  and B<vfwprintf>()  functions perform wide-character "
 "output to I<stream>.  I<stream> must not be byte oriented; see B<fwide>(3)  "
@@ -14496,7 +17678,7 @@ msgstr ""
 "B<fwide>(3)  を参照すること。"
 
 #. type: Plain text
 "B<fwide>(3)  を参照すること。"
 
 #. type: Plain text
-#: build/C/man3/wprintf.3:98
+#: build/C/man3/wprintf.3:105
 msgid ""
 "The B<swprintf>()  and B<vswprintf>()  functions perform wide-character "
 "output to an array of wide characters.  The programmer must ensure that "
 msgid ""
 "The B<swprintf>()  and B<vswprintf>()  functions perform wide-character "
 "output to an array of wide characters.  The programmer must ensure that "
@@ -14507,7 +17689,7 @@ msgstr ""
 "空きがあることを保証しなければ ならない。"
 
 #. type: Plain text
 "空きがあることを保証しなければ ならない。"
 
 #. type: Plain text
-#: build/C/man3/wprintf.3:109
+#: build/C/man3/wprintf.3:116
 msgid ""
 "These functions are like the B<printf>(3), B<vprintf>(3), B<fprintf>(3), "
 "B<vfprintf>(3), B<sprintf>(3), B<vsprintf>(3)  functions except for the "
 msgid ""
 "These functions are like the B<printf>(3), B<vprintf>(3), B<fprintf>(3), "
 "B<vfprintf>(3), B<sprintf>(3), B<vsprintf>(3)  functions except for the "
@@ -14517,42 +17699,42 @@ msgstr ""
 "B<sprintf>(3), B<vsprintf>(3)  関数に似ているが以下の 点で異っている。"
 
 #. type: TP
 "B<sprintf>(3), B<vsprintf>(3)  関数に似ているが以下の 点で異っている。"
 
 #. type: TP
-#: build/C/man3/wprintf.3:109 build/C/man3/wprintf.3:112
-#: build/C/man3/wprintf.3:115
+#: build/C/man3/wprintf.3:116 build/C/man3/wprintf.3:121
+#: build/C/man3/wprintf.3:124
 #, no-wrap
 msgid "B<\\(bu>"
 msgstr "B<\\(bu>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<\\(bu>"
 msgstr "B<\\(bu>"
 
 #. type: Plain text
-#: build/C/man3/wprintf.3:112
+#: build/C/man3/wprintf.3:121
 msgid "The I<format> string is a wide-character string."
 msgstr "I<format> がワイド文字列で与えられる。"
 
 #. type: Plain text
 msgid "The I<format> string is a wide-character string."
 msgstr "I<format> がワイド文字列で与えられる。"
 
 #. type: Plain text
-#: build/C/man3/wprintf.3:115
+#: build/C/man3/wprintf.3:124
 msgid "The output consists of wide characters, not bytes."
 msgstr "出力がバイトではなくワイド文字で構成される。"
 
 #. type: Plain text
 msgid "The output consists of wide characters, not bytes."
 msgstr "出力がバイトではなくワイド文字で構成される。"
 
 #. type: Plain text
-#: build/C/man3/wprintf.3:130
+#: build/C/man3/wprintf.3:143
 msgid ""
 "B<swprintf>()  and B<vswprintf>()  take a I<maxlen> argument, B<sprintf>(3)  "
 "and B<vsprintf>(3)  do not.  (B<snprintf>(3)  and B<vsnprintf>(3)  take a "
 "I<maxlen> argument, but these functions do not return -1 upon buffer "
 "overflow on Linux.)"
 msgstr ""
 msgid ""
 "B<swprintf>()  and B<vswprintf>()  take a I<maxlen> argument, B<sprintf>(3)  "
 "and B<vsprintf>(3)  do not.  (B<snprintf>(3)  and B<vsnprintf>(3)  take a "
 "I<maxlen> argument, but these functions do not return -1 upon buffer "
 "overflow on Linux.)"
 msgstr ""
-"B<swprintf>()  と B<vswprintf>()  は I<maxlen> 引き数を取るが、 B<sprintf>"
-"()  と B<vsprintf>()  は取らない (B<snprintf>()  と B<vsnprintf>()  は "
-"I<maxlen> 引き数を取るが これらの関数が Linux では、バッファーが溢れた場合で"
-"も -1 を返さない)。"
+"B<swprintf>()  と B<vswprintf>()  は I<maxlen> 引き数を取るが、 "
+"B<sprintf>()  と B<vsprintf>()  は取らない (B<snprintf>()  と "
+"B<vsnprintf>()  は I<maxlen> 引き数を取るが これらの関数が Linux では、バッ"
+"ã\83\95ã\82¡ã\83¼ã\81\8c溢ã\82\8cã\81\9få ´å\90\88ã\81§ã\82\82 -1 ã\82\92è¿\94ã\81\95ã\81ªã\81\84\80\82"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man3/wprintf.3:132
+#: build/C/man3/wprintf.3:149
 msgid "The treatment of the conversion characters B<c> and B<s> is different:"
 msgstr "B<c> と B<s> 変換文字の扱いが異っている:"
 
 #. type: Plain text
 msgid "The treatment of the conversion characters B<c> and B<s> is different:"
 msgstr "B<c> と B<s> 変換文字の扱いが異っている:"
 
 #. type: Plain text
-#: build/C/man3/wprintf.3:146
+#: build/C/man3/wprintf.3:163
 msgid ""
 "If no B<l> modifier is present, the I<int> argument is converted to a wide "
 "character by a call to the B<btowc>(3)  function, and the resulting wide "
 msgid ""
 "If no B<l> modifier is present, the I<int> argument is converted to a wide "
 "character by a call to the B<btowc>(3)  function, and the resulting wide "
@@ -14564,7 +17746,7 @@ msgstr ""
 "在する場合は I<wint_t> (ワイド文字)引き数が出力される。"
 
 #. type: Plain text
 "在する場合は I<wint_t> (ワイド文字)引き数が出力される。"
 
 #. type: Plain text
-#: build/C/man3/wprintf.3:185
+#: build/C/man3/wprintf.3:203
 msgid ""
 "If no B<l> modifier is present: The I<const\\ char\\ *> argument is expected "
 "to be a pointer to an array of character type (pointer to a string) "
 msgid ""
 "If no B<l> modifier is present: The I<const\\ char\\ *> argument is expected "
 "to be a pointer to an array of character type (pointer to a string) "
@@ -14572,38 +17754,40 @@ msgid ""
 "state.  Characters from the array are converted to wide characters (each by "
 "a call to the B<mbrtowc>(3)  function with a conversion state starting in "
 "the initial state before the first byte).  The resulting wide characters are "
 "state.  Characters from the array are converted to wide characters (each by "
 "a call to the B<mbrtowc>(3)  function with a conversion state starting in "
 "the initial state before the first byte).  The resulting wide characters are "
-"written up to (but not including) the terminating null wide character.  If a "
-"precision is specified, no more wide characters than the number specified "
-"are written.  Note that the precision determines the number of I<wide "
-"characters> written, not the number of I<bytes> or I<screen positions>.  The "
-"array must contain a terminating null byte, unless a precision is given and "
-"it is so small that the number of converted wide characters reaches it "
-"before the end of the array is reached.  If an B<l> modifier is present: The "
-"I<const\\ wchar_t\\ *> argument is expected to be a pointer to an array of "
-"wide characters.  Wide characters from the array are written up to (but not "
-"including) a terminating null wide character.  If a precision is specified, "
-"no more than the number specified are written.  The array must contain a "
-"terminating null wide character, unless a precision is given and it is "
-"smaller than or equal to the number of wide characters in the array."
+"written up to (but not including) the terminating null wide character (L\\(aq"
+"\\e0\\(aq).  If a precision is specified, no more wide characters than the "
+"number specified are written.  Note that the precision determines the number "
+"of I<wide characters> written, not the number of I<bytes> or I<screen "
+"positions>.  The array must contain a terminating null byte (\\(aq"
+"\\e0\\(aq), unless a precision is given and it is so small that the number "
+"of converted wide characters reaches it before the end of the array is "
+"reached.  If an B<l> modifier is present: The I<const\\ wchar_t\\ *> "
+"argument is expected to be a pointer to an array of wide characters.  Wide "
+"characters from the array are written up to (but not including) a "
+"terminating null wide character.  If a precision is specified, no more than "
+"the number specified are written.  The array must contain a terminating null "
+"wide character, unless a precision is given and it is smaller than or equal "
+"to the number of wide characters in the array."
 msgstr ""
 "もし B<l> 修飾子が存在しない場合、 I<const\\ char\\ *> 引き数は初期状態より始"
 "まるマルチバイト文字列を含んだ char 型の配列へのポインタ(文字列へのポインタ)"
 "とみなされる。 配列の文字は(最初のバイト前に初期状態で変換を開始し、それぞれ"
 "の文字を B<mbrtowc>(3)  関数によって)ワイド文字へと変換される。結果のワイド文"
 msgstr ""
 "もし B<l> 修飾子が存在しない場合、 I<const\\ char\\ *> 引き数は初期状態より始"
 "まるマルチバイト文字列を含んだ char 型の配列へのポインタ(文字列へのポインタ)"
 "とみなされる。 配列の文字は(最初のバイト前に初期状態で変換を開始し、それぞれ"
 "の文字を B<mbrtowc>(3)  関数によって)ワイド文字へと変換される。結果のワイド文"
-"字は終端の ナルワイド文字の手前までが書き込まれる。精度(precision)が指定され"
-"た 場合、指定された数字を超えるワイド文字は書き込まれない。精度は 書き込まれ"
-"る I<バイト> 数や I<画面上の位置> ではなく I<ワイド文字> の数を指定することに"
-"注意すること。 精度がない場合には配列の終端にナル文字を含む必要がある。 精度"
-"を指定する場合には、配列の最後に到着する前に変換されたワイド文字の 数がそれに"
-"到達するよう、精度は十分に小さな数でなければならない。 もし B<l> 修飾子が存在"
-"する場合、 I<const\\ wchar_t\\ *> 引き数はワイド文字の配列へのポインタとみな"
-"される。 配列のワイド文字列は終端のナルワイド文字の手間まで出力される。 もし"
-"精度が指定された場合には指定された精度以上の文字は出力されない。 精度を指定し"
-"ない場合には終端のナルワイド文字を含む必要がある。 精度を指定する場合にはそれ"
-"はワイド文字の配列の大きさよりも小さくな ければならない。"
-
-#. type: Plain text
-#: build/C/man3/wprintf.3:193
+"字は終端の ナルワイド文字 (L\\(aq\\e0\\(aq) の手前までが書き込まれる。精度"
+"(precision)が指定された 場合、指定された数字を超えるワイド文字は書き込まれな"
+"い。精度は 書き込まれる I<バイト> 数や I<画面上の位置> ではなく I<ワイド文字"
+"> の数を指定することに注意すること。 精度がない場合には配列の終端にナルバイ"
+"ト (\\(aq\\e0\\(aq) を含む必要がある。 精度を指定する場合には、配列の最後に到"
+"着する前に変換されたワイド文字の 数がそれに到達するよう、精度は十分に小さな数"
+"でなければならない。 もし B<l> 修飾子が存在する場合、 I<const\\ wchar_t\\ *> "
+"引き数はワイド文字の配列へのポインタとみなされる。 配列のワイド文字列は終端の"
+"ナルワイド文字の手間まで出力される。 もし精度が指定された場合には指定された精"
+"度以上の文字は出力されない。 精度を指定しない場合には終端のナルワイド文字を含"
+"む必要がある。 精度を指定する場合にはそれはワイド文字の配列の大きさよりも小さ"
+"くな ければならない。"
+
+#. type: Plain text
+#: build/C/man3/wprintf.3:211
 msgid ""
 "The functions return the number of wide characters written, excluding the "
 "terminating null wide character in case of the functions B<swprintf>()  and "
 msgid ""
 "The functions return the number of wide characters written, excluding the "
 "terminating null wide character in case of the functions B<swprintf>()  and "
@@ -14614,12 +17798,12 @@ msgstr ""
 "場合は -1 を返す。"
 
 #. type: Plain text
 "場合は -1 を返す。"
 
 #. type: Plain text
-#: build/C/man3/wprintf.3:195
+#: build/C/man3/wprintf.3:213
 msgid "C99."
 msgstr "C99."
 
 #. type: Plain text
 msgid "C99."
 msgstr "C99."
 
 #. type: Plain text
-#: build/C/man3/wprintf.3:203
+#: build/C/man3/wprintf.3:221
 msgid ""
 "The behavior of B<wprintf>()  et al. depends on the B<LC_CTYPE> category of "
 "the current locale."
 msgid ""
 "The behavior of B<wprintf>()  et al. depends on the B<LC_CTYPE> category of "
 "the current locale."
@@ -14627,10 +17811,10 @@ msgstr ""
 "B<wprintf>()  等の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存している。"
 
 #. type: Plain text
 "B<wprintf>()  等の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存している。"
 
 #. type: Plain text
-#: build/C/man3/wprintf.3:229
+#: build/C/man3/wprintf.3:251
 msgid ""
 "If the I<format> string contains non-ASCII wide characters, the program will "
 msgid ""
 "If the I<format> string contains non-ASCII wide characters, the program will "
-"only work correctly if the B<LC_CTYPE> category of the current locale at run "
+"work correctly only if the B<LC_CTYPE> category of the current locale at run "
 "time is the same as the B<LC_CTYPE> category of the current locale at "
 "compile time.  This is because the I<wchar_t> representation is platform- "
 "and locale-dependent.  (The glibc represents wide characters using their "
 "time is the same as the B<LC_CTYPE> category of the current locale at "
 "compile time.  This is because the I<wchar_t> representation is platform- "
 "and locale-dependent.  (The glibc represents wide characters using their "
@@ -14638,8 +17822,8 @@ msgid ""
 "the use of C99 universal character names of the form \\eunnnn does not solve "
 "this problem.)  Therefore, in internationalized programs, the I<format> "
 "string should consist of ASCII wide characters only, or should be "
 "the use of C99 universal character names of the form \\eunnnn does not solve "
 "this problem.)  Therefore, in internationalized programs, the I<format> "
 "string should consist of ASCII wide characters only, or should be "
-"constructed at run time in an internationalized way (e.g., using B<gettext>"
-"(3)  or B<iconv>(3), followed by B<mbstowcs>(3))."
+"constructed at run time in an internationalized way (e.g., using "
+"B<gettext>(3)  or B<iconv>(3), followed by B<mbstowcs>(3))."
 msgstr ""
 "I<format> 文字列が ASCII 以外のワイド文字を含んでいる場合、 実行時のロケール"
 "の B<LC_CTYPE> カテゴリがコンパイル時の B<LC_CTYPE> カテゴリと 一致している場"
 msgstr ""
 "I<format> 文字列が ASCII 以外のワイド文字を含んでいる場合、 実行時のロケール"
 "の B<LC_CTYPE> カテゴリがコンパイル時の B<LC_CTYPE> カテゴリと 一致している場"
@@ -14653,7 +17837,7 @@ msgstr ""
 
 #.  .BR wscanf (3)
 #. type: Plain text
 
 #.  .BR wscanf (3)
 #. type: Plain text
-#: build/C/man3/wprintf.3:236
+#: build/C/man3/wprintf.3:258
 msgid "B<fprintf>(3), B<fputwc>(3), B<fwide>(3), B<printf>(3), B<snprintf>(3)"
 msgstr "B<fprintf>(3), B<fputwc>(3), B<fwide>(3), B<printf>(3), B<snprintf>(3)"
 
 msgid "B<fprintf>(3), B<fputwc>(3), B<fwide>(3), B<printf>(3), B<snprintf>(3)"
 msgstr "B<fprintf>(3), B<fputwc>(3), B<fwide>(3), B<printf>(3), B<snprintf>(3)"
 
@@ -14663,12 +17847,6 @@ msgstr "B<fprintf>(3), B<fputwc>(3), B<fwide>(3), B<printf>(3), B<snprintf>(3)"
 msgid "WRITE"
 msgstr "WRITE"
 
 msgid "WRITE"
 msgstr "WRITE"
 
-#. type: TH
-#: build/C/man2/write.2:39
-#, no-wrap
-msgid "2010-08-29"
-msgstr "2010-08-29"
-
 #. type: Plain text
 #: build/C/man2/write.2:42
 msgid "write - write to a file descriptor"
 #. type: Plain text
 #: build/C/man2/write.2:42
 msgid "write - write to a file descriptor"
@@ -14702,8 +17880,8 @@ msgstr ""
 "書き込まれるバイト数は I<count> よりも小さくなることがある。 例えば、書き込み"
 "対象の物理メディアに十分な領域がない場合、 リソース上限 B<RLIMIT_FSIZE> に達"
 "した場合 (B<setrlimit>(2)  参照)、 I<count> バイト未満の書き込みが行われた後"
 "書き込まれるバイト数は I<count> よりも小さくなることがある。 例えば、書き込み"
 "対象の物理メディアに十分な領域がない場合、 リソース上限 B<RLIMIT_FSIZE> に達"
 "した場合 (B<setrlimit>(2)  参照)、 I<count> バイト未満の書き込みが行われた後"
-"で 呼び出しがシグナルハンドラにより割り込まれた場合、 などである。 (B<pipe>"
-"(7)  も参照のこと。)"
+"で 呼び出しがシグナルハンドラにより割り込まれた場合、 などである。 "
+"(B<pipe>(7)  も参照のこと。)"
 
 #. type: Plain text
 #: build/C/man2/write.2:82
 
 #. type: Plain text
 #: build/C/man2/write.2:82
@@ -14726,8 +17904,8 @@ msgstr ""
 #: build/C/man2/write.2:89
 msgid ""
 "POSIX requires that a B<read>(2)  which can be proved to occur after a "
 #: build/C/man2/write.2:89
 msgid ""
 "POSIX requires that a B<read>(2)  which can be proved to occur after a "
-"B<write>()  has returned returns the new data.  Note that not all file "
-"systems are POSIX conforming."
+"B<write>()  has returned returns the new data.  Note that not all "
+"filesystems are POSIX conforming."
 msgstr ""
 "POSIX は B<write>()  が行なわれた後に実行した B<read>(2)  が 新しいデータを返"
 "すことを要求している。 全てのファイルシステムが POSIX 準拠ではない点に注意す"
 msgstr ""
 "POSIX は B<write>()  が行なわれた後に実行した B<read>(2)  が 新しいデータを返"
 "すことを要求している。 全てのファイルシステムが POSIX 準拠ではない点に注意す"
@@ -14806,7 +17984,16 @@ msgstr ""
 "グラムソケットを 参照している。"
 
 #. type: Plain text
 "グラムソケットを 参照している。"
 
 #. type: Plain text
-#: build/C/man2/write.2:144
+#: build/C/man2/write.2:141
+msgid ""
+"The user's quota of disk blocks on the filesystem containing the file "
+"referred to by I<fd> has been exhausted."
+msgstr ""
+"I<fd> が参照するファイルを含むファイルシステムのディスクブロックのユーザ"
+"クォータの上限に達している。"
+
+#. type: Plain text
+#: build/C/man2/write.2:150
 msgid ""
 "An attempt was made to write a file that exceeds the implementation-defined "
 "maximum file size or the process's file size limit, or to write at a "
 msgid ""
 "An attempt was made to write a file that exceeds the implementation-defined "
 "maximum file size or the process's file size limit, or to write at a "
@@ -14817,16 +18004,16 @@ msgstr ""
 "書き込もうとした。"
 
 #. type: Plain text
 "書き込もうとした。"
 
 #. type: Plain text
-#: build/C/man2/write.2:148
+#: build/C/man2/write.2:154
 msgid ""
 "The call was interrupted by a signal before any data was written; see "
 "B<signal>(7)."
 msgstr ""
 msgid ""
 "The call was interrupted by a signal before any data was written; see "
 "B<signal>(7)."
 msgstr ""
-"何のデータも書かない間にシグナルにより割り込まれた (interrupt)。 B<signal>"
-"(7)  参照。"
+"何のデータも書かない間にシグナルにより割り込まれた (interrupt)。 "
+"B<signal>(7)  参照。"
 
 #. type: Plain text
 
 #. type: Plain text
-#: build/C/man2/write.2:159
+#: build/C/man2/write.2:165
 msgid ""
 "I<fd> is attached to an object which is unsuitable for writing; or the file "
 "was opened with the B<O_DIRECT> flag, and either the address specified in "
 msgid ""
 "I<fd> is attached to an object which is unsuitable for writing; or the file "
 "was opened with the B<O_DIRECT> flag, and either the address specified in "
@@ -14839,25 +18026,25 @@ msgstr ""
 "メントが不適切である。"
 
 #. type: Plain text
 "メントが不適切である。"
 
 #. type: Plain text
-#: build/C/man2/write.2:162
+#: build/C/man2/write.2:168
 msgid "A low-level I/O error occurred while modifying the inode."
 msgstr "inode の修正中に低レべル (low-level) I/O エラーが発生した。"
 
 #. type: Plain text
 msgid "A low-level I/O error occurred while modifying the inode."
 msgstr "inode の修正中に低レべル (low-level) I/O エラーが発生した。"
 
 #. type: Plain text
-#: build/C/man2/write.2:167
+#: build/C/man2/write.2:173
 msgid ""
 "The device containing the file referred to by I<fd> has no room for the data."
 msgstr ""
 "I<fd> によって参照されるファイルを含むデバイス (device) に十分な空きがない。"
 
 #. type: TP
 msgid ""
 "The device containing the file referred to by I<fd> has no room for the data."
 msgstr ""
 "I<fd> によって参照されるファイルを含むデバイス (device) に十分な空きがない。"
 
 #. type: TP
-#: build/C/man2/write.2:167
+#: build/C/man2/write.2:173
 #, no-wrap
 msgid "B<EPIPE>"
 msgstr "B<EPIPE>"
 
 #. type: Plain text
 #, no-wrap
 msgid "B<EPIPE>"
 msgstr "B<EPIPE>"
 
 #. type: Plain text
-#: build/C/man2/write.2:176
+#: build/C/man2/write.2:182
 msgid ""
 "I<fd> is connected to a pipe or socket whose reading end is closed.  When "
 "this happens the writing process will also receive a B<SIGPIPE> signal.  "
 msgid ""
 "I<fd> is connected to a pipe or socket whose reading end is closed.  When "
 "this happens the writing process will also receive a B<SIGPIPE> signal.  "
@@ -14871,13 +18058,13 @@ msgstr ""
 "write の返り値を参照できる。)"
 
 #. type: Plain text
 "write の返り値を参照できる。)"
 
 #. type: Plain text
-#: build/C/man2/write.2:179
+#: build/C/man2/write.2:185
 msgid "Other errors may occur, depending on the object connected to I<fd>."
 msgstr ""
 "I<fd> に接続されたオブジェクトによっては、他のエラーが起こるかもしれない。"
 
 #. type: Plain text
 msgid "Other errors may occur, depending on the object connected to I<fd>."
 msgstr ""
 "I<fd> に接続されたオブジェクトによっては、他のエラーが起こるかもしれない。"
 
 #. type: Plain text
-#: build/C/man2/write.2:188
+#: build/C/man2/write.2:194
 msgid ""
 "Under SVr4 a write may be interrupted and return B<EINTR> at any point, not "
 "just before any data is written."
 msgid ""
 "Under SVr4 a write may be interrupted and return B<EINTR> at any point, not "
 "just before any data is written."
@@ -14886,7 +18073,7 @@ msgstr ""
 "で B<EINTR> が返る。"
 
 #. type: Plain text
 "で B<EINTR> が返る。"
 
 #. type: Plain text
-#: build/C/man2/write.2:197
+#: build/C/man2/write.2:203
 msgid ""
 "A successful return from B<write>()  does not make any guarantee that data "
 "has been committed to disk.  In fact, on some buggy implementations, it does "
 msgid ""
 "A successful return from B<write>()  does not make any guarantee that data "
 "has been committed to disk.  In fact, on some buggy implementations, it does "
@@ -14900,7 +18087,7 @@ msgstr ""
 "write した後に B<fsync>(2)  を呼び出すことである。"
 
 #. type: Plain text
 "write した後に B<fsync>(2)  を呼び出すことである。"
 
 #. type: Plain text
-#: build/C/man2/write.2:205
+#: build/C/man2/write.2:211
 msgid ""
 "If a B<write>()  is interrupted by a signal handler before any bytes are "
 "written, then the call fails with the error B<EINTR>; if it is interrupted "
 msgid ""
 "If a B<write>()  is interrupted by a signal handler before any bytes are "
 "written, then the call fails with the error B<EINTR>; if it is interrupted "
@@ -14911,364 +18098,207 @@ msgstr ""
 "場合、 B<write>()  はエラー B<EINTR> で失敗する。 1バイトでも書き込んだ後で割"
 "り込まれた場合には、 B<write>()  は成功し、書き込んだバイト数を返す。"
 
 "場合、 B<write>()  はエラー B<EINTR> で失敗する。 1バイトでも書き込んだ後で割"
 "り込まれた場合には、 B<write>()  は成功し、書き込んだバイト数を返す。"
 
+#
+#.  http://thread.gmane.org/gmane.linux.kernel/1649458
+#.     From: Michael Kerrisk (man-pages <mtk.manpages <at> gmail.com>
+#.     Subject: Update of file offset on write() etc. is non-atomic with I/O
+#.     Date: 2014-02-17 15:41:37 GMT
+#.     Newsgroups: gmane.linux.kernel, gmane.linux.file-systems
+#.  commit 9c225f2655e36a470c4f58dbbc99244c5fc7f2d4
+#.     Author: Linus Torvalds <torvalds@linux-foundation.org>
+#.     Date:   Mon Mar 3 09:36:58 2014 -0800
+#.         vfs: atomic f_pos accesses as per POSIX
 #. type: Plain text
 #. type: Plain text
-#: build/C/man2/write.2:217
-msgid ""
-"B<close>(2), B<fcntl>(2), B<fsync>(2), B<ioctl>(2), B<lseek>(2), B<open>(2), "
-"B<pwrite>(2), B<read>(2), B<select>(2), B<writev>(2), B<fwrite>(3)"
-msgstr ""
-"B<close>(2), B<fcntl>(2), B<fsync>(2), B<ioctl>(2), B<lseek>(2), B<open>(2), "
-"B<pwrite>(2), B<read>(2), B<select>(2), B<writev>(2), B<fwrite>(3)"
-
-#. type: TH
-#: build/C/man2/process_vm_readv.2:27
-#, no-wrap
-msgid "PROCESS_VM_READV"
-msgstr ""
-
-#. type: TH
-#: build/C/man2/process_vm_readv.2:27
-#, no-wrap
-msgid "2012-04-25"
-msgstr "2012-04-25"
-
-#. type: Plain text
-#: build/C/man2/process_vm_readv.2:30
-msgid ""
-"process_vm_readv, process_vm_writev - transfer data between process address "
-"spaces"
-msgstr ""
-
-#. type: Plain text
-#: build/C/man2/process_vm_readv.2:40
-#, no-wrap
-msgid ""
-"B<ssize_t process_vm_readv(pid_t >I<pid>B<,>\n"
-"B<                         const struct iovec *>I<local_iov>B<,>\n"
-"B<                         unsigned long >I<liovcnt>B<,>\n"
-"B<                         const struct iovec *>I<remote_iov>B<,>\n"
-"B<                         unsigned long >I<riovcnt>B<,>\n"
-"B<                         unsigned long >I<flags>B<);>\n"
-msgstr ""
-
-#. type: Plain text
-#: build/C/man2/process_vm_readv.2:47
-#, no-wrap
-msgid ""
-"B<ssize_t process_vm_writev(pid_t >I<pid>B<,>\n"
-"B<                          const struct iovec *>I<local_iov>B<,>\n"
-"B<                          unsigned long >I<liovcnt>B<,>\n"
-"B<                          const struct iovec *>I<remote_iov>B<,>\n"
-"B<                          unsigned long >I<riovcnt>B<,>\n"
-"B<                          unsigned long >I<flags>B<);>\n"
-msgstr ""
-
-#. type: Plain text
-#: build/C/man2/process_vm_readv.2:55
-msgid ""
-"These system calls transfer data between the address space of the calling "
-"process (\"the local process\") and the process identified by I<pid> (\"the "
-"remote process\").  The data moves directly between the address spaces of "
-"the two processes, without passing through kernel space."
-msgstr ""
-
-#. type: Plain text
-#: build/C/man2/process_vm_readv.2:80
-msgid ""
-"The B<process_vm_readv>()  system call transfers data from the remote "
-"process to the local process.  The data to be transferred is identified by "
-"I<remote_iov> and I<riovcnt>: I<remote_iov> is a pointer to an array "
-"describing address ranges in the process I<pid>, and I<riovcnt> specifies "
-"the number of elements in I<remote_iov>.  The data is transferred to the "
-"locations specified by I<local_iov> and I<liovcnt>: I<local_iov> is a "
-"pointer to an array describing address ranges in the calling process, and "
-"I<liovcnt> specifies the number of elements in I<local_iov>."
-msgstr ""
-
-#. type: Plain text
-#: build/C/man2/process_vm_readv.2:94
-msgid ""
-"The B<process_vm_writev>()  system call is the converse of "
-"B<process_vm_readv>()\\(emit transfers data from the local process to the "
-"remote process.  Other than the direction of the transfer, the arguments "
-"I<liovcnt>, I<local_iov>, I<riovcnt>, and I<remote_iov> have the same "
-"meaning as for B<process_vm_readv>()."
-msgstr ""
-
-#. type: Plain text
-#: build/C/man2/process_vm_readv.2:104
-msgid ""
-"The I<local_iov> and I<remote_iov> arguments point to an array of I<iovec> "
-"structures, defined in I<E<lt>sys/uio.hE<gt>> as:"
-msgstr ""
-"引き数 I<local_iov> と I<remote_iov> は I<iovec> 構造体の配列へのポイン\n"
-"タである。 I<iovec> 構造体は I<E<lt>sys/uio.hE<gt>> で以下のように定義\n"
-"されている:"
-
-#. type: Plain text
-#: build/C/man2/process_vm_readv.2:127
-msgid ""
-"Buffers are processed in array order.  This means that B<process_vm_readv>"
-"()  completely fills I<local_iov[0]> before proceeding to I<local_iov[1]>, "
-"and so on.  Likewise, I<remote_iov[0]> is completely read before proceeding "
-"to I<remote_iov[1]>, and so on."
-msgstr ""
-"バッファは配列の順序で処理される。これは、 B<process_vm_readv>() が\n"
-"I<local_iov>[0] が完全に一杯になるまでデータを詰めてから、\n"
-"I<local_iov>[1] に進むといったことを意味する。同様に、\n"
-"I<remote_iov>[0] を完全に読み出してから I<remote_iov>[1] に進み、\n"
-"以降も同様である。"
-
-#. type: Plain text
-#: build/C/man2/process_vm_readv.2:138
-msgid ""
-"Similarly, B<process_vm_writev>()  writes out the entire contents of "
-"I<local_iov[0]> before proceeding to I<local_iov[1]>, and it completely "
-"fills I<remote_iov[0]> before proceeding to I<remote_iov[1]>."
-msgstr ""
-
-#. type: Plain text
-#: build/C/man2/process_vm_readv.2:146
-msgid ""
-"The lengths of I<remote_iov[i].iov_len> and I<local_iov[i].iov_len> do not "
-"have to be the same.  Thus, it is possible to split a single local buffer "
-"into multiple remote buffers, or vice versa."
-msgstr ""
-
-#. type: Plain text
-#: build/C/man2/process_vm_readv.2:150
-msgid "The I<flags> argument is currently unused and must be set to 0."
-msgstr "I<flags> 引き数は現在使用されておらず、 0 を設定しなければならない。"
-
-#.  In time, glibc might provide a wrapper that works around this limit,
-#.  as is done for readv()/writev()
-#. type: Plain text
-#: build/C/man2/process_vm_readv.2:163
-msgid ""
-"The values specified in the I<liovcnt> and I<riovcnt> arguments must be less "
-"than or equal to B<IOV_MAX> (defined in I<E<lt>limits.hE<gt>> or accessible "
-"via the call I<sysconf(_SC_IOV_MAX)>)."
-msgstr ""
-
-#. type: Plain text
-#: build/C/man2/process_vm_readv.2:173
-msgid ""
-"The count arguments and I<local_iov> are checked before doing any "
-"transfers.  If the counts are too big, or I<local_iov> is invalid, or the "
-"addresses refer to regions that are inaccessible to the local process, none "
-"of the vectors will be processed and an error will be returned immediately."
-msgstr ""
-
-#. type: Plain text
-#: build/C/man2/process_vm_readv.2:193
-msgid ""
-"Note, however, that these system calls do not check the memory regions in "
-"the remote process until just before doing the read/write.  Consequently, a "
-"partial read/write (see RETURN VALUE)  may result if one of the "
-"I<remote_iov> elements points to an invalid memory region in the remote "
-"process.  No further reads/writes will be attempted beyond that point.  Keep "
-"this in mind when attempting to read data of unknown length (such as C "
-"strings that are null-terminated) from a remote process, by avoiding "
-"spanning memory pages (typically 4KiB) in a single remote I<iovec> element.  "
-"(Instead, split the remote read into two I<remote_iov> elements and have "
-"them merge back into a single write I<local_iov> entry.  The first read "
-"entry goes up to the page boundary, while the second starts on the next page "
-"boundary.)"
-msgstr ""
-
-#. type: Plain text
-#: build/C/man2/process_vm_readv.2:207
-msgid ""
-"In order to read from or write to another process, either the caller must "
-"have the capability B<CAP_SYS_PTRACE>, or the real user ID, effective user "
-"ID, and saved set-user-ID of the remote process must match the real user ID "
-"of the caller I<and> the real group ID, effective group ID, and saved set-"
-"group-ID of the remote process must match the real group ID of the caller.  "
-"(The permission required is exactly the same as that required to perform a "
-"B<ptrace>(2)  B<PTRACE_ATTACH> on the remote process.)"
-msgstr ""
-
-#. type: Plain text
-#: build/C/man2/process_vm_readv.2:223
-msgid ""
-"On success, B<process_vm_readv>()  returns the number of bytes read and "
-"B<process_vm_writev>()  returns the number of bytes written.  This return "
-"value may be less than the total number of requested bytes, if a partial "
-"read/write occurred.  (Partial transfers apply at the granularity of "
-"I<iovec> elements.  These system calls won't perform a partial transfer that "
-"splits a single I<iovec> element.)  The caller should check the return value "
-"to determine whether a partial read/write occurred."
-msgstr ""
-
-#. type: Plain text
-#: build/C/man2/process_vm_readv.2:227
-msgid "On error, -1 is returned and I<errno> is set appropriately."
-msgstr "エラーの場合は -1 が返され、 I<errno> が適切に設定される。"
-
-#. type: Plain text
-#: build/C/man2/process_vm_readv.2:239
+#: build/C/man2/write.2:250
 msgid ""
 msgid ""
-"The sum of the I<iov_len> values of either I<local_iov> or I<remote_iov> "
-"overflows a I<ssize_t> value."
+"Among the APIs subsequently listed are B<write>()  and B<writev>(2).  And "
+"among the effects that should be atomic across threads (and processes)  are "
+"updates of the file offset.  However, on Linux before version 3.14, this was "
+"not the case: if two processes that share an open file description (see "
+"B<open>(2))  perform a B<write>()  (or B<writev>(2))  at the same time, then "
+"the I/O operations were not atomic with respect updating the file offset, "
+"with the result that the blocks of data output by the two processes might "
+"(incorrectly) overlap.  This problem was fixed in Linux 3.14."
 msgstr ""
 
 #. type: Plain text
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/process_vm_readv.2:243
-msgid "I<flags> is not 0."
-msgstr "I<flags> が 0 でない。"
-
-#. type: Plain text
-#: build/C/man2/process_vm_readv.2:249
-msgid "I<liovcnt> or I<riovcnt> is too large."
-msgstr "I<liovcnt> か I<riovcnt> が大きすぎる。"
-
-#. type: Plain text
-#: build/C/man2/process_vm_readv.2:254
+#: build/C/man2/write.2:262
 msgid ""
 msgid ""
-"The memory described by I<local_iov> is outside the caller's accessible "
-"address space."
+"B<close>(2), B<fcntl>(2), B<fsync>(2), B<ioctl>(2), B<lseek>(2), B<open>(2), "
+"B<pwrite>(2), B<read>(2), B<select>(2), B<writev>(2), B<fwrite>(3)"
 msgstr ""
 msgstr ""
-"I<local_iov> が示すメモリが呼び出し側がアクセス可能な\n"
-"アドレス空間の外にある。"
+"B<close>(2), B<fcntl>(2), B<fsync>(2), B<ioctl>(2), B<lseek>(2), B<open>(2), "
+"B<pwrite>(2), B<read>(2), B<select>(2), B<writev>(2), B<fwrite>(3)"
 
 
-#. type: Plain text
-#: build/C/man2/process_vm_readv.2:260
-msgid ""
-"The memory described by I<remote_iov> is outside the accessible address "
-"space of the process I<pid>."
-msgstr ""
+#~ msgid "2014-04-02"
+#~ msgstr "2014-04-02"
 
 
-#. type: Plain text
-#: build/C/man2/process_vm_readv.2:265
-msgid ""
-"Could not allocate memory for internal copies of the I<iovec> structures."
-msgstr ""
+#~ msgid "2012-04-17"
+#~ msgstr "2012-04-17"
 
 
-#. type: Plain text
-#: build/C/man2/process_vm_readv.2:269
-msgid ""
-"The caller does not have permission to access the address space of the "
-"process I<pid>."
-msgstr ""
+#~ msgid "B<int >I<errno>B<;>"
+#~ msgstr "B<int >I<errno>B<;>"
 
 
-#. type: TP
-#: build/C/man2/process_vm_readv.2:269
-#, no-wrap
-msgid "B<ESRCH>"
-msgstr ""
+#~ msgid "2014-04-20"
+#~ msgstr "2014-04-20"
 
 
-#. type: Plain text
-#: build/C/man2/process_vm_readv.2:274
-msgid "No process with ID I<pid> exists."
-msgstr ""
+#~ msgid ""
+#~ "If the pathname given in I<pathname> is relative, then it is interpreted "
+#~ "relative to the directory relative to by the file descriptor I<dirfd> "
+#~ "(rather than relative to the current working directory of the calling "
+#~ "process, as is done by B<open>()  for a relative pathname)."
+#~ msgstr ""
+#~ "I<pathname> で指定されたパス名が相対パスの場合、このパス名はファイルディス"
+#~ "クリプター I<dirfd> が参照するディレクトリに対する相対パスと解釈される "
+#~ "(B<open>() に相対パス名を渡した場合のように、呼び出したプロセスのカレント"
+#~ "ワーキングディレクトリに対する相対パスではない)。"
 
 
-#. type: Plain text
-#: build/C/man2/process_vm_readv.2:277
-msgid ""
-"These system calls were added in Linux 3.2.  Support is provided in glibc "
-"since version 2.15."
-msgstr ""
-"これらのシステムコールは Linux 3.2 で追加された。ライブラリによる\n"
-"サポートは glibc バージョン 2.15 以降で提供されている。"
+#~ msgid "2014-03-24"
+#~ msgstr "2014-03-24"
 
 
-#. type: Plain text
-#: build/C/man2/process_vm_readv.2:279
-msgid "These system calls are nonstandard Linux extensions."
-msgstr "これらのシステムコールは非標準で Linux による拡張である。"
+#~ msgid "2013-02-12"
+#~ msgstr "2013-02-12"
 
 
-#. type: Plain text
-#: build/C/man2/process_vm_readv.2:285
-msgid ""
-"The data transfers performed by B<process_vm_readv>()  and "
-"B<process_vm_writev>()  are not guaranteed to be atomic in any way."
-msgstr ""
+#~ msgid "2013-01-27"
+#~ msgstr "2013-01-27"
 
 
-#.  Original user is MPI, http://www.mcs.anl.gov/research/projects/mpi/
-#.  See also some benchmarks at http://lwn.net/Articles/405284/
-#.  and http://marc.info/?l=linux-mm&m=130105930902915&w=2
-#. type: Plain text
-#: build/C/man2/process_vm_readv.2:293
-msgid ""
-"These system calls were designed to permit fast message passing by allowing "
-"messages to be exchanged with a single copy operation (rather than the "
-"double copy that would be required when using, for example, shared memory or "
-"pipes)."
-msgstr ""
+#~ msgid ""
+#~ "Enable the close-on-exec flag for the new file descriptor.  Specifying "
+#~ "this flag permits a program to avoid additional B<fcntl>(2)  B<F_SETFD> "
+#~ "operations to set the B<FD_CLOEXEC> flag.  Additionally, use of this flag "
+#~ "is essential in some multithreaded programs since using a separate "
+#~ "B<fcntl>(2)  B<F_SETFD> operation to set the B<FD_CLOEXEC> flag does not "
+#~ "suffice to avoid race conditions where one thread opens a file descriptor "
+#~ "at the same time as another thread does a B<fork>(2)  plus B<execve>(2)."
+#~ msgstr ""
+#~ "新しいファイルディスクリプタに対して close-on-exec フラグを有効にする。 こ"
+#~ "のフラグを指定することで、プログラムは B<FD_CLOEXEC> フラグをセットするた"
+#~ "めの B<fcntl>(2)  B<F_SETFD> 操作を別途呼び出す必要がなくなる。 また、ある"
+#~ "種のマルチスレッドのプログラムはこのフラグの使用は 不可欠である。なぜな"
+#~ "ら、個別に B<FD_CLOEXEC> フラグを設定する B<fcntl>(2)  B<F_SETFD> 操作を呼"
+#~ "び出したとしても、あるスレッドがファイルディスクリプタを オープンするのと"
+#~ "同時に別のスレッドが B<fork>(2)  と B<execve>(2)  を実行するという競合条件"
+#~ "を避けるのには十分ではないからである。"
+
+#~ msgid "SYMBOLIC LINK HANDLING"
+#~ msgstr "シンボリックリンクの取り扱い"
 
 
-#. type: Plain text
-#: build/C/man2/process_vm_readv.2:301
-msgid ""
-"The following code sample demonstrates the use of B<process_vm_readv>().  It "
-"reads 20 bytes at the address 0x10000 from the process with PID 10 and "
-"writes the first 10 bytes into I<buf1> and the second 10 bytes into I<buf2>."
-msgstr ""
+#~ msgid ""
+#~ "Various system calls do not follow links, and operate on the symbolic "
+#~ "link itself.  They are: B<lchown>(2), B<lgetxattr>(2), B<llistxattr>(2), "
+#~ "B<lremovexattr>(2), B<lsetxattr>(2), B<lstat>(2), B<readlink>(2), "
+#~ "B<rename>(2), B<rmdir>(2), and B<unlink>(2).  Certain other system calls "
+#~ "optionally follow symbolic links.  They are: B<faccessat>(2), "
+#~ "B<fchownat>(2), B<fstatat>(2), B<linkat>(2), B<open>(2), B<openat>(2), "
+#~ "and B<utimensat>(2); see their manual pages for details.  Because "
+#~ "B<remove>(3)  is an alias for B<unlink>(2), that library function also "
+#~ "does not follow symbolic links.  When B<rmdir>(2)  is applied to a "
+#~ "symbolic link, it fails with the error B<ENOTDIR>.  The B<link>(2)  "
+#~ "warrants special discussion.  POSIX.1-2001 specifies that B<link>(2)  "
+#~ "should dereference I<oldpath> if it is a symbolic link.  However, Linux "
+#~ "does not do this.  (By default Solaris is the same, but the POSIX.1-2001 "
+#~ "specified behavior can be obtained with suitable compiler options.)  The "
+#~ "upcoming POSIX.1 revision changes the specification to allow either "
+#~ "behavior in an implementation."
+#~ msgstr ""
+#~ "いくつかのシステムコールは、 シンボリックリンクを辿らず、 シンボリックリン"
+#~ "ク自身に対して操作を行う。 B<lchown>(2), B<lgetxattr>(2), "
+#~ "B<llistxattr>(2), B<lremovexattr>(2), B<lsetxattr>(2), B<lstat>(2), "
+#~ "B<readlink>(2), B<rename>(2), B<rmdir>(2), B<unlink>(2) が該当する。 他の"
+#~ "いくつかのシステムコールは、 シンボリックリンクを辿る場合と辿らない場合が"
+#~ "ある。 該当するのは B<faccessat>(2), B<fchownat>(2), B<fstatat>(2), "
+#~ "B<linkat>(2), B<open>(2), B<openat>(2), B<utimensat>(2) である。 詳細はそ"
+#~ "れぞれのマニュアルページを参照。 ライブラリ関数 B<remove>(3) は "
+#~ "B<unlink>(2) の別名なので、 この関数もシンボリックリンクを辿らない。 "
+#~ "B<rmdir>(2) をシンボリックリンクに対して行った場合、 エラー B<ENOTDIR> で"
+#~ "失敗する。 B<link>(2) は特別に議論が必要である。 POSIX.1-2001 は、 "
+#~ "B<link>(2) は I<oldpath> がシンボリックリンクの場合にはこのリンクを展開す"
+#~ "べきだと規定している。 しかし、 Linux はこれを行っていない。 (デフォルトで"
+#~ "は Solaris も同じだが、 適切なコンパイルオプションを指定することで "
+#~ "POSIX.1-2001 で規定された動作にすることもできる。) POSIX.1-2001 の次の版で"
+#~ "は、仕様が変更され、 どちらの動作の実装も認められるようになる。"
 
 
-#. type: Plain text
-#: build/C/man2/process_vm_readv.2:304
-#, no-wrap
-msgid "#include E<lt>sys/uio.hE<gt>\n"
-msgstr "#include E<lt>sys/uio.hE<gt>\n"
+#~ msgid ""
+#~ "If the name was the last link to a file but any processes still have the "
+#~ "file open the file will remain in existence until the last file "
+#~ "descriptor referring to it is closed."
+#~ msgstr ""
+#~ "もし削除する名前がファイルへの最後のリンクだが、どれかのプロセスが その"
+#~ "ファイルをまだオープンしている場合は、 そのファイルを参照している最後の"
+#~ "ファイルディスクリプタ (file descriptor)  がクローズ (close) されるまで"
+#~ "ファイルは存在し続ける。"
 
 
-#. type: Plain text
-#: build/C/man2/process_vm_readv.2:314
-#, no-wrap
-msgid ""
-"int\n"
-"main(void)\n"
-"{\n"
-"    struct iovec local[2];\n"
-"    struct iovec remote[1];\n"
-"    char buf1[10];\n"
-"    char buf2[10];\n"
-"    ssize_t nread;\n"
-"    pid_t pid = 10;             /* PID of remote process */\n"
-msgstr ""
+#~ msgid "If the name referred to a symbolic link the link is removed."
+#~ msgstr ""
+#~ "もしその名前がシンボリックリンク (symbolic link) を参照していれば、 リンク"
+#~ "は削除される。"
 
 
-#. type: Plain text
-#: build/C/man2/process_vm_readv.2:321
-#, no-wrap
-msgid ""
-"    local[0].iov_base = buf1;\n"
-"    local[0].iov_len = 10;\n"
-"    local[1].iov_base = buf2;\n"
-"    local[1].iov_len = 10;\n"
-"    remote[0].iov_base = (void *) 0x10000;\n"
-"    remote[1].iov_len = 20;\n"
-msgstr ""
+#~ msgid ""
+#~ "If the name referred to a socket, fifo or device the name for it is "
+#~ "removed but processes which have the object open may continue to use it."
+#~ msgstr ""
+#~ "もし名前がソケット (socket) や fifo やデバイス (device) を参照していれば "
+#~ "名前は削除されるがそのオブジェクトをオープンしていたプロセスは それを使い"
+#~ "続けることができる。"
 
 
-#. type: Plain text
-#: build/C/man2/process_vm_readv.2:328
-#, no-wrap
-msgid ""
-"    nread = process_vm_readv(pid, local, 2, remote, 1, 0);\n"
-"    if (nread != 20)\n"
-"        return 1;\n"
-"    else\n"
-"        return 0;\n"
-"}\n"
-msgstr ""
+#~ msgid ""
+#~ "The file is opened for synchronous I/O.  Any B<write>(2)s on the "
+#~ "resulting file descriptor will block the calling process until the data "
+#~ "has been physically written to the underlying hardware.  I<But see NOTES "
+#~ "below>."
+#~ msgstr ""
+#~ "ファイルは同期 (synchronous) I/O モードでオープンされる。 B<open>()  が返"
+#~ "したファイルディスクリプタに対して B<write>(2)  を行うと、必ず呼び出したプ"
+#~ "ロセスをブロックし、 該当ハードウェアに物理的に書き込まれるまで返らない。 "
+#~ "I<以下の「注意」の章も参照。>"
 
 
-#. type: Plain text
-#: build/C/man2/process_vm_readv.2:332
-msgid "B<readv>(2), B<writev>(2)"
-msgstr "B<readv>(2), B<writev>(2)"
+#~ msgid ""
+#~ "Some of these optional flags can be altered using B<fcntl>(2)  after the "
+#~ "file has been opened."
+#~ msgstr ""
+#~ "これらの選択フラグのいくつかはファイルをオープンした後でも B<fcntl>(2)  を"
+#~ "使用して変更することができる。"
 
 
-#~ msgid "call."
-#~ msgstr "の呼び出しを実行したかのように) ファイル末尾に対して行われる。"
+#~ msgid ""
+#~ "Too many symbolic links were encountered in resolving I<pathname>, or "
+#~ "B<O_NOFOLLOW> was specified but I<pathname> was a symbolic link."
+#~ msgstr ""
+#~ "I<pathname> を解決する際に遭遇したシンボリックリンクが多過ぎる。 または "
+#~ "B<O_NOFOLLOW> が指定されており、 I<pathname> がシンボリックリンクだった。"
 
 #~ msgid ""
 
 #~ msgid ""
-#~ "C89, C99, POSIX.1-2001.  LSB deprecates B<gets>().  POSIX.1-2008 marks "
-#~ "B<gets>()  obsolescent."
+#~ "The B<O_CLOEXEC> flag is not specified in POSIX.1-2001, but is specified "
+#~ "in POSIX.1-2008."
 #~ msgstr ""
 #~ msgstr ""
-#~ "C89, C99, POSIX.1-2001.  LSB では B<gets>()  は非推奨である。 "
-#~ "POSIX.1-2008 では B<gets>()  は廃止予定であるとされている。"
+#~ "B<O_CLOEXEC> フラグは POSIX.1-2001 では規定されていないが、 POSIX.1-2008 "
+#~ "で規定されている。"
 
 #~ msgid ""
 
 #~ msgid ""
-#~ "This document's use of I<whence> is incorrect English, but maintained for "
-#~ "historical reasons."
+#~ "B<O_DIRECT> is not specified in POSIX; one has to define B<_GNU_SOURCE> "
+#~ "(before including I<any> header files)  to get its definition."
 #~ msgstr ""
 #~ msgstr ""
-#~ "この文章で使用した I<whence> は英語として正しくないが、 歴史的理由によりそ"
-#~ "のまま使われている。"
+#~ "B<O_DIRECT> は POSIX では規定されていない。 B<O_DIRECT> の定義を得るには "
+#~ "(「どの」ヘッダファイルをインクルードするよりも前に)  B<_GNU_SOURCE> を定"
+#~ "義しなければならない。"
 
 
-#~ msgid "B<EBUSY> (not on Linux)"
-#~ msgstr "B<EBUSY> (Linux 以外)"
+#~ msgid ""
+#~ "POSIX provides for three different variants of synchronized I/O, "
+#~ "corresponding to the flags B<O_SYNC>, B<O_DSYNC>, and B<O_RSYNC>.  "
+#~ "Currently (2.6.31), Linux implements only B<O_SYNC>, but glibc maps "
+#~ "B<O_DSYNC> and B<O_RSYNC> to the same numerical value as B<O_SYNC>.  Most "
+#~ "Linux filesystems don't actually implement the POSIX B<O_SYNC> semantics, "
+#~ "which require all metadata updates of a write to be on disk on returning "
+#~ "to user space, but only the B<O_DSYNC> semantics, which require only "
+#~ "actual file data and metadata necessary to retrieve it to be on disk by "
+#~ "the time the system call returns."
+#~ msgstr ""
+#~ "POSIX では、3 種類の同期 I/O が提供されており、 B<O_SYNC>, B<O_DSYNC>, "
+#~ "B<O_RSYNC> フラグがこれに対応するものである。 今のところ (カーネル "
+#~ "2.6.31)、 Linux では B<O_SYNC> だけが実装されているが、 glibc は "
+#~ "B<O_DSYNC> と B<O_RSYNC> に B<O_SYNC> と同じ数値を割り当てている。 ほとん"
+#~ "どの Linux のファイルシステムは、実際には POSIX の B<O_SYNC> の動作ではな"
+#~ "く B<O_DSYNC> の動作だけを実装している。 POSIX の B<O_SYNC> では、 "
+#~ "B<open>()  がユーザ空間に返る際に、書き込みに関する全てのメタデータの 更新"
+#~ "がディスクに書き込まれている必要がある。 一方、 B<O_DSYNC> では、 "
+#~ "B<open>()  が返るまでに、実際のファイルのデータとそのデータを取得するため"
+#~ "に 必要なメタデータだけがディスクに書き込まれていればよい。"