OSDN Git Service

LDP: Address fuzzy changes (stdio)
authorAkihiro Motoki <amotoki@gmail.com>
Thu, 8 Apr 2021 04:41:11 +0000 (13:41 +0900)
committerAkihiro Motoki <amotoki@gmail.com>
Thu, 8 Apr 2021 04:41:11 +0000 (13:41 +0900)
30 files changed:
manual/LDP_man-pages/draft/man2/link.2
manual/LDP_man-pages/draft/man2/llseek.2 [new file with mode: 0644]
manual/LDP_man-pages/draft/man2/open.2
manual/LDP_man-pages/draft/man2/open_by_handle_at.2
manual/LDP_man-pages/draft/man2/pipe.2
manual/LDP_man-pages/draft/man2/read.2
manual/LDP_man-pages/draft/man2/readlink.2 [new file with mode: 0644]
manual/LDP_man-pages/draft/man2/readv.2 [new file with mode: 0644]
manual/LDP_man-pages/draft/man2/rename.2
manual/LDP_man-pages/draft/man2/rmdir.2
manual/LDP_man-pages/draft/man2/symlink.2
manual/LDP_man-pages/draft/man2/unlink.2
manual/LDP_man-pages/draft/man2/write.2
manual/LDP_man-pages/draft/man3/fmtmsg.3
manual/LDP_man-pages/draft/man3/fopen.3
manual/LDP_man-pages/draft/man3/fread.3
manual/LDP_man-pages/draft/man3/lseek64.3
manual/LDP_man-pages/draft/man3/open_memstream.3
manual/LDP_man-pages/draft/man3/popen.3
manual/LDP_man-pages/draft/man3/printf.3
manual/LDP_man-pages/draft/man3/scanf.3
manual/LDP_man-pages/draft/man3/setbuf.3
manual/LDP_man-pages/draft/man3/stdin.3
manual/LDP_man-pages/draft/man3/stdio.3 [new file with mode: 0644]
manual/LDP_man-pages/draft/man3/stdio_ext.3 [new file with mode: 0644]
manual/LDP_man-pages/draft/man3/tmpnam.3
manual/LDP_man-pages/draft/man7/symlink.7
manual/LDP_man-pages/po4a/stdio/po/ja.po
manual/LDP_man-pages/stats/stdio
manual/LDP_man-pages/untrans.html

index ffab156..02052dd 100644 (file)
@@ -217,8 +217,7 @@ open(path, O_TMPFILE | O_EXCL, mode);
 \fBopen\fP(2) 参照。
 .TP 
 \fBENOENT\fP
-An attempt was made to link to a \fI/proc/self/fd/NN\fP file corresponding to a
-file that has been deleted.
+削除済みのファイルに対応する \fI/proc/self/fd/NN\fP ファイルに対してリンクを行おおうとした。
 .TP 
 \fBENOENT\fP
 \fIoldpath\fP が相対パス名で、 \fIolddirfd\fP が削除されたディレクトリを参照している。 または、 \fInewpath\fP
diff --git a/manual/LDP_man-pages/draft/man2/llseek.2 b/manual/LDP_man-pages/draft/man2/llseek.2
new file mode 100644 (file)
index 0000000..4357d46
--- /dev/null
@@ -0,0 +1,99 @@
+.\" Copyright (C) 1995 Andries Brouwer (aeb@cwi.nl)
+.\" Written 10 June 1995 by Andries Brouwer <aeb@cwi.nl>
+.\" and Copyright (C) 2007, 2015, 2020, Michael Kerrisk <mtk.manpages@gmail.com>
+.\"
+.\" %%%LICENSE_START(VERBATIM)
+.\" Permission is granted to make and distribute verbatim copies of this
+.\" manual provided the copyright notice and this permission notice are
+.\" preserved on all copies.
+.\"
+.\" Permission is granted to copy and distribute modified versions of this
+.\" manual under the conditions for verbatim copying, provided that the
+.\" entire resulting derived work is distributed under the terms of a
+.\" permission notice identical to this one.
+.\"
+.\" Since the Linux kernel and libraries are constantly changing, this
+.\" manual page may be incorrect or out-of-date.  The author(s) assume no
+.\" responsibility for errors or omissions, or for damages resulting from
+.\" the use of the information contained herein.  The author(s) may not
+.\" have taken the same level of care in the production of this manual,
+.\" which is licensed free of charge, as they might when working
+.\" professionally.
+.\"
+.\" Formatted or processed versions of this manual, if unaccompanied by
+.\" the source, must acknowledge the copyright and authors of this work.
+.\" %%%LICENSE_END
+.\"
+.\" Modified Thu Oct 31 15:16:23 1996 by Eric S. Raymond <esr@thyrsus.com>
+.\"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.\"
+.\" Japanese Version Copyright (c) 1997 HANATAKA Shinya
+.\"         all rights reserved.
+.\" Translated Sun Feb 23 16:22:27 JST 1997
+.\"         by HANATAKA Shinya <hanataka@abyss.rim.or.jp>
+.\" Updated & Modified Sat Jun  2 18:27:49 JST 2001
+.\"         by Yuichi SATO <ysato@h4.dion.ne.jp>
+.\" Updated & Modified Sat Sep  6 17:05:03 JST 2003
+.\"         by Yuichi SATO <ysato444@yahoo.co.jp>
+.\" Updated & Modified Fri Dec 31 00:50:01 JST 2004 by Yuichi SATO
+.\"
+.TH LLSEEK 2 2020\-12\-21 Linux "Linux Programmer's Manual"
+.SH 名前
+_llseek \- ファイルの読み書きオフセットの位置を変える
+.SH 書式
+.nf
+\fB#include <sys/types.h>\fP
+\fB#include <unistd.h>\fP
+.PP
+\fBint _llseek(unsigned int \fP\fIfd\fP\fB, unsigned long \fP\fIoffset_high\fP\fB,\fP
+\fB            unsigned long \fP\fIoffset_low\fP\fB, loff_t *\fP\fIresult\fP\fB,\fP
+\fB            unsigned int \fP\fIwhence\fP\fB);\fP
+.fi
+.PP
+\fI注\fP: このシステムコールには glibc のラッパー関数は存在しない。「注意」の節を参照。
+.SH 説明
+Note: for information about the \fBllseek\fP(3)  library function, see
+\fBlseek64\fP(3).
+.PP
+The \fB_llseek\fP()  system call repositions the offset of the open file
+description associated with the file descriptor \fIfd\fP to the value
+.IP
+(offset_high << 32) | offset_low
+.PP
+This new offset is a byte offset relative to the beginning of the file, the
+current file offset, or the end of the file, depending on whether \fIwhence\fP
+is \fBSEEK_SET\fP, \fBSEEK_CUR\fP, or \fBSEEK_END\fP, respectively.
+.PP
+The new file offset is returned in the argument \fIresult\fP.  The type
+\fIloff_t\fP is a 64\-bit signed type.
+.PP
+This system call exists on various 32\-bit platforms to support seeking to
+large file offsets.
+.SH 返り値
+成功した場合は、 \fB_llseek\fP()  は 0 を返す。 そうでなれば \-1 という値が返り、エラーを示す \fIerrno\fP が設定される。
+.SH エラー
+.TP 
+\fBEBADF\fP
+\fIfd\fP がオープンされたファイルディスクリプターでない。
+.TP 
+\fBEFAULT\fP
+結果をユーザー空間にコピーするときに問題があった。
+.TP 
+\fBEINVAL\fP
+\fIwhence\fP が不正である。
+.SH 準拠
+この関数は Linux 特有であり、移植性の必要なプログラムでは使用してはいけない。
+.SH 注意
+Glibc does not provide a wrapper for this system call.  To invoke it
+directly, use \fBsyscall\fP(2).  However, you probably want to use the
+\fBlseek\fP(2)  wrapper function instead.
+.SH 関連項目
+\fBlseek\fP(2), \fBopen\fP(2), \fBlseek64\fP(3)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
+\%https://www.kernel.org/doc/man\-pages/ に書かれている。
index c7a7d9a..7516159 100644 (file)
@@ -367,10 +367,8 @@ and the owner UID of the file has a mapping in the namespace.
 .IP
 .\" The O_NOATIME flag also affects the treatment of st_atime
 .\" by mmap() and readdir(2), MTK, Dec 04.
-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 filesystems.  One example is NFS, where the server
-maintains the access time.
+このフラグはインデックス作成やバックアッププログラムで使うことを意図している。 これを使うとディスクに対する操作を大幅に減らすことができる。
+このフラグは全てのファイルシステムに対して有効であるわけではない。 その一例が NFS であり、サーバがアクセス時刻を管理している。
 .TP 
 \fBO_NOCTTY\fP
 \fIpathname\fP が端末 (terminal) デバイス \(em \fBtty\fP(4) 参照 \(em を指している
@@ -394,9 +392,8 @@ This flag is a FreeBSD extension, which was added to Linux in version
 See also \fBO_PATH\fP below.
 .TP 
 \fBO_NONBLOCK\fP または \fBO_NDELAY\fP
-When possible, the file is opened in nonblocking mode.  Neither the
-\fBopen\fP()  nor any subsequent I/O operations on the file descriptor which is
-returned will cause the calling process to wait.
+可能ならば、ファイルは非停止 (nonblocking) モードでオープンされる。 \fBopen\fP()
+も、返したファイルディスクリプターに対する以後のすべての操作も呼び出したプロセスを待たせることはない。
 .IP
 Note that the setting of this flag has no effect on the operation of
 \fBpoll\fP(2), \fBselect\fP(2), \fBepoll\fP(7), and similar, since those interfaces
@@ -411,9 +408,9 @@ might eventually be implemented, applications should not depend upon
 blocking behavior when specifying this flag for regular files and block
 devices.
 .IP
-For the handling of FIFOs (named pipes), see also \fBfifo\fP(7).  For a
-discussion of the effect of \fBO_NONBLOCK\fP in conjunction with mandatory file
-locks and with file leases, see \fBfcntl\fP(2).
+FIFO (名前付きパイプ) を扱う場合には \fBfifo\fP(7) も参照すること。 強制ファイルロック (mandatory file lock)
+やファイルリース (file lease) と組み合わせた場合の、 \fBO_NONBLOCK\fP の効果についての議論は、 \fBfcntl\fP(2)
+を参照すること。
 .TP 
 \fBO_PATH\fP (Linux 2.6.39 以降)
 .\" commit 1abf0c718f15a56a0a435588d1b104c7a37dc9bd
index cc105fe..1e61fbc 100644 (file)
@@ -143,8 +143,8 @@ the automount can be triggered by adding a "/" to the end of the pathname.
 \fBopen_by_handle_at\fP() を呼び出すには、 呼び出し元が \fBCAP_DAC_READ_SEARCH\fP
 ケーパビリティーを持っていなければならない。
 .SH 返り値
-On success, \fBname_to_handle_at\fP()  returns 0, and \fBopen_by_handle_at\fP()
-returns a file descriptor (a nonnegative integer).
+成功すると、 \fBname_to_handle_at\fP() は 0 を返し、 \fBopen_by_handle_at\fP() はファイルディスクリプター
+(非負の整数) を返す。
 .PP
 エラーの場合、 どちらのシステムコールも \-1 を返し、 \fIerrno\fP にエラーの原因を示す値を設定する。
 .SH エラー
index 65bda21..575bb10 100644 (file)
@@ -142,7 +142,7 @@ reached and the caller is not privileged; see \fBpipe\fP(7).
 .SH バージョン
 \fBpipe2\fP()  はバージョン 2.6.27 で Linux に追加された。 glibc によるサポートはバージョン 2.9 以降で利用できる。
 .SH 準拠
-\fBpipe\fP(): POSIX.1\-2001, POSIX.1\-2008.
+ \fBpipe\fP(): POSIX.1\-2001, POSIX.1\-2008.
 .PP
 \fBpipe2\fP()  は Linux 固有である。
 .SH 注意
@@ -158,13 +158,10 @@ transparently deals with this.  See \fBsyscall\fP(2)  for information regarding
 registers used for storing second file descriptor.
 .SH 例
 .\" fork.2 refers to this example program.
-The following program creates a pipe, and then \fBfork\fP(2)s to create a child
-process; the child inherits a duplicate set of file descriptors that refer
-to the same pipe.  After the \fBfork\fP(2), each process closes the file
-descriptors that it doesn't need for the pipe (see \fBpipe\fP(7)).  The parent
-then writes the string contained in the program's command\-line argument to
-the pipe, and the child reads this string a byte at a time from the pipe and
-echoes it on standard output.
+以下のプログラムではパイプを生成し、その後 \fBfork\fP(2)  で子プロセスを生成する。
+子プロセスは同じパイプを参照するファイルディスクリプター集合のコピーを 継承する。 \fBfork\fP(2)  の後、各プロセスはパイプ
+(\fBpipe\fP(7)  を参照) に必要がなくなったファイルディスクリプターをクローズする。 親プロセスはプログラムのコマンドライン引き数に含まれる
+文字列をパイプへ書き込み、 子プロセスはこの文字列をパイプから 1 バイトずつ読み込んで標準出力にエコーする。
 .SS プログラムのソース
 .EX
 #include <sys/types.h>
@@ -217,7 +214,7 @@ main(int argc, char *argv[])
 }
 .EE
 .SH 関連項目
-\fBfork\fP(2), \fBread\fP(2), \fBsocketpair\fP(2), \fBsplice\fP(2), \fBtee\fP(2),
+ \fBfork\fP(2), \fBread\fP(2), \fBsocketpair\fP(2), \fBsplice\fP(2), \fBtee\fP(2),
 \fBvmsplice\fP(2), \fBwrite\fP(2), \fBpopen\fP(3), \fBpipe\fP(7)
 .SH この文書について
 この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
index 5e34574..97c185c 100644 (file)
@@ -64,10 +64,9 @@ read \- ファイルディスクリプターから読み込む
 \fBread\fP()  はファイルディスクリプター (file descriptor)  \fIfd\fP から最大 \fIcount\fP バイトを \fIbuf\fP
 で始まるバッファーへ読み込もうとする。
 .PP
-On files that support seeking, the read operation commences at the file
-offset, and the file offset is incremented by the number of bytes read.  If
-the file offset is at or past the end of file, no bytes are read, and
-\fBread\fP()  returns zero.
+seek に対応しているファイルでは、read
+はファイルオフセットから行われ、ファイルオフセットは読み込んだバイト数分だけ進められる。ファイルオフセットがファイル末尾かそれより先の場合は、読み出しは行われず、
+\fBread\fP() は 0 を返す。
 .PP
 \fIcount\fP が 0 の場合、 \fBread\fP() は以下で説明するエラーを検出する\fI場合がある\fP。 どのエラーもなかった場合、もしくは
 \fBread\fP() がエラーのチェックを行わない場合、 \fIcount\fP が 0 で呼び出された \fBread\fP() は 0 を返し、何も行わない。
@@ -75,22 +74,18 @@ the file offset is at or past the end of file, no bytes are read, and
 According to POSIX.1, if \fIcount\fP is greater than \fBSSIZE_MAX\fP, the result
 is implementation\-defined; see NOTES for the upper limit on Linux.
 .SH 返り値
-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
-if this number is smaller than the number of bytes requested; this may
-happen for example because fewer bytes are actually available right now
-(maybe because we were close to end\-of\-file, or because we are reading from
-a pipe, or from a terminal), or because \fBread\fP()  was interrupted by a
-signal.  See also NOTES.
+成功した場合、読み込んだバイト数を返す (0 はファイルの終りを意味する)。 ファイル位置はこの数だけ進められる。
+この数が要求した数より小さかったとしてもエラーではない; 例えば今すぐには実際にそれだけの数しかない場合 (ファイルの最後に近いのかも
+しれないし、パイプ (pipe) や端末 (terminal) から読み込んでいるかもしれない) や \fBread\fP()  がシグナル (signal)
+によって割り込まれた場合にこれは起こりえる。
 .PP
-On error, \-1 is returned, and \fIerrno\fP is set appropriately.  In this case,
-it is left unspecified whether the file position (if any) changes.
+エラーの場合は、\-1 が返され、 \fIerrno\fP が適切に設定される。この場合はファイル位置が変更されるかどうかは 不定である。
 .SH エラー
 .TP 
 \fBEAGAIN\fP
-The file descriptor \fIfd\fP refers to a file other than a socket and has been
-marked nonblocking (\fBO_NONBLOCK\fP), and the read would block.  See
-\fBopen\fP(2)  for further details on the \fBO_NONBLOCK\fP flag.
+ファイルディスクリプター \fIfd\fP がソケット以外のファイルを参照していて、 非停止 (nonblocking) モード
+(\fBO_NONBLOCK\fP)  に設定されており、読み込みを行うと停止する状況にある。 \fBO_NONBLOCK\fP フラグの詳細は
+\fBopen\fP(2) を参照。
 .TP 
 \fBEAGAIN\fP または \fBEWOULDBLOCK\fP
 .\" Actually EAGAIN on Linux
@@ -108,10 +103,8 @@ marked nonblocking (\fBO_NONBLOCK\fP), and the read would block.  See
 何のデータも読み込まないうちにシグナルに割り込まれた。 \fBsignal\fP(7)  参照。
 .TP 
 \fBEINVAL\fP
-\fIfd\fP is attached to an object which is unsuitable for reading; or the file
-was opened with the \fBO_DIRECT\fP flag, and either the address specified in
-\fIbuf\fP, the value specified in \fIcount\fP, or the file offset is not suitably
-aligned.
+\fIfd\fP は読み込みに適していないオブジェクトを参照している。 もしくは、ファイルが \fBO_DIRECT\fP フラグを指定してオープンされているが、
+\fIbuf\fP に指定されたアドレス、 \fIcount\fP に指定された値、 ファイルオフセットのいずれかの アラインメントが不適切である。
 .TP 
 \fBEINVAL\fP
 \fIfd\fP が \fBtimerfd_create\fP(2)  の呼び出しで作成されたが、 \fBread\fP()  に間違ったサイズのバッファーが渡された。
@@ -142,14 +135,11 @@ On Linux, \fBread\fP()  (and similar system calls) will transfer at most
 0x7ffff000 (2,147,479,552) bytes, returning the number of bytes actually
 transferred.  (This is true on both 32\-bit and 64\-bit systems.)
 .PP
-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
-\fIst_atime\fP (last file access time)  updates to the server, and client side
-reads satisfied from the client's cache will not cause \fIst_atime\fP updates
-on the server as there are no server\-side reads.  UNIX semantics can be
-obtained by disabling client\-side attribute caching, but in most situations
-this will substantially increase server load and decrease performance.
+NFS において。少量のデータを読み込む場合、最初の時のみにタイム スタンプが更新され、続くコールでは更新されないだろう。
+これはクライアント側で属性のキャッシングを行なうためである。 なぜならば、もし全ての NFS クライアントが \fIst_atime\fP
+(最終ファイルアクセス時刻)  の更新をサーバーに送らず、クライアント側でキャッシュを読むことに満足して いれば、サーバー側での read
+は発生しないので \fIst_atime\fP の更新は行なわれからだ。 UNIX の方式では、クライアント側の属性のキャッシングを無効にすることで、
+これを得ることができる。しかしほとんどの状況ではこれは続くサーバーの 負荷を増加させ、パフォーマンスの低下をもたらす。
 .SH バグ
 POSIX.1\-2008/SUSv4 セクション XSI 2.9.7 ("Thread Interactions with Regular File
 Operations") によると、
diff --git a/manual/LDP_man-pages/draft/man2/readlink.2 b/manual/LDP_man-pages/draft/man2/readlink.2
new file mode 100644 (file)
index 0000000..2ffc1a8
--- /dev/null
@@ -0,0 +1,268 @@
+.\" Copyright (c) 1983, 1991 The Regents of the University of California.
+.\" And Copyright (C) 2011 Guillem Jover <guillem@hadrons.org>
+.\" And Copyright (C) 2006, 2014 Michael Kerrisk
+.\" All rights reserved.
+.\"
+.\" %%%LICENSE_START(BSD_4_CLAUSE_UCB)
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\"    must display the following acknowledgement:
+.\"    This product includes software developed by the University of
+.\"    California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\"    may be used to endorse or promote products derived from this software
+.\"    without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\" %%%LICENSE_END
+.\"
+.\"     @(#)readlink.2 6.8 (Berkeley) 3/10/91
+.\"
+.\" Modified Sat Jul 24 00:10:21 1993 by Rik Faith (faith@cs.unc.edu)
+.\" Modified Tue Jul  9 23:55:17 1996 by aeb
+.\" Modified Fri Jan 24 00:26:00 1997 by aeb
+.\" 2011-09-20, Guillem Jover <guillem@hadrons.org>:
+.\"     Added text on dynamically allocating buffer + example program
+.\"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.\"
+.\" Japanese Version Copyright (c) 1997 HANATAKA Shinya
+.\"         all rights reserved.
+.\" Translated 1997-12-12, HANATAKA Shinya <hanataka@abyss.rim.or.jp>
+.\" Updated 2005-02-10, Yuichi SATO <ysato444@yahoo.co.jp>
+.\" Updated 2006-07-19, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v2.36
+.\" Updated 2008-08-06, Akihiro MOTOKI, LDP v3.05
+.\" Updated 2012-05-08, Akihiro MOTOKI <amotoki@gmail.com>
+.\"
+.TH READLINK 2 2020\-06\-09 Linux "Linux Programmer's Manual"
+.SH 名前
+readlink, readlinkat \- シンボリックリンクの値を読む
+.SH 書式
+.nf
+\fB#include <unistd.h>\fP
+.PP
+\fBssize_t readlink(const char *\fP\fIpathname\fP\fB, char *\fP\fIbuf\fP\fB, size_t \fP\fIbufsiz\fP\fB);\fP
+
+\fB#include <fcntl.h>           \fP/* AT_* 定数の定義 */
+\fB#include <unistd.h>\fP
+.PP
+\fBssize_t readlinkat(int \fP\fIdirfd\fP\fB, const char *\fP\fIpathname\fP\fB,\fP
+\fB                   char *\fP\fIbuf\fP\fB, size_t \fP\fIbufsiz\fP\fB);\fP
+.PP
+.fi
+.RS -4
+glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参照):
+.RE
+.PP
+.ad l
+\fBreadlink\fP():
+.RS 4
+.\"    || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED
+ _XOPEN_SOURCE\ >=\ 500 || _POSIX_C_SOURCE\ >=\ 200112L
+    || /* glibc 2.19 以前: */ _BSD_SOURCE
+.RE
+.PP
+\fBreadlinkat\fP():
+.PD 0
+.ad l
+.RS 4
+.TP  4
+glibc 2.10 以降:
+_POSIX_C_SOURCE\ >=\ 200809L
+.TP 
+glibc 2.10 より前:
+_ATFILE_SOURCE
+.RE
+.ad b
+.PD
+.SH 説明
+\fBreadlink\fP()  は \fIpathname\fP で与えられたシンボリックリンクの内容を \fIbuf\fP バッファーへ格納する、 \fIbuf\fP
+のサイズは \fIbufsiz\fP である。 \fBreadlink\fP()  はヌルバイトを \fIbuf\fP に追加しない。
+その内容全てを格納するのにバッファーが小さ過ぎる場合は、 (\fIbufsiz\fP バイトの長さに) 内容を (黙って) 切り詰める。
+.SS readlinkat()
+\fBreadlinkat\fP() システムコールは \fBreadlink\fP() と全く同様に動作するが、以下で説明する点が異なる。
+.PP
+\fIpathname\fP で指定されたパス名が相対パスの場合、このパス名はファイルディスクリプター \fIdirfd\fP
+が参照するディレクトリに対する相対パスと解釈される (\fBreadlink\fP()
+に相対パス名を渡した場合のように、呼び出したプロセスのカレントワーキングディレクトリに対する相対パスではない)。
+.PP
+\fIpathname\fP で指定されたパス名が相対パスで、 \fIdirfd\fP が特別な値 \fBAT_FDCWD\fP の場合、 (\fBreadlink\fP()
+と同様に) \fIpathname\fP は呼び出したプロセスのカレントワーキングディレクトリに対する相対パスと解釈される。
+.PP
+\fIpathname\fP で指定されたパス名が絶対パスの場合、 \fIdirfd\fP は無視される。
+.PP
+.\" commit 65cfc6722361570bfe255698d9cd4dccaf47570d
+Linux 2.6.39 以降では、 \fIpathname\fP に空文字列を指定できる。 その場合、呼び出しは \fIdirfd\fP
+が参照するシンボリックリンクに対して行われる (\fIdirfd\fP はフラグ \fBO_PATH\fP と \fBO_NOFOLLOW\fP を指定した
+\fBopen\fP(2) を使って取得すべきである)。
+.PP
+\fBreadlinkat\fP() の必要性についての説明については \fBopenat\fP(2) を参照。
+.SH 返り値
+On success, these calls return the number of bytes placed in \fIbuf\fP.  (If
+the returned value equals \fIbufsiz\fP, then truncation may have occurred.)  On
+error, \-1 is returned and \fIerrno\fP is set to indicate the error.
+.SH エラー
+.TP 
+\fBEACCES\fP
+パスのディレクトリ部分に検索許可が与えられていない (\fBpath_resolution\fP(7)  も参照すること)。
+.TP 
+\fBEFAULT\fP
+\fIbuf\fP がプロセスに割り当てられたアドレス空間の外を指している。
+.TP 
+\fBEINVAL\fP
+.\" At the glibc level, bufsiz is unsigned, so this error can only occur
+.\" if bufsiz==0.  However, the in the kernel syscall, bufsiz is signed,
+.\" and this error can also occur if bufsiz < 0.
+.\" See: http://thread.gmane.org/gmane.linux.man/380
+.\" Subject: [patch 0/3] [RFC] kernel/glibc mismatch of "readlink" syscall?
+\fIbufsiz\fP が正でない。
+.TP 
+\fBEINVAL\fP
+The named file (i.e., the final filename component of \fIpathname\fP)  is not a
+symbolic link.
+.TP 
+\fBEIO\fP
+ファイルシステムの読み込み中に I/O エラーが起こった。
+.TP 
+\fBELOOP\fP
+パス名にシンボリックリンクが多すぎる。
+.TP 
+\fBENAMETOOLONG\fP
+パス名かパス名の一部分が長過ぎる。
+.TP 
+\fBENOENT\fP
+その名前のファイルが存在しない。
+.TP 
+\fBENOMEM\fP
+十分なカーネルメモリーがない。
+.TP 
+\fBENOTDIR\fP
+パスのディレクトリ部分がディレクトリでない。
+.PP
+\fBreadlinkat\fP() では以下のエラーも発生する。
+.TP 
+\fBEBADF\fP
+\fIdirfd\fP が有効なファイルディスクリプターではない。
+.TP 
+\fBENOTDIR\fP
+\fIpathname\fP が相対パスで、 \fIdirfd\fP がディレクトリ以外のファイルを参照しているファイルディスクリプターである。
+.SH バージョン
+\fBreadlinkat\fP()  はカーネル 2.6.16 で Linux に追加された。 ライブラリによるサポートはバージョン 2.4 で glibc
+に追加された。
+.SH 準拠
+4.4BSD (\fBreadlink\fP()  は 4.2BSD で初めて登場した), POSIX.1\-2001, POSIX.1\-2008.
+.PP
+\fBreadlinkat\fP(): POSIX.1\-2008.
+.SH 注意
+バージョン 2.4 以前の glibc (バージョン 2.4 を含む) では、 \fBreadlink\fP()  の返り値の型は \fIint\fP
+で宣言されていた。現在では、返り値の型は \fIssize_t\fP である (返り値 \fIssize_t\fP は POSIX.1\-2001 で (新たに)
+必須となった)。
+.PP
+静的な大きさのバッファーを使うと、 シンボリックリンクの内容を格納するのに十分な領域がない場合がある。 バッファーに必要なサイズは、
+そのシンボリックリンクに対して \fBlstat\fP(2) の呼び出しで返される \fIstat.st_size\fP の値から取得できる。 ただし、
+\fBreadlink\fP() や \fBreadlinkat\fP() が書き込んだバイト数をチェックして、
+シンボリックリンクのサイズが二つの呼び出しの間で増えていないことを確認すべきである。 \fBreadlink\fP() や \fBreadlinkat\fP()
+用のバッファーを動的に割り当てる方法でも、 バッファーサイズとして \fBPATH_MAX\fP を使用する場合に共通する移植性の問題を解決することができる。
+なぜなら、POSIX では、 システムがそのような上限値を定義していない場合には、 \fBPATH_MAX\fP
+が定義されることが保証されていないからである。
+.SS "glibc での注意"
+\fBreadlinkat\fP() が利用できない古いカーネルでは、 glibc ラッパー関数は \fBreadlink\fP()
+を使用するモードにフォールバックする。 \fIpathname\fP が相対パスの場合、 glibc は \fIdirfd\fP 引き数に対応する
+\fI/proc/self/fd\fP のシンボリックリンクに基づいてパス名を構成する。
+.SH 例
+The following program allocates the buffer needed by \fBreadlink\fP()
+dynamically from the information provided by \fBlstat\fP(2), falling back to a
+buffer of size \fBPATH_MAX\fP in cases where \fBlstat\fP(2)  reports a size of
+zero.
+.PP
+.EX
+ #include <sys/types.h>
+#include <sys/stat.h>
+#include <limits.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+ int
+main(int argc, char *argv[])
+{
+    struct stat sb;
+    char *buf;
+    ssize_t nbytes, bufsiz;
+
+    if (argc != 2) {
+        fprintf(stderr, "Usage: %s <pathname>\en", argv[0]);
+        exit(EXIT_FAILURE);
+    }
+
+    if (lstat(argv[1], &sb) == \-1) {
+        perror("lstat");
+        exit(EXIT_FAILURE);
+    }
+
+    /* Add one to the link size, so that we can determine whether
+       the buffer returned by readlink() was truncated. */
+
+    bufsiz = sb.st_size + 1;
+
+    /* Some magic symlinks under (for example) /proc and /sys
+       report \(aqst_size\(aq as zero. In that case, take PATH_MAX as
+       a "good enough" estimate. */
+
+    if (sb.st_size == 0)
+        bufsiz = PATH_MAX;
+
+     buf = malloc(bufsiz);
+    if (buf == NULL) {
+        perror("malloc");
+        exit(EXIT_FAILURE);
+    }
+
+     nbytes = readlink(argv[1], buf, bufsiz);
+    if (nbytes == \-1) {
+        perror("readlink");
+        exit(EXIT_FAILURE);
+    }
+
+     printf("\(aq%s\(aq points to \(aq%.*s\(aq\en", argv[1], (int) nbytes, buf);
+
+    /* If the return value was equal to the buffer size, then the
+       the link target was larger than expected (perhaps because the
+       target was changed between the call to lstat() and the call to
+       readlink()). Warn the user that the returned target may have
+       been truncated. */
+
+    if (nbytes == bufsiz)
+        printf("(Returned buffer may have been truncated)\en");
+
+     free(buf);
+    exit(EXIT_SUCCESS);
+}
+.EE
+.SH 関連項目
+\fBreadlink\fP(1), \fBlstat\fP(2), \fBstat\fP(2), \fBsymlink\fP(2), \fBrealpath\fP(3),
+\fBpath_resolution\fP(7), \fBsymlink\fP(7)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
+\%https://www.kernel.org/doc/man\-pages/ に書かれている。
diff --git a/manual/LDP_man-pages/draft/man2/readv.2 b/manual/LDP_man-pages/draft/man2/readv.2
new file mode 100644 (file)
index 0000000..dc4ed91
--- /dev/null
@@ -0,0 +1,266 @@
+.\" Copyright (C) 2007, 2010 Michael Kerrisk <mtk.manpages@gmail.com>
+.\" and Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de)
+.\"
+.\" %%%LICENSE_START(VERBATIM)
+.\" Permission is granted to make and distribute verbatim copies of this
+.\" manual provided the copyright notice and this permission notice are
+.\" preserved on all copies.
+.\"
+.\" Permission is granted to copy and distribute modified versions of this
+.\" manual under the conditions for verbatim copying, provided that the
+.\" entire resulting derived work is distributed under the terms of a
+.\" permission notice identical to this one.
+.\"
+.\" Since the Linux kernel and libraries are constantly changing, this
+.\" manual page may be incorrect or out-of-date.  The author(s) assume no
+.\" responsibility for errors or omissions, or for damages resulting from
+.\" the use of the information contained herein.  The author(s) may not
+.\" have taken the same level of care in the production of this manual,
+.\" which is licensed free of charge, as they might when working
+.\" professionally.
+.\"
+.\" Formatted or processed versions of this manual, if unaccompanied by
+.\" the source, must acknowledge the copyright and authors of this work.
+.\" %%%LICENSE_END
+.\"
+.\" Modified Sat Jul 24 18:34:44 1993 by Rik Faith (faith@cs.unc.edu)
+.\" Merged readv.[23], 2002-10-17, aeb
+.\" 2007-04-30 mtk, A fairly major rewrite to fix errors and
+.\"     add more details.
+.\" 2010-11-16, mtk, Added documentation of preadv() and pwritev()
+.\"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.\"
+.\" Japanese Version Copyright (c) 1997-1999 HANATAKA Shinya
+.\"         all rights reserved.
+.\" Translated 1997-02-23, HANATAKA Shinya <hanataka@abyss.rim.or.jp>
+.\" Updated 1999-04-03, HANATAKA Shinya
+.\" Updated 2003-01-14, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
+.\" Updated 2005-10-07, Akihiro MOTOKI
+.\" Updated 2007-06-01, Akihiro MOTOKI, LDP v2.50
+.\" Updated 2012-05-08, Akihiro MOTOKI <amotoki@gmail.com>
+.\" Updated 2013-03-26, Akihiro MOTOKI <amotoki@gmail.com>
+.\"
+.TH READV 2 2020\-12\-21 Linux "Linux Programmer's Manual"
+.SH 名前
+readv, writev, preadv, pwritev, preadv2, pwritev2 \- 複数のバッファーへの読み書きを行なう
+.SH 書式
+.nf
+\fB#include <sys/uio.h>\fP
+.PP
+\fBssize_t readv(int \fP\fIfd\fP\fB, const struct iovec *\fP\fIiov\fP\fB, int \fP\fIiovcnt\fP\fB);\fP
+.PP
+\fBssize_t writev(int \fP\fIfd\fP\fB, const struct iovec *\fP\fIiov\fP\fB, int \fP\fIiovcnt\fP\fB);\fP
+.PP
+\fBssize_t preadv(int \fP\fIfd\fP\fB, const struct iovec *\fP\fIiov\fP\fB, int \fP\fIiovcnt\fP\fB,\fP
+\fB               off_t \fP\fIoffset\fP\fB);\fP
+.PP
+\fBssize_t pwritev(int \fP\fIfd\fP\fB, const struct iovec *\fP\fIiov\fP\fB, int \fP\fIiovcnt\fP\fB,\fP
+\fB                off_t \fP\fIoffset\fP\fB);\fP
+.PP
+ \fBssize_t preadv2(int \fP\fIfd\fP\fB, const struct iovec *\fP\fIiov\fP\fB, int \fP\fIiovcnt\fP\fB,\fP
+\fB                off_t \fP\fIoffset\fP\fB, int \fP\fIflags\fP\fB);\fP
+.PP
+ \fBssize_t pwritev2(int \fP\fIfd\fP\fB, const struct iovec *\fP\fIiov\fP\fB, int \fP\fIiovcnt\fP\fB,\fP
+\fB                 off_t \fP\fIoffset\fP\fB, int \fP\fIflags\fP\fB);\fP
+.fi
+.PP
+.RS -4
+glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参照):
+.RE
+.PP
+\fBpreadv\fP(),
+\fBpwritev\fP():
+    Since glibc 2.19:
+        _DEFAULT_SOURCE
+    Glibc 2.19 and earlier:
+        _BSD_SOURCE
+.SH 説明
+\fBreadv\fP() システムコールは、ファイルディスクリプター \fIfd\fP に関連付けられた
+ファイルから、 \fIiovcnt\fP 個のバッファー分のデータを読み込み、 \fIiov\fP で指定
+されたバッファーに格納する ("scatter input";「ばらまき入力」)。
+.PP
+\fBwritev\fP() システムコールは、 \fIiov\fP で指定されたバッファーから最大 \fIiovcnt\fP
+個のバッファー分のデータを取り出し、 ファイルディスクリプター \fIfd\fP に関連付けら
+れたファイルに書き込む ("gather output";「かき集め出力」)。
+.PP
+ポインター \fIiov\fP は \fIiovec\fP 構造体の配列へのポインターである。 \fIiovec\fP 構造体は
+\fI<sys/uio.h>\fP で以下のように定義されている:
+.PP
+.in +4n
+.EX
+struct iovec {
+    void  *iov_base;    /* Starting address */
+    size_t iov_len;     /* Number of bytes to transfer */
+};
+.EE
+.in
+.PP
+\fBreadv\fP() システムコールは、複数のバッファーにデータを読み込む点を除いて
+\fBread\fP(2) と全く同様の動作を行う。
+.PP
+\fBwritev\fP() システムコールは、複数のバッファーのデータを書き出す点以外は
+\fBwrite\fP(2) と全く同様の動作を行う。
+.PP
+バッファーは配列の順序で処理される。これは、 \fBreadv\fP()  が \fIiov\fP[0] が完全に一杯になるまでデータを詰めてから、
+\fIiov\fP[1] などに進むことを意味する (データが十分ない場合は、 \fIiov\fP が指すバッファーのいずれも一杯にならない)。 同様に、
+\fBwritev\fP()  は \fIiov\fP[0] の内容を全部書き出してから \fIiov\fP[1] などに進む。
+.PP
+.\" Regarding atomicity, see https://bugzilla.kernel.org/show_bug.cgi?id=10596
+\fBreadv\fP()  と \fBwritev\fP()  によるデータ転送は atomic に行われる。つまり、 \fBwritev\fP()
+によるデータ書き込みは一つのブロックとして行われ、他のプロセスの write による書き込みと混ざり合うことはない (例外に関しては
+\fBpipe\fP(7)  を参照のこと)。同様に、 \fBreadv\fP()  はファイルから連続するデータブロックが読み出すことが保証され、
+同じファイル記述 (file description; \fBopen\fP(2)  参照) を参照するファイルディスクリプターを持つ他のスレッドやプロセスが
+実行した read 操作の影響を受けることはない。
+.SS "preadv() と pwritev()"
+\fBpreadv\fP() システムコールは \fBreadv\fP() と \fBpreadv\fP(2) の機能を
+組み合わせたものである。
+\fBreadv\fP() と同じ処理を実行するが、
+4 番目の引き数 \fIoffset\fP が追加されており、
+この引き数は入力操作を行うファイルオフセットを指定する。
+.PP
+\fBpwritev\fP() システムコールは \fBwritev\fP() と \fBpwrite\fP(2) の機能を
+組み合わせたものである。
+\fBwritev\fP() と同じ処理を実行するが、
+4 番目の引き数 \fIoffset\fP が追加されており、
+この引き数は出力操作を行うファイルオフセットを指定する。
+.PP
+これらのシステムコールで、ファイルオフセットは変更されない。
+\fIfd\fP が参照するファイルは seek 可能でなければならない。
+.SS "preadv2() と pwritev2()"
+These system calls are similar to \fBpreadv\fP()  and \fBpwritev\fP()  calls, but
+add a fifth argument, \fIflags\fP, which modifies the behavior on a per\-call
+basis.
+.PP
+Unlike \fBpreadv\fP()  and \fBpwritev\fP(), if the \fIoffset\fP argument is \-1, then
+the current file offset is used and updated.
+.PP
+The \fIflags\fP argument contains a bitwise OR of zero or more of the following
+flags:
+.TP 
+\fBRWF_DSYNC\fP (Linux 4.7 以降)
+.\" commit e864f39569f4092c2b2bc72c773b6e486c7e3bd9
+Provide a per\-write equivalent of the \fBO_DSYNC\fP \fBopen\fP(2)  flag.  This
+flag is meaningful only for \fBpwritev2\fP(), and its effect applies only to
+the data range written by the system call.
+.TP 
+\fBRWF_HIPRI\fP (Linux 4.6 以降)
+High priority read/write.  Allows block\-based filesystems to use polling of
+the device, which provides lower latency, but may use additional resources.
+(Currently, this feature is usable only on a file descriptor opened using
+the \fBO_DIRECT\fP flag.)
+.TP 
+\fBRWF_SYNC\fP (Linux 4.7 以降)
+.\" commit e864f39569f4092c2b2bc72c773b6e486c7e3bd9
+Provide a per\-write equivalent of the \fBO_SYNC\fP \fBopen\fP(2)  flag.  This flag
+is meaningful only for \fBpwritev2\fP(), and its effect applies only to the
+data range written by the system call.
+.TP 
+\fBRWF_NOWAIT\fP (Linux 4.14 以降)
+.\" commit 3239d834847627b6634a4139cf1dc58f6f137a46
+.\" commit 91f9943e1c7b6638f27312d03fe71fcc67b23571
+Do not wait for data which is not immediately available.  If this flag is
+specified, the \fBpreadv2\fP()  system call will return instantly if it would
+have to read data from the backing storage or wait for a lock.  If some data
+was successfully read, it will return the number of bytes read.  If no bytes
+were read, it will return \-1 and set \fIerrno\fP to \fBEAGAIN\fP.  Currently, this
+flag is meaningful only for \fBpreadv2\fP().
+.TP 
+\fBRWF_APPEND\fP (Linux 4.16 以降)
+.\" commit e1fc742e14e01d84d9693c4aca4ab23da65811fb
+Provide a per\-write equivalent of the \fBO_APPEND\fP \fBopen\fP(2)  flag.  This
+flag is meaningful only for \fBpwritev2\fP(), and its effect applies only to
+the data range written by the system call.  The \fIoffset\fP argument does not
+affect the write operation; the data is always appended to the end of the
+file.  However, if the \fIoffset\fP argument is \-1, the current file offset is
+updated.
+.SH 返り値
+成功した場合、 \fBreadv\fP(), \fBpreadv\fP, \fBpreadv2\fP は読み込んだバイト数を返し、 \fBwritev\fP(),
+\fBpwritev\fP(), \fBpwritev2\fP は書き込んだバイト数を返す。
+.PP
+Note that it is not an error for a successful call to transfer fewer bytes
+than requested (see \fBread\fP(2)  and \fBwrite\fP(2)).
+.PP
+エラーの場合は \-1 が返され、 \fIerrno\fP が適切に設定される。
+.SH エラー
+\fBread\fP(2)  や \fBwrite\fP(2)  と同じエラーが定義されている。さらに、 \fBpreadv\fP(), \fBpreadv2\fP,
+\fBpwritev\fP(), \fBpwritev2\fP は \fBlseek\fP(2) と同じ理由でも失敗する。また、追加で以下のエラーが定義されている:
+.TP 
+\fBEINVAL\fP
+\fIiov_len\fP の合計が \fIssize_t\fP の範囲をオーバーフローした。
+.TP 
+\fBEINVAL\fP
+ベクタ数 \fIiovcnt\fP が 0 より小さいか許可された最大値よりも大きかった。
+.TP 
+\fBEOPNOTSUPP\fP
+未知のフラグが \fIflags\fP に指定された。
+.SH バージョン
+\fBpreadv\fP() と \fBpwritev\fP() は Linux 2.6.30 で初めて登場した。
+ライブラリによるサポートは glibc 2.10 で追加された。
+.PP
+\fBpreadv2\fP() と \fBpwritev2\fP() は Linux 4.6 で初めて登場した。ライブラリによるサポートは glibc 2.26
+で追加された。
+.SH 準拠
+.\" Linux libc5 used \fIsize_t\fP as the type of the \fIiovcnt\fP argument,
+.\" and \fIint\fP as the return type.
+.\" The readv/writev system calls were buggy before Linux 1.3.40.
+.\" (Says release.libc.)
+\fBreadv\fP(), \fBwritev\fP(): POSIX.1\-2001, POSIX.1\-2008, 4.4BSD (これらのシステムコールは
+4.2BSD で初めて登場した)
+.PP
+\fBpreadv\fP(), \fBpwritev\fP(): 非標準だが、最近の BSD にも存在する。
+.PP
+\fBpreadv2\fP(), \fBpwritev2\fP(): 非標準の Linux による拡張。
+.SH 注意
+.\"
+.\"
+POSIX.1 では、 \fIiov\fP で渡すことができる要素数に上限を設ける実装が認められている。 実装はこの上限値を広告することができ、
+\fI<limits.h>\fP の \fBIOV_MAX\fP を定義することや、 実行時に \fIsysconf(_SC_IOV_MAX)\fP
+の返り値経由で知ることができる。 最近の Linux では、 この上限値は 1024 である。 Linux 2.0 の頃は、 この値は 16 であった。
+.SS "C ライブラリとカーネルの違い"
+素のシステムコール \fBpreadv\fP() と \fBpwritev\fP() のシグネチャーは、 「書式」に書かれている対応する GNU C
+ライブラリのラッパー関数のものとは少し異なる。 最後の引き数 \fIoffset\fP はラッパー関数によりシステムコールの 2 つの引き数に展開される。
+.PP
+\fB unsigned long \fP\fIpos_l\fP\fB, unsigned long \fP\fIpos\fP
+.PP
+これらの引き数は、それぞれ、 \fIoffset\fP の下位 32 ビットと上位 32 ビットである。
+.SS "以前の C ライブラリとカーネルの違い"
+古いバージョンの Linux では \fBIOV_MAX\fP が非常に小さかったという事実に対処するため、 glibc の \fBreadv\fP() と
+\fBwritev\fP() のラッパー関数は、 その関数の内部で呼ばれるカーネルシステムコールがこの上限を超過して失敗したことを検出すると、
+追加の動作をしていた。 \fBreadv\fP() の場合、 ラッパー関数は \fIiov\fP
+で指定された全ての要素を格納できる大きさの一時バッファーを割り当て、 \fBread\fP(2) を呼び出す際にそのバッファーを渡し、
+そのバッファーのデータを \fIiov\fP の各要素の \fIiov_base\fP フィールドが指定する場所にコピーしてから、 そのバッファーを解放していた。
+\fBwritev\fP() のラッパー関数も、 同じように一時バッファーを使って \fBwrite\fP(2) を呼び出していた。
+.PP
+glibc ラッパー関数でのこの追加の動作は Linux 2.2 以降では必要なくなった。 しかし、 glibc はバージョン 2.10
+まではこの動作を続けていた。 glibc 2.9 以降では、 システムがバージョン 2.6.18 より前の Linux カーネル (2.6.18
+は勝手に選択したカーネルバージョンである) を実行しているとライブラリが検出した場合にのみ、 ラッパー関数はこの動作を行う。 glibc 2.20
+以降では、 (Linux カーネルのバージョン 2.6.32 以降が必須条件となり) glibc
+のラッパー関数は常にシステムコールを直接呼び出すようになっている。
+.SH 例
+以下のサンプルコードは \fBwritev\fP()  の使用方法を示すものである。
+.PP
+.in +4n
+.EX
+char *str0 = "hello ";
+char *str1 = "world\en";
+struct iovec iov[2];
+ssize_t nwritten;
+
+iov[0].iov_base = str0;
+iov[0].iov_len = strlen(str0);
+iov[1].iov_base = str1;
+iov[1].iov_len = strlen(str1);
+
+nwritten = writev(STDOUT_FILENO, iov, 2);
+.EE
+.in
+.SH 関連項目
+\fBpread\fP(2), \fBread\fP(2), \fBwrite\fP(2)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
+\%https://www.kernel.org/doc/man\-pages/ に書かれている。
index 4089c0b..c64f06e 100644 (file)
@@ -149,16 +149,16 @@ Support for various filesystems was added as follows:
 .RS
 .IP * 3
 .\" ext4: commit 0a7c3937a1f23f8cb5fc77ae01661e9968a51d0c
-ext4 (Linux 3.15);
+ ext4 (Linux 3.15);
 .IP *
-btrfs, shmem, and cifs (Linux 3.17);
+ btrfs, shmem, cifs (Linux 3.17);
 .IP *
 .\" btrfs: commit 80ace85c915d0f41016f82917218997b72431258
 .\" shmem: commit 3b69ff51d087d265aa4af3a532fc4f20bf33e718
 .\" cifs: commit 7c33d5972ce382bcc506d16235f1e9b7d22cbef8
 .\"
 .\" gfs2 in 4.2?
-xfs (Linux 4.0);
+ xfs (Linux 4.0);
 .IP *
 .\" Also affs, bfs, exofs, hfs, hfsplus, jffs2, logfs, msdos,
 .\" nilfs2, omfs, sysvfs, ubifs, udf, ufs
@@ -169,7 +169,7 @@ Support for many other filesystems was added in Linux 4.9, including ext2,
 minix, reiserfs, jfs, vfat, and bpf.
 .RE
 .TP 
-\fBRENAME_WHITEOUT\fP (since Linux 3.18)
+\fBRENAME_WHITEOUT\fP (Linux 3.18 以降)
 .\" commit 0d7a855526dd672e114aff2ac22b60fc6f155b08
 .\" commit 787fb6bc9682ec7c05fb5d9561b57100fbc1cc41
 This operation makes sense only for overlay/union filesystem
@@ -303,10 +303,10 @@ the filesystems that provide that support are tmpfs (since Linux 3.18), ext4
 \fIflags\fP に \fBRENAME_NOREPLACE\fP が指定されているが、 \fInewpath\fP がすでに存在する。
 .TP 
 \fBEINVAL\fP
-An invalid flag was specified in \fIflags\fP.
+無効なフラグ値が \fIflags\fP に指定された。
 .TP 
 \fBEINVAL\fP
-Both \fBRENAME_NOREPLACE\fP and \fBRENAME_EXCHANGE\fP were specified in \fIflags\fP.
+\fBRENAME_NOREPLACE\fP と \fBRENAME_EXCHANGE\fP の両方が \fIflags\fP に指定された。
 .TP 
 \fBEINVAL\fP
 Both \fBRENAME_WHITEOUT\fP and \fBRENAME_EXCHANGE\fP were specified in \fIflags\fP.
@@ -318,14 +318,12 @@ Both \fBRENAME_WHITEOUT\fP and \fBRENAME_EXCHANGE\fP were specified in \fIflags\
 \fIflags\fP に \fBRENAME_EXCHANGE\fP が指定されたが、 \fInewpath\fP が存在しない。
 .TP 
 \fBEPERM\fP
-\fBRENAME_WHITEOUT\fP was specified in \fIflags\fP, but the caller does not have
-the \fBCAP_MKNOD\fP capability.
+\fBRENAME_WHITEOUT\fP が \fIflags\fP に指定されたが、呼び出し元が \fBCAP_MKNOD\fP ケーパビリティを持っていない。
 .SH バージョン
 \fBrenameat\fP()  はカーネル 2.6.16 で Linux に追加された。 ライブラリによるサポートはバージョン 2.4 で glibc
 に追加された。
 .PP
-\fBrenameat2\fP()  was added to Linux in kernel 3.15; library support was added
-in glibc 2.28.
+\fBrenameat2\fP()  はカーネル 3.15 で Linux に追加された。 ライブラリによるサポートは glibc 2.28 で追加された。
 .SH 準拠
 \fBrename\fP(): 4.3BSD, C89, C99, POSIX.1\-2001, POSIX.1\-2008.
 .PP
@@ -343,7 +341,7 @@ NFS ファイルシステムでは、操作が失敗したからといって、
 操作を終えてからクラッシュした場合、 サーバが再び立ち上がったときに、 再送信された RPC が処理されるが、これは失敗となる。
 アプリケーションはこの問題を正しく取り扱うことが期待されている。 同様の問題について \fBlink\fP(2)  にも書かれている。
 .SH 関連項目
-\fBmv\fP(1), \fBrename\fP(1), \fBchmod\fP(2), \fBlink\fP(2), \fBsymlink\fP(2),
+ \fBmv\fP(1), \fBrename\fP(1), \fBchmod\fP(2), \fBlink\fP(2), \fBsymlink\fP(2),
 \fBunlink\fP(2), \fBpath_resolution\fP(7), \fBsymlink\fP(7)
 .SH この文書について
 この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
index af88aaa..558fc22 100644 (file)
@@ -60,9 +60,8 @@ rmdir \- ディレクトリを削除する
 に至るまでのディレクトリのいずれかに対する検索許可がなかった。 (\fBpath_resolution\fP(7)  も参照のこと)
 .TP 
 \fBEBUSY\fP
-\fIpathname\fP is currently in use by the system or some process that prevents
-its removal.  On Linux, this means \fIpathname\fP is currently used as a mount
-point or is the root directory of the calling process.
+\fIpathname\fP がシステムや別のプロセスにより使用中で削除することができない。 Linux では、 \fIpathname\fP
+がマウントポイントとして使用されているか、 呼び出したプロセスのルートディレクトリであることを意味する。
 .TP 
 \fBEFAULT\fP
 \fIpathname\fP がアクセス可能なアドレス空間の外を指している。
@@ -88,9 +87,8 @@ point or is the root directory of the calling process.
 .TP 
 \fBENOTEMPTY\fP
 .\" POSIX.1-2001, POSIX.1-2008
-\fIpathname\fP contains entries other than \fI.\fP and \fI..\fP ; or, \fIpathname\fP has
-\&\fI..\fP as its final component.  POSIX.1 also allows \fBEEXIST\fP for this
-condition.
+ディレクトリ \fIpathname\fP に \fI.\fP と \fI..\fP 以外のエントリーがある。または、 \fIpathname\fP を構成する最後の要素が
+\&\fI..\fP である。 POSIX.1 は、この状況で \fBEEXIST\fP を返すことを認めている。
 .TP 
 \fBEPERM\fP
 \fIpathname\fP を含んでいるディレクトリにスティッキービット(sticky\-bit)  (\fBS_ISVTX\fP)
index 234f9f2..432f858 100644 (file)
@@ -67,8 +67,8 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参
 \fBsymlink\fP():
 .RS 4
 .\"    || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED
-_XOPEN_SOURCE\ >=\ 500 || _POSIX_C_SOURCE\ >=\ 200112L
-    || /* Glibc versions <= 2.19: */ _BSD_SOURCE
+ _XOPEN_SOURCE\ >=\ 500 || _POSIX_C_SOURCE\ >=\ 200112L
+    || /* glibc 2.19 以前: */ _BSD_SOURCE
 .RE
 .PP
 \fBsymlinkat\fP():
@@ -140,8 +140,8 @@ I/O エラーが発生した。
 \fItarget\fP または \fIlinkpath\fP が長過ぎる。
 .TP 
 \fBENOENT\fP
-A directory component in \fIlinkpath\fP does not exist or is a dangling
-symbolic link, or \fItarget\fP or \fIlinkpath\fP is an empty string.
+\fIlinkpath\fP に含まれるディレクトリ部分が存在しないか、壊れたリンクであるか、 \fItarget\fP か \fIlinkpath\fP
+が空文字列である。
 .TP 
 \fBENOMEM\fP
 十分なカーネルメモリーがない。
@@ -185,10 +185,9 @@ symbolic link, or \fItarget\fP or \fIlinkpath\fP is an empty string.
 シンボリックリンクによって参照される名前を削除すると (それが他にハードリンク (hard link) を持たなければ) 実際にファイルが削除される。
 この動作が望んだものでない場合は、 \fBlink\fP(2)  を使用すること。
 .SS "glibc での注意"
-On older kernels where \fBsymlinkat\fP()  is unavailable, the glibc wrapper
-function falls back to the use of \fBsymlink\fP().  When \fIlinkpath\fP is a
-relative pathname, glibc constructs a pathname based on the symbolic link in
-\fI/proc/self/fd\fP that corresponds to the \fInewdirfd\fP argument.
+\fBsymlinkat\fP() が利用できない古いカーネルでは、 glibc ラッパー関数は \fBsymlink\fP()
+を使用するモードにフォールバックする。 \fIpathname\fP が相対パスの場合、 glibc は \fInewdirfd\fP 引き数に対応する
+\fI/proc/self/fd\fP のシンボリックリンクに基づいてパス名を構成する。
 .SH 関連項目
 \fBln\fP(1), \fBnamei\fP(1), \fBlchown\fP(2), \fBlink\fP(2), \fBlstat\fP(2), \fBopen\fP(2),
 \fBreadlink\fP(2), \fBrename\fP(2), \fBunlink\fP(2), \fBpath_resolution\fP(7),
index 540123a..248dc05 100644 (file)
@@ -104,9 +104,8 @@ descriptor) が閉じられるまでファイルは存在し続ける。
 .PP
 \fIpathname\fP で指定されたパス名が絶対パスの場合、 \fIdirfd\fP は無視される。
 .PP
-\fIflags\fP is a bit mask that can either be specified as 0, or by ORing
-together flag values that control the operation of \fBunlinkat\fP().
-Currently, only one such flag is defined:
+\fIflags\fP はビットマスクで、0 もしくは \fBunlinkat\fP()
+の動作を制御するフラグ値を論理和の形で指定することができる。現在のところ、定義されているフラグはひとつだけである。
 .TP 
 \fBAT_REMOVEDIR\fP
 デフォルトでは、 \fBunlinkat\fP() は \fIpathname\fP に対して \fBunlink\fP() と等価な動作をする。
@@ -198,10 +197,9 @@ The file to be unlinked is marked immutable or append\-only.  (See
 \fBunlinkat\fP(): POSIX.1\-2008.
 .SH 注意
 .SS "glibc での注意"
-On older kernels where \fBunlinkat\fP()  is unavailable, the glibc wrapper
-function falls back to the use of \fBunlink\fP()  or \fBrmdir\fP(2).  When
-\fIpathname\fP is a relative pathname, glibc constructs a pathname based on the
-symbolic link in \fI/proc/self/fd\fP that corresponds to the \fIdirfd\fP argument.
+\fBunlinkat\fP() が利用できない古いカーネルでは、 glibc ラッパー関数は \fBunlink\fP() と \fBrmdir\fP(2)
+を使用するモードにフォールバックする。 \fIpathname\fP が相対パスの場合、 glibc は \fIdirfd\fP 引き数に対応する
+\fI/proc/self/fd\fP のシンボリックリンクに基づいてパス名を構成する。
 .SH バグ
 NFS プロトコルに内在する問題により、まだ使用中のファイルが想定外に消えてしまうことがありえる。
 .SH 関連項目
index 42129b3..6d2fc26 100644 (file)
@@ -66,8 +66,8 @@ write \- ファイルディスクリプター (file descriptor) に書き込む
 .PP
 \fBssize_t write(int \fP\fIfd\fP\fB, const void *\fP\fIbuf\fP\fB, size_t \fP\fIcount\fP\fB);\fP
 .SH 説明
-\fBwrite\fP()  writes up to \fIcount\fP bytes from the buffer starting at \fIbuf\fP
-to the file referred to by the file descriptor \fIfd\fP.
+\fBwrite\fP()  は、 \fIbuf\fP から始まるバッファーから、ファイルディスクリプター \fIfd\fP が参照するファイルへ、最大 \fIcount\fP
+バイトを書き込む。
 .PP
 書き込まれるバイト数は \fIcount\fP よりも小さくなることがある。 例えば、書き込み対象の物理メディアに十分な領域がない場合、 リソース上限
 \fBRLIMIT_FSIZE\fP に達した場合 (\fBsetrlimit\fP(2)  参照)、 \fIcount\fP バイト未満の書き込みが行われた後で
@@ -84,8 +84,7 @@ POSIX は \fBwrite\fP()  が行なわれた後に実行した \fBread\fP(2)  が
 According to POSIX.1, if \fIcount\fP is greater than \fBSSIZE_MAX\fP, the result
 is implementation\-defined; see NOTES for the upper limit on Linux.
 .SH 返り値
-On success, the number of bytes written is returned.  On error, \-1 is
-returned, and \fIerrno\fP is set to indicate the cause of the error.
+成功すると、書き込まれたバイト数が返される。エラーの場合、 \-1 が返り、 \fIerrno\fP にエラーの原因を示す値が設定される。
 .PP
 Note that a successful \fBwrite\fP()  may transfer fewer than \fIcount\fP bytes.
 Such partial writes can occur for various reasons; for example, because
@@ -97,17 +96,16 @@ partial write, the caller can make another \fBwrite\fP()  call to transfer the
 remaining bytes.  The subsequent call will either transfer further bytes or
 may result in an error (e.g., if the disk is now full).
 .PP
-If \fIcount\fP is zero and \fIfd\fP refers to a regular file, then \fBwrite\fP()  may
-return a failure status if one of the errors below is detected.  If no
-errors are detected, or error detection is not performed, 0 will be returned
-without causing any other effect.  If \fIcount\fP is zero and \fIfd\fP refers to a
-file other than a regular file, the results are not specified.
+\fIcount\fP が 0 で、 \fIfd\fP が通常のファイル (regular file) を参照している場合、 \fBwrite\fP()
+は後述のエラーのいずれかを検出した場合、失敗を返すことがある。 エラーが検出されなかった場合、もしくはエラー検出が実行されなかった場合、 0
+が返され、他に何の影響も与えない。 \fIcount\fP が 0 で、 \fIfd\fP が通常のファイル以外のファイルを参照している場合、
+その結果は規定されていない。
 .SH エラー
 .TP 
 \fBEAGAIN\fP
-The file descriptor \fIfd\fP refers to a file other than a socket and has been
-marked nonblocking (\fBO_NONBLOCK\fP), and the write would block.  See
-\fBopen\fP(2)  for further details on the \fBO_NONBLOCK\fP flag.
+ファイルディスクリプター \fIfd\fP がソケット以外のファイルを参照していて、 非停止 (nonblocking) モード
+(\fBO_NONBLOCK\fP)  に設定されており、書き込みを行うと停止する状況にある。 \fBO_NONBLOCK\fP フラグの詳細は
+\fBopen\fP(2) を参照。
 .TP 
 \fBEAGAIN\fP または \fBEWOULDBLOCK\fP
 .\" Actually EAGAIN on Linux
index 9424720..a9ccd57 100644 (file)
@@ -140,16 +140,14 @@ fmtmsg \- 整形されたエラーメッセージを表示する
 SEV_LEVEL=[description[:description[:...]]]
 .RE
 .PP
-のような形式でプロセスの環境に設定すると、 \fBfmtmsg\fP()  は (標準のレベル 0\-4 に加えて) level に指定された値も受け付け、
-そのようなレベルの問題が発生すると指定された printstring を表示する。 各 description は
+のような形式でプロセスの環境に設定すると、 \fBfmtmsg\fP()  は (標準のレベル 0\(en4 に加えて) level
\81«æ\8c\87å®\9aã\81\95ã\82\8cã\81\9få\80¤ã\82\82å\8f\97ã\81\91ä»\98ã\81\91ã\80\81 ã\81\9dã\81®ã\82\88ã\81\86ã\81ªã\83¬ã\83\99ã\83«ã\81®å\95\8fé¡\8cã\81\8cç\99ºç\94\9fã\81\99ã\82\8bã\81¨æ\8c\87å®\9aã\81\95ã\82\8cã\81\9f printstring ã\82\92表示ã\81\99ã\82\8bã\80\82 å\90\84 description ã\81¯
 .PP
 .RS
 severity\-keyword,level,printstring
 .RE
 .PP
-then \fBfmtmsg\fP()  will also accept the indicated values for the level (in
-addition to the standard levels 0\(en4), and use the indicated printstring
-when such a level occurs.
+という形式である。
 .PP
 severity\-keyword 部は \fBfmtmsg\fP()  に使用されないが、存在しなければならない。 level
 部は数値を文字列で表したものである。 数値は 4 より大きい値でなければならない。 この値は \fBfmtmsg\fP()  の severity
@@ -178,11 +176,10 @@ glibc 2.16 より前のバージョンでは、 \fBfmtmsg\fP() 関数は、 保
 .\" Modified in commit 7724defcf8873116fe4efab256596861eef21a94
 glibc 2.16 以降では、 \fBfmtmsg\fP() 関数はロックを使って静的な変数を保護しており、 スレッドセーフである。
 .SH 準拠
-The functions \fBfmtmsg\fP()  and \fBaddseverity\fP(3), and environment variables
-\fBMSGVERB\fP and \fBSEV_LEVEL\fP come from System V.
+関数 \fBfmtmsg\fP()  と \fBaddseverity\fP(3)  と環境変数 \fBMSGVERB\fP と \fBSEV_LEVEL\fP は
+System V に由来している。
 .PP
-The function \fBfmtmsg\fP()  and the environment variable \fBMSGVERB\fP are
-described in POSIX.1\-2001 and POSIX.1\-2008.
+関数 \fBfmtmsg\fP() と環境変数 \fBMSGVERB\fP は POSIX.1\-2001 と POSIX.1\-2008 に規定されている。
 .SH 注意
 System V と UnixWare の man ページには、 「これらの関数は "pfmt() と addsev()" または "pfmt(),
 vpfmt(), lfmt(), vlfmt()" で置き換えられており、 将来は削除される予定である」と書かれている。
index 1b40492..6824ce3 100644 (file)
@@ -166,10 +166,9 @@ fopen() モード  open() フラグ
 で作成されたストリームが閉じられたときにファイルディスクリプターも 閉じられる。 共有メモリーのオブジェクトへ \fBfdopen\fP()
 を行ったときの結果は定義されていない。
 .SS freopen()
-The \fBfreopen\fP()  function opens the file whose name is the string pointed
-to by \fIpathname\fP and associates the stream pointed to by \fIstream\fP with
-it.  The original stream (if it exists) is closed.  The \fImode\fP argument is
-used just as in the \fBfopen\fP()  function.
+\fBfreopen\fP()  関数は \fIpath\fP で名前が指定されたファイルを開き、 \fIstream\fP
+で指定されたストリームに、そのファイルを結びつける。 もとのストリームは (もし存在する場合には) 閉じられる。 \fImode\fP 引数は
+\fBfopen\fP()  関数と同じ形で使われる。
 .PP
 If the \fIpathname\fP argument is a null pointer, \fBfreopen\fP()  changes the
 mode of the stream to that specified in \fImode\fP; that is, \fBfreopen\fP()
@@ -182,19 +181,18 @@ closed if the call to \fBfreopen\fP()  succeeds.  It is implementation\-defined
 which changes of mode are permitted (if any), and under what circumstances.
 .RE
 .PP
-The primary use of the \fBfreopen\fP()  function is to change the file
-associated with a standard text stream (\fIstderr\fP, \fIstdin\fP, or \fIstdout\fP).
+\fBfreopen\fP() 関数の主な用途は、標準テキストストリーム (\fIstderr\fP, \fIstdin\fP, \fIstdout\fP)
+と対応付けられているファイルを変更することである。
 .SH 返り値
-Upon successful completion \fBfopen\fP(), \fBfdopen\fP(), and \fBfreopen\fP()  return
-a \fIFILE\fP pointer.  Otherwise, NULL is returned and \fIerrno\fP is set to
-indicate the error.
+\fBfopen\fP(), \fBfdopen\fP(), \fBfreopen\fP()  は成功すると \fIFILE\fP 型のポインターを返す。 失敗すると NULL
+が返され、 \fIerrno\fP がエラーを示す値にセットされる。
 .SH エラー
 .TP 
 \fBEINVAL\fP
 \fBfopen\fP(), \fBfdopen\fP(), \fBfreopen\fP()  で与えられた \fImode\fP が不適切である。
 .PP
-The \fBfopen\fP(), \fBfdopen\fP(), and \fBfreopen\fP()  functions may also fail and
-set \fIerrno\fP for any of the errors specified for the routine \fBmalloc\fP(3).
+\fBfopen\fP(), \fBfdopen\fP(), \fBfreopen\fP()  関数は \fBmalloc\fP(3)
+ルーチンで規定されているエラーでも失敗することがあり、 その時は対応する値に \fIerrno\fP をセットする。
 .PP
 \fBfopen\fP()  関数は \fBopen\fP(2)  ルーチンで規定されているエラーでも失敗することがあり、 その時は対応する値に \fIerrno\fP
 をセットする。
index f066f40..750d87c 100644 (file)
@@ -71,20 +71,18 @@ fread, fwrite \- バイナリストリームの入出力
 \fB              FILE *\fP\fIstream\fP\fB);\fP
 .fi
 .SH 説明
-The function \fBfread\fP()  reads \fInmemb\fP items of data, each \fIsize\fP bytes
-long, from the stream pointed to by \fIstream\fP, storing them at the location
-given by \fIptr\fP.
+\fBfread\fP()  関数は \fIstream\fP ポインターで指定されたストリームから \fInmemb\fP 個のデータを読み込み、 \fIptr\fP
+で与えられた場所に格納する。 個々のデータは \fIsize\fP バイトの長さを持つ。
 .PP
-The function \fBfwrite\fP()  writes \fInmemb\fP items of data, each \fIsize\fP bytes
-long, to the stream pointed to by \fIstream\fP, obtaining them from the
-location given by \fIptr\fP.
+\fBfwrite\fP()  関数は \fIptr\fP で指定された場所から得た \fInmemb\fP 個のデータを、 \fIstream\fP
+ポインターで指定されたストリームに書き込む。 個々のデータは \fIsize\fP バイトの長さを持つ。
 .PP
 これらの処理を停止せずに行いたいときは、 \fBunlocked_stdio\fP(3)  を参照のこと。
 .SH 返り値
-On success, \fBfread\fP()  and \fBfwrite\fP()  return the number of items read or
-written.  This number equals the number of bytes transferred only when
-\fIsize\fP is 1.  If an error occurs, or the end of the file is reached, the
-return value is a short item count (or zero).
+成功すると、 \fBfread\fP() と \fBfwrite\fP() は読み書きを行った要素の個数を返す。
+\fIsize\fP が 1 の場合は、この数字は転送されたバイト数と等しい。
+エラーが生じた場合や、ファイルの末尾 (end\-of\-file) に達した場合、
+返り値は指定した個数よりも小さい値 (または 0) となる。
 .PP
 The file position indicator for the stream is advanced by the number of
 bytes successfully read or written.
index fe57cbb..8d8abe0 100644 (file)
@@ -56,8 +56,7 @@ lseek64 \- ファイルの 64 ビットの読み書きオフセットの位置
 .\" For some background details, see:
 .\" https://lore.kernel.org/linux-man/CAKgNAkhNSWR3uYhYYaxx74fZfJ3JrpfAAPVrK0AFk_cAOUsbDg@mail.gmail.com/
 .\"
-Four interfaces are available: \fBlseek\fP(), \fBlseek64\fP(), \fBllseek\fP(), and
-\fB_llseek\fP().
+4 つのインターフェースが使用可能である: \fBlseek\fP(), \fBlseek64\fP(), \fBllseek\fP(), \fBllseek\fP()
 .SS lseek()
 プロトタイプ:
 .PP
@@ -86,9 +85,8 @@ is a 32\-bit signed type on 32\-bit architectures, unless one compiles with
 .EE
 .in
 .PP
-The \fBlseek64\fP()  library function uses a 64\-bit type even when \fIoff_t\fP is
-a 32\-bit type.  Its prototype (and the type \fIoff64_t\fP)  is available only
-when one compiles with
+ライブラリ関数 \fBlseek64\fP()  は \fIoff_t\fP が 32 ビット型であっても 64 ビット型を使う。 このプロトタイプ (と型
+\fIoff64_t\fP)  は、以下の定義をしてコンパイルした場合にのみ使用可能である。
 .PP
 .in +4n
 .EX
@@ -98,7 +96,7 @@ when one compiles with
 .PP
 .\" in glibc 2.0.94, not in 2.0.6
 .\"
-The function \fBlseek64\fP()  is available since glibc 2.1.
+関数 \fBlseek64\fP()  は glibc 2.1 以降で使用可能である。
 .SS llseek()
 プロトタイプ:
 .PP
@@ -108,12 +106,10 @@ The function \fBlseek64\fP()  is available since glibc 2.1.
 .EE
 .in
 .PP
-The type \fIloff_t\fP is a 64\-bit signed type.  The \fBllseek\fP()  library
-function is available in glibc and works without special defines.  However,
-the glibc headers do not provide a prototype.  Users should add the above
-prototype, or something equivalent, to their own source.  When users
-complained about data loss caused by a miscompilation of \fBe2fsck\fP(8), glibc
-2.1.3 added the link\-time warning
+型 \fIloff_t\fP は 64 ビット符号付き型である。 ライブラリ関数 \fBllseek\fP() は glibc で利用可能であり、
+特別な定義なしに動作する。 しかしながら、 glibc のヘッダーはプロトタイプを供していない。 ユーザーは上記のプロトタイプまたはそれと同等のものを、
+自身のソースに追加しなければならない。 このデータがないことによって \fBe2fsck\fP(8)
+のコンパイルが失敗するという苦情がユーザーから出たので、 glibc 2.1.3 では以下のようなリンク時の警告が追加された。
 .PP
 .in +4n
 "the \`llseek\' function may be dangerous; use \`lseek64\' instead."
index 9cdd177..93a3a85 100644 (file)
@@ -68,12 +68,11 @@ characters.
 \fBopen_wmemstream\fP()  は \fBopen_memstream\fP()
 と同様だが、バイトではなくワイド文字に対して操作を行う点が異なる。
 .SH 返り値
-Upon successful completion, \fBopen_memstream\fP()  and \fBopen_wmemstream\fP()
-return a \fIFILE\fP pointer.  Otherwise, NULL is returned and \fIerrno\fP is set
-to indicate the error.
+成功して終了した場合には、 \fBopen_memstream\fP(), \fBopen_wmemstream\fP()  は \fIFILE\fP ポインターを返す。
+失敗した場合は、 NULL を返し、 \fIerrno\fP にエラーを示す値をセットする。
 .SH バージョン
-\fBopen_memstream\fP()  was already available in glibc 1.0.x.
-\fBopen_wmemstream\fP()  is available since glibc 2.4.
+\fBopen_memstream\fP() は glibc 1.0.x ですでに利用可能であった。 \fBopen_wmemstream\fP() は glibc
+2.4 以降で利用可能である。
 .SH 属性
 この節で使用されている用語の説明については、 \fBattributes\fP(7) を参照。
 .TS
index 30ea2a8..52f64da 100644 (file)
@@ -69,7 +69,7 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参
 \fBpopen\fP(), \fBpclose\fP():
 .RS 4
 _POSIX_C_SOURCE\ >=\ 2
-    || /* Glibc versions <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
+    || /* glibc 2.19 以前: */ _BSD_SOURCE || _SVID_SOURCE
 .RE
 .ad b
 .SH 説明
@@ -77,16 +77,13 @@ _POSIX_C_SOURCE\ >=\ 2
 定義から分かるように、パイプは一方向なので、 \fItype\fP 引き数には読み込みか書き込みのどちらか一方だけを指定できる (両方は指定できない)。
 生成されるストリームは、この指定に対応して、読み取り専用または 書き込み専用のいずれかとなる。
 .PP
-The \fIcommand\fP argument is a pointer to a null\-terminated string containing
-a shell command line.  This command is passed to \fI/bin/sh\fP using the \fB\-c\fP
-flag; interpretation, if any, is performed by the shell.
+\fIcommand\fP 引き数は、シェルのコマンドラインを含むヌル終端された文字列へのポインターである。 このコマンドは \fB\-c\fP フラグを用いて
+\fI/bin/sh\fP に渡される。 コマンドの解釈は (もし必要ならば) シェルによって行われる。
 .PP
-The \fItype\fP argument is a pointer to a null\-terminated string which must
-contain either the letter \(aqr\(aq for reading or the letter \(aqw\(aq for
-writing.  Since glibc 2.9, this argument can additionally include the letter
-\(aqe\(aq, which causes the close\-on\-exec flag (\fBFD_CLOEXEC\fP)  to be set on
-the underlying file descriptor; see the description of the \fBO_CLOEXEC\fP flag
-in \fBopen\fP(2)  for reasons why this may be useful.
+\fItype\fP 引き数は、ヌル終端された文字列へのポインターで、 読み込みを示す文字 \(aqr\(aq か、書き込みを示す文字 \(aqw\(aq の
+どちらか一方を指定しなければならない。 glibc 2.9 以降では、この引き数に文字 \(aqe\(aq を追加で指定できる。 文字
+\(aqe\(aq を指定すると、 対応するファイルディスクリプターにおいて、 close\-on\-exec フラグ (\fBFD_CLOEXEC\fP)
+がセットされる。 これが役に立つ理由については、 \fBopen\fP(2)  の \fBO_CLOEXEC\fP フラグの説明を参照のこと。
 .PP
 \fBpopen\fP()  からの返り値は、通常の標準 I/O ストリームと同じであるが、 \fBfclose\fP(3)  ではなく \fBpclose\fP()
 で閉じなくてはならないことだけが異なる。 このストリームへ書き込んだ結果はコマンドの標準入力に書き込まれる。 そして、コマンドの標準出力は、
@@ -94,7 +91,7 @@ in \fBopen\fP(2)  for reasons why this may be useful.
 ストリームからの読み込みは、 そのコマンドの標準出力を読み込むことになる。 そして、そのコマンドの標準入力は \fBpopen\fP()
 を呼んだプロセスの標準入力と同一である。
 .PP
-Note that output \fBpopen\fP()  streams are block buffered by default.
+デフォルトでは、 \fBpopen\fP() の出力ストリームは block buffered であることに注意すること。
 .PP
 \fBpclose\fP()  関数は、(パイプに) 関連づけられたプロセスが終了するのを待ち、 \fBwait4\fP(2)
 によって返されたコマンドの終了状態を返す。
index a127873..b68d5f3 100644 (file)
@@ -169,7 +169,7 @@ printf("%\(aq.2f", 1234567.89);
 .PP
 は、 POSIX ロケールでは "1234567.89" 、 nl_NL ロケールでは "1234567,89"、 da_DK ロケールでは
 "1.234.567,89" となる。
-.SS "Flag characters"
+.SS フラグ文字
 % 文字の後ろには 0 個以上のフラグ文字が続く。
 .TP 
 \fB#\fP
index 50e6760..31c4947 100644 (file)
@@ -92,7 +92,7 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参
 .PP
 \fBvscanf\fP(), \fBvsscanf\fP(), \fBvfscanf\fP():
 .RS 4
-_ISOC99_SOURCE || _POSIX_C_SOURCE\ >=\ 200112L
+ _ISOC99_SOURCE || _POSIX_C_SOURCE\ >=\ 200112L
 .ad
 .RE
 .SH 説明
@@ -159,10 +159,8 @@ character.
 も格納されるが、最大フィールド幅にはこの終端バイトは含まれない。
 .TP 
 \(bu
-An optional \fItype modifier character\fP.  For example, the \fBl\fP type modifier
-is used with integer conversions such as \fB%d\fP to specify that the
-corresponding \fIpointer\fP argument refers to a \fIlong\fP rather than a pointer
-to an \fIint\fP.
+\fI「型修飾子」 (type modifier characters)\fP (省略可能)。 例えば、型修飾子 \fBl\fP を \fB%d\fP
+などの整数変換と一緒に使うと、対応する \fIpointer\fP 引き数が \fIint\fP ではなく \fIlong\fP を参照していることを指定できる。
 .TP 
 \(bu
 \fI「変換指定」\fP : 実行すべき入力変換の種類を指定する。
@@ -177,9 +175,8 @@ to an \fIint\fP.
 変換指定には、以下の \fI「型修飾子」\fP を入れることができる。
 .TP 
 \fBh\fP
-Indicates that the conversion will be one of \fBd\fP, \fBi\fP, \fBo\fP, \fBu\fP, \fBx\fP,
-\fBX\fP, or \fBn\fP and the next pointer is a pointer to a \fIshort\fP or \fIunsigned
-short\fP (rather than \fIint\fP).
+変換が \fBd\fP, \fBi\fP, \fBo\fP, \fBu\fP, \fBx\fP, \fBX\fP, \fBn\fP のいずれかであり、次のポインターが (\fIint\fP ではなく)
+\fIshort\fP か \fIunsigned short\fP へのポインターであることを示す。
 .TP 
 \fBhh\fP
 \fBh\fP と同じだが、次のポインターが \fIsigned char\fP か \fIunsigned char\fP へのポインターであることを示す。
@@ -190,13 +187,11 @@ short\fP (rather than \fIint\fP).
 .TP 
 \fBl\fP
 .\" This use of l was introduced in Amendment 1 to ISO C90.
-Indicates either that the conversion will be one of \fBd\fP, \fBi\fP, \fBo\fP, \fBu\fP,
-\fBx\fP, \fBX\fP, or \fBn\fP and the next pointer is a pointer to a \fIlong\fP or
-\fIunsigned long\fP (rather than \fIint\fP), or that the conversion will be one of
-\fBe\fP, \fBf\fP, or \fBg\fP and the next pointer is a pointer to \fIdouble\fP (rather
-than \fIfloat\fP).  Specifying two \fBl\fP characters is equivalent to \fBL\fP.  If
-used with \fB%c\fP or \fB%s\fP, the corresponding parameter is considered as a
-pointer to a wide character or wide\-character string respectively.
+変換が \fBd\fP, \fBi\fP, \fBo\fP, \fBu\fP, \fBx\fP, \fBX\fP, \fBn\fP か \fBn\fP のいずれかであり次のポインターが (\fIint\fP
+ではなく)  \fIlong\fP か \fIunsigned long\fP へのポインターであること、または、変換が \fBe\fP, \fBf\fP, \fBg\fP
+のうちのひとつであり次のポインターが (\fIfloat\fP ではなく)  \fIdouble\fP へのポインターであることのいずれかであることを示す。
+\fBl\fP 文字を二つ指定すると、 \fBL\fP と同じ意味となる。 \fB%c\fP や \fB%s\fP とともに使用すると、
+パラメーターはそれぞれワイド文字やワイド文字列へのポインターであると みなされる。
 .TP 
 \fBL\fP
 .\" MTK, Jul 05: The following is no longer true for modern
@@ -283,27 +278,20 @@ maximum field width, whichever occurs first.
 フォーマット文の中で明示的にスペースを使用すれば良い。
 .TP 
 \fB\&[\fP
-Matches a nonempty sequence of characters from the specified set of accepted
-characters; the next pointer must be a pointer to \fIchar\fP, and there must be
-enough room for all the characters in the string, plus a terminating null
-byte.  The usual skip of leading white space is suppressed.  The string is
-to be made up of characters in (or not in) a particular set; the set is
-defined by the characters between the open bracket \fB[\fP character and a
-close bracket \fB]\fP character.  The set \fIexcludes\fP those characters if the
-first character after the open bracket is a circumflex (\fB\(ha\fP).  To
-include a close bracket in the set, make it the first character after the
-open bracket or the circumflex; any other position will end the set.  The
-hyphen character \fB\-\fP 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, \fB[\(ha]0\-9\-]\fP 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.
+格納された文字列のうちから取り出された、 指定された文字の集合で構成される空ではない文字の列に対応する。 次のポインターは \fIchar\fP
+へのポインターでなければならず、 そこには文字列中のすべての文字と終端のヌルバイト を格納するための十分な領域がなければならない。
+通常行われる先頭のホワイトスペースの読み飛ばしは行われない。 この文字列は特別な集合の中の文字で構成されている。 この集合は 開き括弧 \fB[\fP
+と閉じ括弧 \fB]\fP の間の文字で定義される。 開き括弧のあとの最初の文字が曲アクセント記号 (\fB\(ha\fP)
+の場合、集合はこれらの文字を含まないものとなる。 閉じ括弧を集合に含ませるためには、この文字を開き括弧または
+曲アクセント記号のあとの最初の文字にすればよい。 つまり、他の位置に閉じ括弧を置くと文字の集合が終る。 ハイフン \fB\-\fP もまた特殊文字である。
+二つの異なる文字の間に置かれた時、この文字は、 その間にある全ての文字を集合に加える。 ハイフン自体を含ませるためには、
+括弧が閉じる前の最後の一文字をハイフンにすればよい。 例えば、 \fB[\(ha]0\-9\-]\fP は「閉じ括弧、0 〜 9、ハイフンの 3
+種類を除く全ての文字」の集合を意味する。 この文字列は 集合に含まれていない (曲アクセントの場合には含まれる) 文字の
+出現または確保された領域が使い切られた時に終了する。
 .TP 
 \fBp\fP
-Matches a pointer value (as printed by \fB%p\fP in \fBprintf\fP(3)); the next
-pointer must be a pointer to a pointer to \fIvoid\fP.
+(\fBprintf\fP(3)  の \fB%p\fP で印字されるような) ポインター値に対応する。 次のポインターは \fIvoid\fP
+へのポインターへのポインターでなければならない。
 .TP 
 \fBn\fP
 Nothing is expected; instead, the number of characters consumed thus far
@@ -313,15 +301,12 @@ returned by the function.  The assignment can be suppressed with the \fB*\fP
 assignment\-suppression character, but the effect on the return value is
 undefined.  Therefore \fB%*n\fP conversions should not be used.
 .SH 返り値
-On success, these functions return the number of input items successfully
-matched and assigned; this can be fewer than provided for, or even zero, in
-the event of an early matching failure.
+成功すると、これらの関数は、一致と代入が成功した入力要素の個数を返す。 返される値は渡された変換の個数よりも少ないこともあり、
+最初に一致の失敗があった場合には 0 になることもある。
 .PP
-The value \fBEOF\fP is returned if the end of input is reached before either
-the first successful conversion or a matching failure occurs.  \fBEOF\fP is
-also returned if a read error occurs, in which case the error indicator for
-the stream (see \fBferror\fP(3))  is set, and \fIerrno\fP is set to indicate the
-error.
+最初の変換が成功する前に入力の最後に達して、一致の失敗が起こった場合には、 \fBEOF\fP が返される。また、 読み込みエラーが発生した場合にも
+\fBEOF\fP が返される。読み込みエラーの場合には、そのストリームの エラー指示子がセットされ (\fBferror\fP(3)  参照)、 \fIerrno\fP
+にエラーを示す値がセットされる。
 .SH エラー
 .TP 
 \fBEAGAIN\fP
@@ -352,13 +337,13 @@ lbw20 lb lb
 l l l.
 インターフェース       属性  値
 T{
-\fBscanf\fP(),
+ \fBscanf\fP(),
 \fBfscanf\fP(),
 .br
-\fBsscanf\fP(),
+ \fBsscanf\fP(),
 \fBvscanf\fP(),
 .br
-\fBvsscanf\fP(),
+ \fBvsscanf\fP(),
 \fBvfscanf\fP()
 T}     Thread safety   MT\-Safe locale
 .TE
index 8761469..6cf98d0 100644 (file)
@@ -86,18 +86,15 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参
     Glibc 2.19 and earlier:
         _BSD_SOURCE
 .SH 説明
-The three types of buffering available are unbuffered, block buffered, and
-line buffered.  When an output stream is unbuffered, information appears on
-the destination file or terminal as soon as written; when it is block
-buffered many characters are saved up and written as a block; when it is
-line buffered characters are saved up until a newline is output or input is
-read from any stream attached to a terminal device (typically \fIstdin\fP).
-The function \fBfflush\fP(3)  may be used to force the block out early.  (See
-\fBfclose\fP(3).)
+バッファーリングには unbuffered, block buffered, line buffered の3つのタイプが
+ある。出力ストリームのタイプが unbuffered の場合、データを書き込むとすぐに出 力先ファイルに書き込まれるかターミナルに表示される。block
+buffered の場合、文 字の読み書きはブロック単位でいっぺんに行われる。line buffered の場合、
+新しい行が出力されるか、ターミナルデバイスに接続しているストリーム (通常、\fIstdin\fP) から新しい行が入力されるまで文字がたくわえられる。
+ブロックを強制的に出力するには \fBfflush\fP(3)  関数を使う。 (\fBfclose\fP(3) を参照のこと)
 .PP
-Normally all files are block buffered.  If a stream refers to a terminal (as
-\fIstdout\fP normally does), it is line buffered.  The standard error stream
-\fIstderr\fP is always unbuffered by default.
+通常、ファイルはすべて block buffered である。ストリームがターミナルを参照している場合 (\fIstdout\fP
+は通常ターミナルを参照している)、ストリームは line buffered となる。標準エラー出力 \fIstderr\fP はデフォルトでは常に
+unbuffered である。
 .PP
 \fBsetvbuf\fP()  関数は、オープンしている任意のストリームに対してバッファーを変更できる。 引き数 \fImode\fP は、次の 3
 つのマクロのうちいずれかである:
@@ -143,10 +140,10 @@ lbw23 lb lb
 l l l.
 インターフェース       属性  値
 T{
-\fBsetbuf\fP(),
+ \fBsetbuf\fP(),
 \fBsetbuffer\fP(),
 .br
-\fBsetlinebuf\fP(),
+ \fBsetlinebuf\fP(),
 \fBsetvbuf\fP()
 T}     Thread safety   MT\-Safe
 .TE
index 47b27eb..f58e788 100644 (file)
@@ -32,12 +32,9 @@ stdin, stdout, stderr \- 標準入出力ストリーム
 \fBextern FILE *\fP\fIstderr\fP\fB;\fP
 .fi
 .SH 説明
-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
-diagnostic or error messages.  These are typically attached to the user's
-terminal (see \fBtty\fP(4))  but might instead refer to files or other devices,
-depending on what the parent process chose to set up.  (See also the
-"Redirection" section of \fBsh\fP(1).)
+標準の環境では、 UNIX プログラムは起動時に、オープンされているストリー ムを 3 つ与えられる。それぞれ入力用、出力用、診断メッセージやエラーメッ
+セージの表示用のものである。これらは通常ユーザーの端末 (\fBtty\fP(4) を参照) に接続されているが、親プロセスでの選択・設定によってファイル
+や他のデバイスに関連づけられていることもある (\fBsh\fP(1)  の「リダイレクション」セクションも参照のこと)。
 .PP
 入力ストリームは "standard input" と呼ばれる。出力ストリームは "standard output"、エラーストリームは
 "standard error" と呼ばれる。 これらの用語を短縮したものがそれぞれのファイルを示すシンボルとなる。つ まり \fIstdin\fP,
diff --git a/manual/LDP_man-pages/draft/man3/stdio.3 b/manual/LDP_man-pages/draft/man3/stdio.3
new file mode 100644 (file)
index 0000000..1789e47
--- /dev/null
@@ -0,0 +1,184 @@
+.\" Copyright (c) 1990, 1991 Regents of the University of California.
+.\" All rights reserved.
+.\"
+.\" %%%LICENSE_START(BSD_4_CLAUSE_UCB)
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\"    must display the following acknowledgement:
+.\"    This product includes software developed by the University of
+.\"    California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\"    may be used to endorse or promote products derived from this software
+.\"    without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\" %%%LICENSE_END
+.\"
+.\"     @(#)stdio.3    6.5 (Berkeley) 5/6/91
+.\"
+.\" Converted for Linux, Mon Nov 29 16:07:22 1993, faith@cs.unc.edu
+.\" Modified, 2001-12-26, aeb
+.\"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.\"
+.\" Japanese Version Copyright (c) 1997 YOSHINO Takashi
+.\"       all rights reserved.
+.\" Translated Mon Jan 20 23:06:18 JST 1997
+.\"       by YOSHINO Takashi <yoshino@civil.jcn.nihon-u.ac.jp>
+.\" Updated & Modified Thu Feb 14 21:39:49 JST 2002
+.\"       by Yuichi SATO <ysato@h4.dion.ne.jp>
+.\" Updated & Modified Sun Sep  7 14:36:19 JST 2003
+.\"       by Yuichi SATO <ysato444@yahoo.co.jp>
+.\" Updated & Modified Sat Jan 17 03:18:29 JST 2004 by Yuichi SATO
+.\"
+.TH STDIO 3 2017\-11\-26 "" "Linux Programmer's Manual"
+.SH 名前
+stdio \- 標準入出力ライブラリ関数
+.SH 書式
+\fB#include <stdio.h>\fP
+.PP
+\fBFILE *\fP\fIstdin\fP\fB;\fP
+.br
+\fBFILE *\fP\fIstdout\fP\fB;\fP
+.br
+\fBFILE *\fP\fIstderr\fP\fB;\fP
+.SH 説明
+標準入出力ライブラリは、簡単かつ効果のよい、 バッファーリングされたストリーム入出力インターフェースを提供する。
+入力と出力は論理データストリームに割り付けられ、 入出力の物理的な特徴は隠蔽される。 このライブラリに属する関数とマクロを以下に挙げる。
+より詳しい情報は個々の man ページから得ることができる。
+.PP
+ファイルを \fIオープン (open) する\fP ことによって、 ストリームは外部ファイル (通常は物理デバイス) に連結される。
+この操作には新しくファイルを作成することも含まれる。 既存のファイルと同じ名前のファイルを新たに作ると、 もとのファイルの中身が捨てられてしまう。
+ファイルが位置指定リクエストをサポートしている (ディスクファイルなどが相当する。逆の例としては端末が挙げられる) 場合、 そのストリームに連結された
+\fIファイル位置指示子 (file position indicator)\fP は、追加モードで開かれない限りファイルの先頭 (0 バイト目)
+に位置する。 追加モードを使用した場合、 位置指示子をファイルの先頭に置かれるか末尾に置かれるかは規定されていない。 位置指示子は、
+以降の読み書きや位置指定リクエストによって変更される。 すべての入力は、 \fBfgetc\fP(3)
+関数を次々に呼び出して文字を読み込んだかのように行われる。 一方すべての出力は、 \fBfputc\fP(3)
+関数を次々に呼び出して文字を書き込んだかのように行われる。
+.PP
+ファイルを \fIクローズ (close) する\fP ことによって、そのファイルはストリームから切り離される。
+出力ストリームは、そのストリームがファイルから切り離される前にフラッシュされる (書き込まれていないすべてのバッファーの内容がホスト環境に転送される)。
+\fIFILE\fP オブジェクトへのポインターの値は、 ファイルを閉じた後では不確定になる (ゴミになってしまう)。
+.PP
+ファイルはその後 (同じまたは別のプログラムによって)  再びオープンされることもあり、 その内容が修正されたり変更されたりする
+(そのファイルで先頭への位置移動が可能であれば)。 main 関数がもとの呼び出し側に返ったり、 \fBexit\fP(3)  関数が呼ばれた場合、
+プログラムの終了の前に 現在開いているすべてのファイルは閉じられる (その結果、すべての出力ストリームはフラッシュされる)。 プログラムの停止に
+\fBabort\fP(3)  のような他の方法を用いた場合には、 ファイルが正しく閉じられる保証はない。
+.PP
+プログラムの起動時に 3 個のテキストストリームが予め定義されており、 それらは明示的に開く必要がない。 \fI標準入力 (standard
+input)\fP (通常の入力を読み取るのに使う)、 \fI標準出力 (standard output)\fP (通常の出力を書き込むのに使う)、
+\fI標準エラー出力 (standard error)\fP (診断出力を書き込むのに使う) である。 これらのストリームは \fIstdin\fP,
+\fIstdout\fP, \fIstderr\fP と短縮して表現される。 オープンされたときには、 標準エラーストリームは
+完全にはバッファーリングされていない。 標準入力ストリームと標準出力ストリームは、 ストリームがインタラクティブなデバイスを参照していなければ、
+完全にバッファーリングされている。
+.PP
+端末デバイスを参照する出力ストリームは、 デフォルトでは常に行単位でバッファーリングされている。
+ただしそのようなストリームにおけるバッファー内の出力は、 端末デバイスを参照している入力ストリームからの読み込みがあるたびに、 自動的に書き込まれる。
+出力端末に行の一部を書き込んだ後で大量の計算を行う場合、 出力が表示されるように、計算に取りかかる前に標準出力に対して \fBfflush\fP(3)
+を実行する必要がある。
+.PP
+\fIstdio\fP ライブラリは \fBlibc\fP ライブラリの一部であり、ルーチンは \fBcc\fP(1) によって必要な時に自動的に読み込まれる。 後述する
+man ページ中の「書式」の節には、 どのインクルードファイルを使用しなければならないか、 その関数のコンパイラー宣言はどのようなものか、
+どのような外部変数が関係するのかが示されている。
+.PP
+.\" Not on Linux: .BR fropen ,
+.\" Not on Linux: .BR fwopen ,
+\fBBUFSIZ\fP, \fBEOF\fP, \fBFILENAME_MAX\fP, \fBFOPEN_MAX\fP, \fBL_cuserid\fP,
+\fBL_ctermid\fP, \fBL_tmpnam\fP, \fBNULL\fP, \fBSEEK_END\fP, \fBSEEK_SET\fP, \fBSEEK_CUR\fP,
+\fBTMP_MAX\fP, \fBclearerr\fP, \fBfeof\fP, \fBferror\fP, \fBfileno\fP, \fBgetc\fP, \fBgetchar\fP,
+\fBputc\fP, \fBputchar\fP, \fBstderr\fP, \fBstdin\fP, \fBstdout\fP はマクロとして定義されている。
+これらの名前は、現在の定義を \fB#undef\fP で削除しない限り、再利用することはできない。 マクロ関数の関数版として、 \fBfeof\fP,
+\fBferror\fP, \fBclearerr\fP, \fBfileno\fP, \fBgetc\fP, \fBgetchar\fP, \fBputc\fP, \fBputchar\fP
+がある。 マクロの定義が明示的に消去されている場合には、 これらを使用することになるだろう。
+.SS 関数のリスト
+.TS
+;
+lb lb
+l l.
+関数 説明
+_
+ \fBclearerr\fP(3)     ストリームの状態の確認とリセット
+ \fBfclose\fP(3)       ストリームをクローズする
+ \fBfdopen\fP(3)       ストリームをオープンする
+ \fBfeof\fP(3) ストリームの状態の確認とリセット
+ \fBferror\fP(3)       ストリームの状態の確認とリセット
+ \fBfflush\fP(3)       ストリームをフラッシュする
+ \fBfgetc\fP(3)        次の文字または語を入力ストリームから取得する
+ \fBfgetpos\fP(3)      ストリームの位置指示子を移動する
+ \fBfgets\fP(3)        行を入力ストリームから取得する
+ \fBfileno\fP(3)       引き数であるストリームの整数値のディスクリプターを返す
+ \fBfopen\fP(3)        ストリームをオープンする
+ \fBfprintf\fP(3)      書式付き出力変換
+ \fBfpurge\fP(3)       ストリームをフラッシュする
+ \fBfputc\fP(3)        文字または語をストリームに出力する
+ \fBfputs\fP(3)        行をストリームに出力する
+ \fBfread\fP(3)        バイナリーストリーム入出力
+ \fBfreopen\fP(3)      ストリームをオープンする
+ \fBfscanf\fP(3)       書式付き入力変換
+\fBfseek\fP(3) ストリームの位置指示子を移動する
+ \fBfsetpos\fP(3)      ストリームの位置指示子を移動する
+ \fBftell\fP(3)        ストリームの位置指示子を移動する
+ \fBfwrite\fP(3)       バイナリーストリーム入出力
+ \fBgetc\fP(3) 次の文字または語を入力ストリームから取得する
+ \fBgetchar\fP(3)      次の文字または語を入力ストリームから取得する
+ \fBgets\fP(3) 行を入力ストリームから取得する
+ \fBgetw\fP(3) 次の文字または語を入力ストリームから取得する
+ \fBmktemp\fP(3)       他と重ならないテンポラリファイル名を作る
+ \fBperror\fP(3)       システムエラーメッセージ
+\fBprintf\fP(3)        書式付き出力変換
+ \fBputc\fP(3) 文字または語をストリームに出力する
+ \fBputchar\fP(3)      文字または語をストリームに出力する
+ \fBputs\fP(3) 行をストリームに出力する
+ \fBputw\fP(3) 文字または語をストリームに出力する
+ \fBremove\fP(3)       ディレクトリエントリーを削除する
+ \fBrewind\fP(3)       ストリームの位置指示子を移動する
+ \fBscanf\fP(3)        書式付き入力変換
+ \fBsetbuf\fP(3)       ストリームのバッファーリングの操作
+ \fBsetbuffer\fP(3)    ストリームのバッファーリングの操作
+ \fBsetlinebuf\fP(3)   ストリームのバッファーリングの操作
+ \fBsetvbuf\fP(3)      ストリームのバッファーリングの操作
+ \fBsprintf\fP(3)      書式付き出力変換
+ \fBsscanf\fP(3)       書式付き入力変換
+ \fBstrerror\fP(3)     システムエラーメッセージ
+ \fBsys_errlist\fP(3)  システムエラーメッセージ
+ \fBsys_nerr\fP(3)     システムエラーメッセージ
+ \fBtempnam\fP(3)      テンポラリファイルの操作
+ \fBtmpfile\fP(3)      テンポラリファイルの操作
+ \fBtmpnam\fP(3)       テンポラリファイルの操作
+ \fBungetc\fP(3)       入力ストリームへ 1 文字戻す
+ \fBvfprintf\fP(3)     書式付き出力変換
+ \fBvfscanf\fP(3)      書式付き入力変換
+ \fBvprintf\fP(3)      書式付き出力変換
+ \fBvscanf\fP(3)       書式付き入力変換
+ \fBvsprintf\fP(3)     書式付き出力変換
+ \fBvsscanf\fP(3)      書式付き入力変換
+.TE
+.SH 準拠
+\fIstdio\fP ライブラリは C89 に準拠している。
+.SH 関連項目
+\fBclose\fP(2), \fBopen\fP(2), \fBread\fP(2), \fBwrite\fP(2), \fBstdout\fP(3),
+\fBunlocked_stdio\fP(3)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
+\%https://www.kernel.org/doc/man\-pages/ に書かれている。
diff --git a/manual/LDP_man-pages/draft/man3/stdio_ext.3 b/manual/LDP_man-pages/draft/man3/stdio_ext.3
new file mode 100644 (file)
index 0000000..06823f9
--- /dev/null
@@ -0,0 +1,191 @@
+.\" Copyright (C) 2001 Andries Brouwer <aeb@cwi.nl>.
+.\"
+.\" %%%LICENSE_START(VERBATIM)
+.\" Permission is granted to make and distribute verbatim copies of this
+.\" manual provided the copyright notice and this permission notice are
+.\" preserved on all copies.
+.\"
+.\" Permission is granted to copy and distribute modified versions of this
+.\" manual under the conditions for verbatim copying, provided that the
+.\" entire resulting derived work is distributed under the terms of a
+.\" permission notice identical to this one.
+.\"
+.\" Since the Linux kernel and libraries are constantly changing, this
+.\" manual page may be incorrect or out-of-date.  The author(s) assume no
+.\" responsibility for errors or omissions, or for damages resulting from
+.\" the use of the information contained herein.  The author(s) may not
+.\" have taken the same level of care in the production of this manual,
+.\" which is licensed free of charge, as they might when working
+.\" professionally.
+.\"
+.\" Formatted or processed versions of this manual, if unaccompanied by
+.\" the source, must acknowledge the copyright and authors of this work.
+.\" %%%LICENSE_END
+.\"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.\"
+.\" Japanese Version Copyright (c) 2002 Akihiro MOTOKI all rights reserved.
+.\" Translated Nov 2 2002 by Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
+.\"O .SH NAME
+.\"O __fbufsize, __flbf, __fpending, __fpurge, __freadable,
+.\"O __freading, __fsetlocking, __fwritable, __fwriting, _flushlbf \-
+.\"O interfaces to stdio FILE structure
+.\"O .SH SYNOPSIS
+.\"O .SH DESCRIPTION
+.\"O Solaris introduced routines to allow portable access to the
+.\"O internals of the
+.\"O .I FILE
+.\"O structure, and glibc also implemented these.
+.\"O The
+.\"O .BR __fbufsize ()
+.\"O function returns the size of the buffer currently used
+.\"O by the given stream.
+.\"O The
+.\"O .BR __fpending ()
+.\"O function returns the number of bytes in the output buffer.
+.\"O For wide-oriented streams the unit is wide characters.
+.\"O This function is undefined on buffers in reading mode,
+.\"O or opened read-only.
+.\"O The
+.\"O .BR __flbf ()
+.\"O function returns a nonzero value if the stream is line-buffered,
+.\"O and zero otherwise.
+.\"O The
+.\"O .BR __freadable ()
+.\"O function returns a nonzero value if the stream allows reading,
+.\"O and zero otherwise.
+.\"O The
+.\"O .BR __fwritable ()
+.\"O function returns a nonzero value if the stream allows writing,
+.\"O and zero otherwise.
+.\"O The
+.\"O .BR __freading ()
+.\"O function returns a nonzero value if the stream is read-only, or
+.\"O if the last operation on the stream was a read operation,
+.\"O and zero otherwise.
+.\"O The
+.\"O .BR __fwriting ()
+.\"O function returns a nonzero value if the stream is write-only (or
+.\"O append-only), or if the last operation on the stream was a write
+.\"O operation, and zero otherwise.
+.\"O The
+.\"O .BR __fsetlocking ()
+.\"O function can be used to select the desired type of locking on the stream.
+.\"O It returns the current type.
+.\"O The
+.\"O .I type
+.\"O argument can take the following three values:
+.\"O Perform implicit locking around every operation on the given stream
+.\"O (except for the *_unlocked ones).
+.\"O This is the default.
+.\"O The caller will take care of the locking (possibly using
+.\"O .BR flockfile (3)
+.\"O in case there is more than one thread), and the stdio routines
+.\"O will not do locking until the state is reset to
+.\"O .BR FSETLOCKING_INTERNAL .
+.\"O Don't change the type of locking.
+.\"O (Only return it.)
+.\"O The
+.\"O .BR _flushlbf ()
+.\"O function flushes all line-buffered streams.
+.\"O (Presumably so that
+.\"O output to a terminal is forced out, say before reading keyboard input.)
+.\"O The
+.\"O .BR __fpurge ()
+.\"O function discards the contents of the stream's buffer.
+.\"O .SH "SEE ALSO"
+.\"
+.TH STDIO_EXT 3 2015\-03\-02 "" "Linux Programmer's Manual"
+.SH 名前
+__fbufsize, __flbf, __fpending, __fpurge, __freadable, __freading,
+__fsetlocking, __fwritable, __fwriting, _flushlbf \- 標準入出力ファイル構造体へのインターフェース
+.SH 書式
+.nf
+\fB#include <stdio.h>\fP
+\fB#include <stdio_ext.h>\fP
+.PP
+\fBsize_t __fbufsize(FILE *\fP\fIstream\fP\fB);\fP
+\fBsize_t __fpending(FILE *\fP\fIstream\fP\fB);\fP
+\fBint __flbf(FILE *\fP\fIstream\fP\fB);\fP
+\fBint __freadable(FILE *\fP\fIstream\fP\fB);\fP
+\fBint __fwritable(FILE *\fP\fIstream\fP\fB);\fP
+\fBint __freading(FILE *\fP\fIstream\fP\fB);\fP
+\fBint __fwriting(FILE *\fP\fIstream\fP\fB);\fP
+\fBint __fsetlocking(FILE *\fP\fIstream\fP\fB, int \fP\fItype\fP\fB);\fP
+\fBvoid _flushlbf(void);\fP
+\fBvoid __fpurge(FILE *\fP\fIstream\fP\fB);\fP
+.fi
+.SH 説明
+Solaris では、 \fIFILE\fP 構造体の内部へポータブルなかたちで アクセスできる手段が導入されており、これらは glibc
+でも実装されている。
+.PP
+\fB__fbufsize\fP()  関数は、指定されたストリームが使用しているバッファーサイズを返す。
+.PP
+\fB__fpending\fP()  関数は、出力バッファーに入っているデータのバイト数を返す。
+ワイドキャラクターを扱うストリームの場合、ワイドキャラクター単位で計算される。 バッファーが読み出しモードの場合や読み出し専用で開かれている場合の
+この関数の振舞いは未定義である。
+.PP
+\fB__flbf\fP()  関数は、ストリームがラインバッファーの場合は 0 以外を、 それ以外の場合は 0 を返す。
+.PP
+\fB__freadable\fP()  関数は、ストリームが読み出し可能な場合は 0 以外を、 それ以外の場合は 0 を返す。
+.PP
+\fB__fwritable\fP()  関数は、ストリームが書き込み可能な場合は 0 以外を、 それ以外の場合は 0 を返す。
+.PP
+\fB__freading\fP()  関数は、ストリームが読み出し専用の場合、またはストリームに対する直前の操作が 読み出し操作であった場合は 0
+以外を返し、それ以外の場合は 0 を返す。
+.PP
+\fB__fwriting\fP()  関数は、ストリームが書き込み専用(もしくは追加専用)の場合、
+またはストリームに対する直前の操作が書き込み操作であった場合は 0 以外を返し、 それ以外の場合は 0 を返す。
+.PP
+\fB__fsetlocking\fP()  関数は、ストリームのロック形式を選択するために使用できる。 返り値は、現在のロック形式である。 \fItype\fP
+引き数は以下の 3 種類の値をとることができる :
+.TP 
+\fBFSETLOCKING_INTERNAL\fP
+指定されたストリームに対して操作が行われる度に、操作の前後で 明示的に指示しなくてもストリームのロック処理を行う (但し、*_unlocked
+関数を使用した場合は例外である)。 これがデフォルトのロック形式である。
+.TP 
+\fBFSETLOCKING_BYCALLER\fP
+関数の呼び出し元でロックの面倒をみる。 (おそらく、複数のスレッドが存在する状況では \fBflockfile\fP(3)  を使うことになるだろう)
+ロック形式が \fBFSETLOCKING_INTERNAL\fP にリセットされるまでは標準入出力関連の関数はロック処理を行わない。
+.TP 
+\fBFSETLOCKING_QUERY\fP
+ロック形式の変更を行わない。(現在の形式を返すだけである)
+.PP
+\fB_flushlbf\fP()  関数は、すべてのラインバッファー (line\-buffered) タイプのストリームの 内容を出力(フラッシュ)する。
+(当然ながら、端末への出力が強制的に行われることになるので、 キーボードからの入力を読みこむ前にこの関数を呼んだ方がいいだろう)
+.PP
+\fB__fpurge\fP()  関数は、ストリームのバッファーの内容を廃棄する。
+.SH 属性
+この節で使用されている用語の説明については、 \fBattributes\fP(7) を参照。
+.TS
+allbox;
+lbw28 lb lb
+l l l.
+インターフェース       属性  値
+T{
+\fB__fbufsize\fP(),
+\fB__fpending\fP(),
+.br
+\fB__fpurge\fP(),
+\fB__fsetlocking\fP()
+T}     Thread safety   MT\-Safe race:stream
+T{
+\fB__flbf\fP(),
+\fB__freadable\fP(),
+.br
+\fB__freading\fP(),
+\fB__fwritable\fP(),
+.br
+\fB__fwriting\fP(),
+\fB_flushlbf\fP()
+T}     Thread safety   MT\-Safe
+.TE
+.SH 関連項目
+\fBflockfile\fP(3), \fBfpurge\fP(3)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
+\%https://www.kernel.org/doc/man\-pages/ に書かれている。
index 6d84761..bfa7dea 100644 (file)
@@ -75,9 +75,8 @@ _BSD_SOURCE || _SVID_SOURCE
 関数が呼び出された時に上書きされる。 \fIs\fP が NULL でなければ、ファイル名は \fIs\fP が指す (少なくとも \fIL_tmpnam\fP
 の長さを持つ) 文字配列にコピーされ、 成功した場合は \fIs\fP が返される。
 .PP
-The created pathname has a directory prefix \fIP_tmpdir\fP.  (Both \fIL_tmpnam\fP
-and \fIP_tmpdir\fP are defined in \fI<stdio.h>\fP, just like the
-\fBTMP_MAX\fP mentioned below.)
+作成されるパス名は、ディレクトリの部分に \fIP_tmpdir\fP が使われる。 (\fIL_tmpnam\fP と \fIP_tmpdir\fP は、以下で説明する
+\fBTMP_MAX\fP 同様 \fI<stdio.h>\fP で定義されている。)
 .PP
 The \fBtmpnam_r\fP()  function performs the same task as \fBtmpnam\fP(), but
 returns NULL (to indicate an error) if \fIs\fP is NULL.
index 08d9eb9..c6cedd6 100644 (file)
@@ -89,9 +89,8 @@ magic links have been used as attack vectors in various exploits.
 シンボリックリンクの最終アクセス時刻と最終修正時刻は \fButimensat\fP(2) や \fBlutimes\fP(3) で変更できる。
 .PP
 .\" Linux does not currently implement an lchmod(2).
-On Linux, the permissions of an ordinary 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
+(すべてのユーザーカテゴリーにおいて読み出し、書き込み、実行が可能) で、変更できない。
 .PP
 However, magic links do not follow this rule.  They can have a non\-0777
 mode, though this mode is not currently used in any permission checks.
@@ -120,7 +119,7 @@ mode, though this mode is not currently used in any permission checks.
 \fBopen_by_handle_at\fP(2) で \fBO_PATH\fP フラグを指定することで、 (シンボリックリンクが参照するファイルではなく)
 シンボリックリンクに対するファイルディスクリプターを得ることができる。 繰り返しになるが、 このファイルディスクリプターを上述のシステムコールで使用し、
 シンボリックリンク自身に操作を行うことができる。
-.SS システムコールやコマンドによるシンボリックリンクの取り扱い
+.SS システムコールやコマンドによるシンボリックリンクの扱い
 シンボリックリンクは、 リンク自身に対する操作か、 リンクが参照するオブジェクトに対する操作のいずれかとして扱われる。 後者の場合、
 アプリケーションやシステムコールはリンクを\fI辿る (follow)\fPと呼ばれる。 シンボリックリンクは他のシンボリックリンクを参照することもできる。
 この場合、 シンボリックリンクでないオブジェクトが見つかるか、 存在しないファイルを参照するシンボリックリンクが見つかるか、 ループが検出されるまで、
@@ -141,7 +140,7 @@ commands, we require some terminology.  Given a pathname of the form
 \fIa/b/c\fP, the part preceding the final slash (i.e., \fIa/b\fP)  is called the
 \fIdirname\fP component, and the part following the final slash (i.e., \fIc\fP)
 is called the \fIbasename\fP component.
-.SS "Treatment of symbolic links in system calls"
+.SS システムコールにおけるシンボリックリンクの取り扱い
 最初の領域は、システムコールのファイル名引き数としてシンボリックリンクが使用される場合である。
 .PP
 The treatment of symbolic links within a pathname passed to a system call is
@@ -172,12 +171,10 @@ pages for details.  Because \fBremove\fP(3)  is an alias for \fBunlink\fP(2), th
 library function also does not follow symbolic links.  When \fBrmdir\fP(2)  is
 applied to a symbolic link, it fails with the error \fBENOTDIR\fP.
 .PP
-\fBlink\fP(2)  warrants special discussion.  POSIX.1\-2001 specifies that
-\fBlink\fP(2)  should dereference \fIoldpath\fP 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.)  POSIX.1\-2008 changed the specification to allow either behavior
-in an implementation.
+\fBlink\fP(2) については特別に議論が必要である。 POSIX.1\-2001 では \fBlink\fP(2) は \fIoldpath\fP
+がシンボリックリンクであればこれを展開するように規定している。 しかしながら、 Linux はシンボリックリンクを展開しない。 (デフォルトでは
+Solaris も同じだが、 適切なコンパイラーオプションを指定することで POSIX.1\-2001 で規定された動作をさせることができる。)
+POSIX.1\-2008 では、どちらの動作の実装も認められるように規定が変更された。
 .SS ファイルツリーを辿らないコマンド
 二つ目の領域は、 ファイルツリーを辿らないコマンドの、 コマンドライン引き数のファイル名としてシンボリックリンクが指定される場合である。
 .PP
@@ -190,13 +187,10 @@ in an implementation.
 はこのルールに含まれるが、 コマンド \fIchown\ \-R file\fP はツリーを辿る動作をするのであてはまらない (後者の場合は、3
 つ目の領域に該当する)。
 .PP
-If it is explicitly intended that the command operate on the symbolic link
-instead of following the symbolic link\(emfor example, it is desired that
-\fIchown slink\fP change the ownership of the file that \fIslink\fP is, whether it
-is a symbolic link or not\(emthen the \fI\-h\fP option should be used.  In the
-above example, \fIchown root slink\fP would change the ownership of the file
-referred to by \fIslink\fP, while \fIchown\ \-h root slink\fP would change the
-ownership of \fIslink\fP itself.
+シンボリックリンクを辿るのではなく、 コマンドがシンボリックリンク自身に対して操作を行うことを明示的に指示したい場合、 例えば、 \fIchown
+slink\fP で \fIslink\fP がシンボリックリンクかどうかに関わらず、 \fIslink\fP のファイル自身の所有権を変更したい場合は、 \fI\-h\fP
+オプションを使用すべきである。 上記の例では、 \fIchown root slink\fP は \fIslink\fP が参照するファイルの所有権を変更するが、
+\fIchown\ \-h root slink\fP は \fIslink\fP 自身の所有権を変更する。
 .PP
 このルールにはいくつかの例外がある。
 .IP * 2
@@ -232,10 +226,9 @@ ownership of \fIslink\fP itself.
 ファイルツリーを辿る途中で見つけたシンボリックリンクも削除する。 シンボリックリンクは削除できるからである。 \fBrm\fP(1) が \fIslink\fP
 が参照するファイルに影響をおよぼすことはない。
 .PP
-The \fIsecond rule\fP 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 that refer to directories are followed).
+「2 つ目のルール」は、 ディレクトリを参照するシンボリックリンクに適用される。 デフォルトでは、 ディレクトリを参照するシンボリックリンクを辿らない。
+この動作はしばしば「物理的な」ツリー探索 ("physical" walk) と呼ばれる。 これに対して
+(ディレクトリを参照するシンボリックリンクを辿る場合は) 「論理的な」ツリー探索 ("logical" walk) と呼ばれる。
 .PP
 一貫性を持たせるため、ファイルツリーを辿るコマンドが可能な限り従っている慣習がいくつかある。
 .IP * 2
index ebd862d..82d4b0c 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "POT-Creation-Date: 2021-03-12 14:00+0900\n"
-"PO-Revision-Date: 2021-03-26 13:55+0900\n"
+"PO-Revision-Date: 2021-04-08 13:38+0900\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "Language: \n"
@@ -1960,16 +1960,10 @@ msgstr "B<fmemopen>(),"
 
 #. type: Plain text
 #: build/C/man3/fmemopen.3:169
-#, fuzzy
-#| 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.  This function is not specified in POSIX.1-2001, and is not "
 "widely available on other systems."
-msgstr ""
-"POSIX.1-2008.  これらの関数は POSIX.1-2001 では規定れていないが、 Linux 以外"
-"のシステムで広く利用可能である。"
+msgstr "POSIX.1-2008. この関数は POSIX.1-2001 では規定されておらず、 Linux 以外のシステムで広く利用できるわけではない。"
 
 #.  http://austingroupbugs.net/view.php?id=396
 #. type: Plain text
@@ -1987,19 +1981,11 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/fmemopen.3:183
-#, fuzzy
-#| 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 returned stream)."
 msgid ""
 "There is no file descriptor associated with the file stream returned by this "
 "function (i.e., B<fileno>(3)  will return an error if called on the returned "
 "stream)."
-msgstr ""
-"これらの関数が返すファイルストリームに対応するファイル ディスクリプターはな"
-"い (つまり、返されたストリームに対して B<fileno>(3)  を呼び出すとエラーが返る"
-"ことになる)。"
+msgstr "この関数が返すファイルストリームに対応するファイルディスクリプターはない (つまり、返されたストリームに対して B<fileno>(3)  を呼び出すとエラーが返ることになる)。"
 
 #. type: Plain text
 #: build/C/man3/fmemopen.3:189
@@ -2173,14 +2159,6 @@ msgstr "例"
 
 #. type: Plain text
 #: build/C/man3/fmemopen.3:291
-#, fuzzy
-#| 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 scans its input string (taken from the program's first command-"
-#| "line argument) reading integers, and writes the squares of these integers "
-#| "to the output buffer.  An example of the output produced by this program "
-#| "is the following:"
 msgid ""
 "The program below uses B<fmemopen>()  to open an input buffer, and "
 "B<open_memstream>(3)  to open a dynamically sized output buffer.  The "
@@ -2188,12 +2166,7 @@ msgid ""
 "argument) reading integers, and writes the squares of these integers to the "
 "output buffer.  An example of the output produced by this program is the "
 "following:"
-msgstr ""
-"このプログラムは B<fmemopen>()  を使って出力バッファーをオープンし、 "
-"B<open_memstream>()  を使って動的にサイズが変化する出力バッファーをオープンし"
-"ている。 (プログラムの第一コマンドライン引き数から取った) 入力文字列を スキャ"
-"ンして整数を読み込み、これらの整数の二乗を出力バッファーに書き出す。 このプロ"
-"グラムの実行例は以下のようになる。"
+msgstr "このプログラムは B<fmemopen>()  を使って出力バッファーをオープンし、 B<open_memstream>(3)  を使って動的にサイズが変化する出力バッファーをオープンしている。 (プログラムの第一コマンドライン引き数から取った) 入力文字列を スキャンして整数を読み込み、これらの整数の二乗を出力バッファーに書き出す。 このプログラムの実行例は以下のようになる。"
 
 #. type: Plain text
 #: build/C/man3/fmemopen.3:296
@@ -2778,10 +2751,7 @@ msgstr "SEV_LEVEL=[description[:description[:...]]]"
 msgid ""
 "in the environment of the process before the first call to B<fmtmsg>(), "
 "where each description is of the form"
-msgstr ""
-"のような形式でプロセスの環境に設定すると、 B<fmtmsg>()  は (標準のレベル 0-4 "
-"に加えて) level に指定された値も受け付け、 そのようなレベルの問題が発生すると"
-"指定された printstring を表示する。 各 description は"
+msgstr "のような形式でプロセスの環境に設定すると、 B<fmtmsg>()  は (標準のレベル 0\\(en4 に加えて) level に指定された値も受け付け、 そのようなレベルの問題が発生すると指定された printstring を表示する。 各 description は"
 
 #. type: Plain text
 #: build/C/man3/fmtmsg.3:198
@@ -2790,11 +2760,6 @@ msgstr "severity-keyword,level,printstring"
 
 #. type: Plain text
 #: build/C/man3/fmtmsg.3:205
-#, fuzzy
-#| 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 such a level occurs."
 msgid ""
 "then B<fmtmsg>()  will also accept the indicated values for the level (in "
 "addition to the standard levels 0\\(en4), and use the indicated printstring "
@@ -2862,28 +2827,17 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/fmtmsg.3:259
-#, fuzzy
-#| 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>()  and the environment variable B<MSGVERB> are described in "
-#| "POSIX.1-2001."
 msgid ""
 "The functions B<fmtmsg>()  and B<addseverity>(3), and environment variables "
 "B<MSGVERB> and B<SEV_LEVEL> come from System V."
-msgstr ""
-"関数 B<fmtmsg>()  と B<addseverity>(3)  と環境変数 B<MSGVERB> と "
-"B<SEV_LEVEL> は System V に由来している。 関数 B<fmtmsg>()  と環境変数 "
-"B<MSGVERB> は POSIX.1-2001 に記述されている。"
+msgstr "関数 B<fmtmsg>()  と B<addseverity>(3)  と環境変数 B<MSGVERB> と B<SEV_LEVEL> は System V に由来している。"
 
 #. type: Plain text
 #: build/C/man3/fmtmsg.3:265
-#, fuzzy
-#| msgid "The function B<fileno>()  conforms to POSIX.1-2001 and POSIX.1-2008."
 msgid ""
 "The function B<fmtmsg>()  and the environment variable B<MSGVERB> are "
 "described in POSIX.1-2001 and POSIX.1-2008."
-msgstr "関数 B<fileno>() は POSIX.1-2001 と POSIX.1-2008 に準拠している。"
+msgstr "関数 B<fmtmsg>() と環境変数 B<MSGVERB> は POSIX.1-2001 と POSIX.1-2008 に規定されている。"
 
 #. type: Plain text
 #: build/C/man3/fmtmsg.3:269
@@ -3340,25 +3294,12 @@ msgstr "freopen()"
 
 #. type: Plain text
 #: build/C/man3/fopen.3:210
-#, fuzzy
-#| 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.  The original stream (if it exists) is closed.  The I<mode> "
-#| "argument is used just as in the B<fopen>()  function.  The primary use of "
-#| "the B<freopen>()  function is to change the file associated with a "
-#| "standard text stream (I<stderr>, I<stdin>, or I<stdout>)."
 msgid ""
 "The B<freopen>()  function opens the file whose name is the string pointed "
 "to by I<pathname> and associates the stream pointed to by I<stream> with "
 "it.  The original stream (if it exists) is closed.  The I<mode> argument is "
 "used just as in the B<fopen>()  function."
-msgstr ""
-"B<freopen>()  関数は I<path> で名前が指定されたファイルを開き、 I<stream> で"
-"指定されたストリームに、そのファイルを結びつける。 もとのストリームは (もし存"
-"在する場合には) 閉じられる。 I<mode> 引数は B<fopen>()  関数と同じ形で使われ"
-"る。 B<freopen>()  関数の主な用途は、標準テキストストリーム (I<stderr>, "
-"I<stdin>, I<stdout>)  と対応付けられているファイルを変更することである。"
+msgstr "B<freopen>()  関数は I<path> で名前が指定されたファイルを開き、 I<stream> で指定されたストリームに、そのファイルを結びつける。 もとのストリームは (もし存在する場合には) 閉じられる。 I<mode> 引数は B<fopen>()  関数と同じ形で使われる。"
 
 #. type: Plain text
 #: build/C/man3/fopen.3:221
@@ -3382,15 +3323,10 @@ msgstr ""
 msgid ""
 "The primary use of the B<freopen>()  function is to change the file "
 "associated with a standard text stream (I<stderr>, I<stdin>, or I<stdout>)."
-msgstr ""
+msgstr "B<freopen>() 関数の主な用途は、標準テキストストリーム (I<stderr>, I<stdin>, I<stdout>)  と対応付けられているファイルを変更することである。"
 
 #. type: Plain text
 #: build/C/man3/fopen.3:248
-#, fuzzy
-#| 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 indicate the error."
 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 "
@@ -3427,11 +3363,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/fopen.3:269
-#, fuzzy
-#| 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)."
@@ -4813,11 +4744,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/fread.3:70
-#, fuzzy
-#| 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 given by I<ptr>."
 msgid ""
 "The function B<fread>()  reads I<nmemb> items of data, each I<size> bytes "
 "long, from the stream pointed to by I<stream>, storing them at the location "
@@ -4829,11 +4755,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/fread.3:81
-#, fuzzy
-#| 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 location given by I<ptr>."
 msgid ""
 "The function B<fwrite>()  writes I<nmemb> items of data, each I<size> bytes "
 "long, to the stream pointed to by I<stream>, obtaining them from the "
@@ -4845,12 +4766,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/fread.3:95
-#, fuzzy
-#| 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 I<size> is 1.  If an error occurs, or the end of the file is "
-#| "reached, the return value is a short item count (or zero)."
 msgid ""
 "On success, B<fread>()  and B<fwrite>()  return the number of items read or "
 "written.  This number equals the number of bytes transferred only when "
@@ -6319,16 +6234,10 @@ msgstr "B<open>(2) 参照。"
 
 #. type: Plain text
 #: build/C/man2/link.2:326
-#, fuzzy
-#| msgid ""
-#| "An attempt was made to link to the I</proc/self/fd/NN> file corresponding "
-#| "to a file descriptor created with"
 msgid ""
 "An attempt was made to link to a I</proc/self/fd/NN> file corresponding to a "
 "file that has been deleted."
-msgstr ""
-"以下の呼び出しで作成されたファイルディスクリプターに対応する I</proc/self/fd/"
-"NN> ファイルに対してリンクを行おおうとした。"
+msgstr "削除済みのファイルに対応する I</proc/self/fd/NN> ファイルに対してリンクを行おおうとした。"
 
 #. type: Plain text
 #: build/C/man2/link.2:337
@@ -6510,7 +6419,7 @@ msgstr ""
 #. type: Plain text
 #: build/C/man2/llseek.2:58
 msgid "(offset_high E<lt>E<lt> 32) | offset_low"
-msgstr ""
+msgstr "(offset_high E<lt>E<lt> 32) | offset_low"
 
 #. type: Plain text
 #: build/C/man2/llseek.2:69
@@ -6999,16 +6908,10 @@ msgstr "更に詳しい説明・返り値・エラーは、 B<lseek>(2)  を参
 #.  https://lore.kernel.org/linux-man/CAKgNAkhNSWR3uYhYYaxx74fZfJ3JrpfAAPVrK0AFk_cAOUsbDg@mail.gmail.com/
 #. type: Plain text
 #: build/C/man3/lseek64.3:68
-#, fuzzy
-#| msgid ""
-#| "Four interfaces are available: B<lseek>(2), B<lseek64>(), B<llseek>(2), "
-#| "and the raw system call B<_llseek>(2)."
 msgid ""
 "Four interfaces are available: B<lseek>(), B<lseek64>(), B<llseek>(), and "
 "B<_llseek>()."
-msgstr ""
-"4 つのインターフェースが使用可能である: B<lseek>(2), B<lseek64>(), "
-"B<llseek>(2)  と元となるシステムコール B<_llseek>(2)  である。"
+msgstr "4 つのインターフェースが使用可能である: B<lseek>(), B<lseek64>(), B<llseek>(), B<llseek>()"
 
 #. type: SS
 #: build/C/man3/lseek64.3:68
@@ -7066,19 +6969,11 @@ 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:108
-#, fuzzy
-#| 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 when one compiles with"
 msgid ""
 "The B<lseek64>()  library function 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 "
 "when one compiles with"
-msgstr ""
-"ライブラリルーチン B<lseek64>()  は I<off_t> が 32 ビット型であっても 64 ビッ"
-"ト型を使う。 このプロトタイプ (と型 I<off64_t>)  は、以下の定義をしてコンパイ"
-"ルした場合にのみ使用可能である。"
+msgstr "ライブラリ関数 B<lseek64>()  は I<off_t> が 32 ビット型であっても 64 ビット型を使う。 このプロトタイプ (と型 I<off64_t>)  は、以下の定義をしてコンパイルした場合にのみ使用可能である。"
 
 #. type: Plain text
 #: build/C/man3/lseek64.3:112
@@ -7089,14 +6984,8 @@ msgstr "#define _LARGEFILE64_SOURCE\n"
 #.  in glibc 2.0.94, not in 2.0.6
 #. type: Plain text
 #: build/C/man3/lseek64.3:120
-#, fuzzy
-#| 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."
-msgstr ""
-"関数 B<lseek64>()  は glibc 2.1 以降で使用可能であり、 B<llseek>()  のエイリ"
-"アスとして定義されている。"
+msgstr "関数 B<lseek64>()  は glibc 2.1 以降で使用可能である。"
 
 #. type: SS
 #: build/C/man3/lseek64.3:120
@@ -7112,14 +7001,6 @@ msgstr "B<loff_t llseek(int >I<fd>B<, loff_t >I<offset>B<, int >I<whence>B<);>\n
 
 #. type: Plain text
 #: build/C/man3/lseek64.3:141
-#, fuzzy
-#| msgid ""
-#| "The type I<loff_t> is a 64-bit signed type.  The library routine "
-#| "B<llseek>()  is available in the glibc and works without special "
-#| "defines.  However, the glibc headers do not provide a prototype.  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"
 msgid ""
 "The type I<loff_t> is a 64-bit signed type.  The B<llseek>()  library "
 "function is available in glibc and works without special defines.  However, "
@@ -7127,13 +7008,7 @@ msgid ""
 "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>() "
-"は glibc で利用可能であり、 特別な定義なしに動作する。 しかしながら、 glibc "
-"のヘッダーはプロトタイプを供していない。 ユーザーは上記のプロトタイプまたはそ"
-"れと同等のものを、 自身のソースに追加しなければならない。 このデータがないこ"
-"とによって B<e2fsck>(8)  のコンパイルが失敗するという苦情がユーザーから出たの"
-"で、 glibc 2.1.3 では以下のようなリンク時の警告が追加された。"
+msgstr "型 I<loff_t> は 64 ビット符号付き型である。 ライブラリ関数 B<llseek>() は glibc で利用可能であり、 特別な定義なしに動作する。 しかしながら、 glibc のヘッダーはプロトタイプを供していない。 ユーザーは上記のプロトタイプまたはそれと同等のものを、 自身のソースに追加しなければならない。 このデータがないことによって B<e2fsck>(8)  のコンパイルが失敗するという苦情がユーザーから出たので、 glibc 2.1.3 では以下のようなリンク時の警告が追加された。"
 
 #. type: Plain text
 #: build/C/man3/lseek64.3:144
@@ -8004,24 +7879,12 @@ msgstr ""
 #.  by mmap() and readdir(2), MTK, Dec 04.
 #. type: Plain text
 #: build/C/man2/open.2:545
-#, fuzzy
-#| msgid ""
-#| "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 activity.  This flag may not be effective on all filesystems.  One "
-#| "example is NFS, where the server maintains the access time."
 msgid ""
 "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 filesystems.  One example is NFS, where the server "
 "maintains the access time."
-msgstr ""
-"ファイルに対して B<read>(2)  が実行されたときに、最終アクセス時刻 (inode の "
-"I<st_atime>) を更新しない。 このフラグはインデックス作成やバックアッププログ"
-"ラムで使うことを意図している。 これを使うとディスクに対する操作を大幅に減らす"
-"ことができる。 このフラグは全てのファイルシステムに対して有効であるわけではな"
-"い。 その一例が NFS であり、サーバがアクセス時刻を管理している。"
+msgstr "このフラグはインデックス作成やバックアッププログラムで使うことを意図している。 これを使うとディスクに対する操作を大幅に減らすことができる。 このフラグは全てのファイルシステムに対して有効であるわけではない。 その一例が NFS であり、サーバがアクセス時刻を管理している。"
 
 #. type: TP
 #: build/C/man2/open.2:545
@@ -8082,27 +7945,11 @@ msgstr "B<O_NONBLOCK> または B<O_NDELAY>"
 
 #. type: Plain text
 #: build/C/man2/open.2:583
-#, fuzzy
-#| 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 B<O_NONBLOCK> in conjunction with mandatory file locks and with file "
-#| "leases, see B<fcntl>(2)."
 msgid ""
 "When possible, the file is opened in nonblocking mode.  Neither the "
 "B<open>()  nor any subsequent I/O operations on the file descriptor which is "
 "returned will cause the calling process to wait."
-msgstr ""
-"可能ならば、ファイルは非停止 (nonblocking) モードでオープンされる。\n"
-"B<open>() も、返したファイルディスクリプターに対する以後のすべての操作も呼び"
-"出\n"
-"したプロセスを待たせることはない。 FIFO (名前付きパイプ) を扱う場合には\n"
-"B<fifo>(7) も参照すること。 強制ファイルロック (mandatory file lock) やファ"
-"イ\n"
-"ルリース (file lease) と組み合わせた場合の、 B<O_NONBLOCK> の効果についての\n"
-"議論は、 B<fcntl>(2) を参照すること。"
+msgstr "可能ならば、ファイルは非停止 (nonblocking) モードでオープンされる。 B<open>() も、返したファイルディスクリプターに対する以後のすべての操作も呼び出したプロセスを待たせることはない。"
 
 #. type: Plain text
 #: build/C/man2/open.2:597
@@ -8127,27 +7974,11 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/open.2:615
-#, fuzzy
-#| 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 B<O_NONBLOCK> in conjunction with mandatory file locks and with file "
-#| "leases, see B<fcntl>(2)."
 msgid ""
 "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 ""
-"可能ならば、ファイルは非停止 (nonblocking) モードでオープンされる。\n"
-"B<open>() も、返したファイルディスクリプターに対する以後のすべての操作も呼び"
-"出\n"
-"したプロセスを待たせることはない。 FIFO (名前付きパイプ) を扱う場合には\n"
-"B<fifo>(7) も参照すること。 強制ファイルロック (mandatory file lock) やファ"
-"イ\n"
-"ルリース (file lease) と組み合わせた場合の、 B<O_NONBLOCK> の効果についての\n"
-"議論は、 B<fcntl>(2) を参照すること。"
+msgstr "FIFO (名前付きパイプ) を扱う場合には B<fifo>(7) も参照すること。 強制ファイルロック (mandatory file lock) やファイルリース (file lease) と組み合わせた場合の、 B<O_NONBLOCK> の効果についての議論は、 B<fcntl>(2) を参照すること。"
 
 #. type: TP
 #: build/C/man2/open.2:615
@@ -9778,10 +9609,8 @@ msgstr "OPENAT2"
 
 #. type: Plain text
 #: build/C/man2/openat2.2:27
-#, fuzzy
-#| msgid "open, openat, creat - open and possibly create a file"
 msgid "openat2 - open and possibly create a file (extended)"
-msgstr "open, openat, creat - ファイルのオープン、作成を行う"
+msgstr "openat2 - ファイルのオープン、作成を行う (拡張版)"
 
 #. type: Plain text
 #: build/C/man2/openat2.2:33
@@ -9901,7 +9730,7 @@ msgstr "4 つのフィールドの詳細は以下のとおりである。"
 #: build/C/man2/openat2.2:130
 #, no-wrap
 msgid "I<flags>"
-msgstr ""
+msgstr "I<flags>"
 
 #. type: Plain text
 #: build/C/man2/openat2.2:141
@@ -10756,16 +10585,10 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/open_by_handle_at.2:283
-#, fuzzy
-#| msgid ""
-#| "On success, B<name_to_handle_at>()  returns 0, and "
-#| "B<open_by_handle_at>()  returns a nonnegative file descriptor."
 msgid ""
 "On success, B<name_to_handle_at>()  returns 0, and B<open_by_handle_at>()  "
 "returns a file descriptor (a nonnegative integer)."
-msgstr ""
-"成功すると、 B<name_to_handle_at>() は 0 を返し、 B<open_by_handle_at>() は負"
-"でないファイルディスクリプターを返す。"
+msgstr "成功すると、 B<name_to_handle_at>() は 0 を返し、 B<open_by_handle_at>() はファイルディスクリプター (非負の整数) を返す。"
 
 #. type: Plain text
 #: build/C/man2/open_by_handle_at.2:287
@@ -11824,32 +11647,18 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/open_memstream.3:102
-#, fuzzy
-#| msgid ""
-#| "Upon successful completion B<fmemopen>(), B<open_memstream>()  and "
-#| "B<open_wmemstream>()  return a I<FILE> pointer.  Otherwise, NULL is "
-#| "returned and I<errno> is set to indicate the error."
 msgid ""
 "Upon successful completion, B<open_memstream>()  and B<open_wmemstream>()  "
 "return a I<FILE> pointer.  Otherwise, NULL is returned and I<errno> is set "
 "to indicate the error."
-msgstr ""
-"成功して終了した場合には、 B<fmemopen>(), B<open_memstream>(), "
-"B<open_wmemstream>()  は I<FILE> ポインターを返す。 失敗した場合は、 NULL を"
-"返し、 I<errno> にエラーを示す値をセットする。"
+msgstr "成功して終了した場合には、 B<open_memstream>(), B<open_wmemstream>()  は I<FILE> ポインターを返す。 失敗した場合は、 NULL を返し、 I<errno> にエラーを示す値をセットする。"
 
 #. type: Plain text
 #: build/C/man3/open_memstream.3:107
-#, fuzzy
-#| 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<open_memstream>()  was already available in glibc 1.0.x.  "
 "B<open_wmemstream>()  is available since glibc 2.4."
-msgstr ""
-"B<fmemopen>()  と B<open_memstream>()  は glibc 1.0.x ですでに利用可能であっ"
-"た。 B<open_wmemstream>()  は glibc 2.4 以降で利用可能である。"
+msgstr "B<open_memstream>() は glibc 1.0.x ですでに利用可能であった。 B<open_wmemstream>() は glibc 2.4 以降で利用可能である。"
 
 #. type: tbl table
 #: build/C/man3/open_memstream.3:117
@@ -12360,10 +12169,8 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/pipe.2:199
-#, fuzzy
-#| msgid "B<pipe>(): POSIX.1-2001."
 msgid "B<pipe>(): POSIX.1-2001, POSIX.1-2008."
-msgstr "B<pipe>(): POSIX.1-2001."
+msgstr " B<pipe>(): POSIX.1-2001, POSIX.1-2008."
 
 #. type: Plain text
 #: build/C/man2/pipe.2:202
@@ -12388,15 +12195,6 @@ msgstr ""
 #.  fork.2 refers to this example program.
 #. type: Plain text
 #: build/C/man2/pipe.2:235
-#, fuzzy
-#| 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 to the same pipe.  After the B<fork>(2), each process closes "
-#| "the descriptors that it doesn't need for the pipe (see B<pipe>(7)).  The "
-#| "parent then writes the string contained in the program's command-line "
-#| "argument to the pipe, and the child reads this string a byte at a time "
-#| "from the pipe and echoes it on standard output."
 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 "
@@ -12405,13 +12203,7 @@ msgid ""
 "then writes the string contained in the program's command-line argument to "
 "the pipe, and the child reads this string a byte at a time from the pipe and "
 "echoes it on standard output."
-msgstr ""
-"以下のプログラムではパイプを生成し、その後 B<fork>(2)  で子プロセスを生成す"
-"る。 子プロセスは同じパイプを参照するファイルディスクリプター集合のコピーを "
-"継承する。 B<fork>(2)  の後、各プロセスはパイプ (B<pipe>(7)  を参照) に必要が"
-"なくなったディスクリプターをクローズする。 親プロセスはプログラムのコマンドラ"
-"イン引き数に含まれる 文字列をパイプへ書き込み、 子プロセスはこの文字列をパイ"
-"プから 1 バイトずつ読み込んで標準出力にエコーする。"
+msgstr "以下のプログラムではパイプを生成し、その後 B<fork>(2)  で子プロセスを生成する。 子プロセスは同じパイプを参照するファイルディスクリプター集合のコピーを 継承する。 B<fork>(2)  の後、各プロセスはパイプ (B<pipe>(7)  を参照) に必要がなくなったファイルディスクリプターをクローズする。 親プロセスはプログラムのコマンドライン引き数に含まれる 文字列をパイプへ書き込み、 子プロセスはこの文字列をパイプから 1 バイトずつ読み込んで標準出力にエコーする。"
 
 #. type: Plain text
 #: build/C/man2/pipe.2:243
@@ -12549,16 +12341,10 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/pipe.2:296
-#, fuzzy
-#| msgid ""
-#| "B<fork>(2), B<read>(2), B<socketpair>(2), B<write>(2), B<popen>(3), "
-#| "B<pipe>(7)"
 msgid ""
 "B<fork>(2), B<read>(2), B<socketpair>(2), B<splice>(2), B<tee>(2), "
 "B<vmsplice>(2), B<write>(2), B<popen>(3), B<pipe>(7)"
-msgstr ""
-"B<fork>(2), B<read>(2), B<socketpair>(2), B<write>(2), B<popen>(3), "
-"B<pipe>(7)"
+msgstr " B<fork>(2), B<read>(2), B<socketpair>(2), B<splice>(2), B<tee>(2), B<vmsplice>(2), B<write>(2), B<popen>(3), B<pipe>(7)"
 
 #. type: TH
 #: build/C/man3/popen.3:40
@@ -12590,12 +12376,13 @@ msgstr "B<popen>(), B<pclose>():"
 
 #. type: Plain text
 #: build/C/man3/popen.3:63
-#, fuzzy, no-wrap
-#| msgid "_POSIX_C_SOURCE\\ E<gt>=\\ 2 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE"
+#, no-wrap
 msgid ""
 "_POSIX_C_SOURCE\\ E<gt>=\\ 2\n"
 "    || /* Glibc versions E<lt>= 2.19: */ _BSD_SOURCE || _SVID_SOURCE\n"
-msgstr "_POSIX_C_SOURCE\\ E<gt>=\\ 2 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE"
+msgstr ""
+"_POSIX_C_SOURCE\\ E<gt>=\\ 2\n"
+"    || /* glibc 2.19 以前: */ _BSD_SOURCE || _SVID_SOURCE\n"
 
 #. type: Plain text
 #: build/C/man3/popen.3:74
@@ -12617,22 +12404,10 @@ 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> "
 "flag; interpretation, if any, is performed by the shell."
-msgstr ""
+msgstr "I<command> 引き数は、シェルのコマンドラインを含むヌル終端された文字列へのポインターである。 このコマンドは B<-c> フラグを用いて I</bin/sh> に渡される。 コマンドの解釈は (もし必要ならば) シェルによって行われる。"
 
 #. type: Plain text
 #: build/C/man3/popen.3:99
-#, fuzzy
-#| 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> flag; interpretation, if any, is performed by the shell.  "
-#| "The I<type> argument is a pointer to a null-terminated string which must "
-#| "contain either the letter \\(aqr\\(aq for reading or the letter \\(aqw"
-#| "\\(aq for writing.  Since glibc 2.9, this argument can additionally "
-#| "include the letter \\(aqe\\(aq, which causes the close-on-exec flag "
-#| "(B<FD_CLOEXEC>)  to be set on the underlying file descriptor; see the "
-#| "description of the B<O_CLOEXEC> flag in B<open>(2)  for reasons why this "
-#| "may be useful."
 msgid ""
 "The I<type> argument is a pointer to a null-terminated string which must "
 "contain either the letter \\(aqr\\(aq for reading or the letter \\(aqw\\(aq "
@@ -12640,16 +12415,7 @@ msgid ""
 "letter \\(aqe\\(aq, which causes the close-on-exec flag (B<FD_CLOEXEC>)  to "
 "be set on the 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> 引き数は、シェルのコマンドラインを含むヌル終端された文字列へのポイ"
-"ンターである。 このコマンドは B<-c> フラグを用いて I</bin/sh> に渡される。 コ"
-"マンドの解釈は (もし必要ならば) シェルによって行われる。 I<type> 引き数は、ヌ"
-"ル終端された文字列へのポインターで、 読み込みを示す文字 \\(aqr\\(aq か、書き"
-"込みを示す文字 \\(aqw\\(aq の どちらか一方を指定しなければならない。 glibc "
-"2.9 以降では、この引き数に文字 \\(aqe\\(aq を追加で指定できる。 文字 \\(aqe"
-"\\(aq を指定すると、 対応するファイルディスクリプターにおいて、 close-on-"
-"exec フラグ (B<FD_CLOEXEC>)  がセットされる。 これが役に立つ理由については、 "
-"B<open>(2)  の B<O_CLOEXEC> フラグの説明を参照のこと。"
+msgstr "I<type> 引き数は、ヌル終端された文字列へのポインターで、 読み込みを示す文字 \\(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
 #: build/C/man3/popen.3:115
@@ -12673,12 +12439,8 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/popen.3:119
-#, fuzzy
-#| msgid "Note that output B<popen>()  streams are fully buffered by default."
 msgid "Note that output B<popen>()  streams are block buffered by default."
-msgstr ""
-"デフォルトでは、 B<popen>()  の出力ストリームは完全にバッファーリングされるこ"
-"とに注意しよう。"
+msgstr "デフォルトでは、 B<popen>() の出力ストリームは block buffered であることに注意すること。"
 
 #. type: Plain text
 #: build/C/man3/popen.3:125
@@ -13071,8 +12833,7 @@ msgstr ""
 
 #. type: SS
 #: build/C/man3/printf.3:260
-#, fuzzy, no-wrap
-#| msgid "The flag characters"
+#, no-wrap
 msgid "Flag characters"
 msgstr "フラグ文字"
 
@@ -14511,22 +14272,12 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/read.2:61
-#, fuzzy
-#| 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."
 msgid ""
 "On files that support seeking, the read operation commences at the file "
 "offset, and the file offset is incremented by the number of bytes read.  If "
 "the 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 を返す。"
+msgstr "seek に対応しているファイルでは、read はファイルオフセットから行われ、ファイルオフセットは読み込んだバイト数分だけ進められる。ファイルオフセットがファイル末尾かそれより先の場合は、読み出しは行われず、 B<read>() は 0 を返す。"
 
 #. type: Plain text
 #: build/C/man2/read.2:76
@@ -14550,17 +14301,6 @@ msgstr "I<count> が B<SSIZE_MAX> より大きければ、結果は規定でき
 
 #. type: Plain text
 #: build/C/man2/read.2:93
-#, fuzzy
-#| 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 if this number is smaller than the number of bytes requested; this "
-#| "may happen for example because fewer bytes are actually available right "
-#| "now (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."
 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 "
@@ -14569,36 +14309,22 @@ 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.  See also NOTES."
-msgstr ""
-"成功した場合、読み込んだバイト数を返す (0 はファイルの終りを意味する)。 ファ"
-"イル位置はこの数だけ進められる。 この数が要求した数より小さかったとしてもエ"
-"ラーではない; 例えば今すぐには実際にそれだけの数しかない場合 (ファイルの最後"
-"に近いのかも しれないし、パイプ (pipe) や端末 (terminal) から読み込んでいるか"
-"もしれない) や B<read>()  がシグナル (signal) によって割り込まれた場合にこれ"
-"は起こりえる。 エラーの場合は、-1 が返され、 I<errno> が適切に設定される。こ"
-"の場合はファイル位置が変更されるかどうかは 不定である。"
+msgstr "成功した場合、読み込んだバイト数を返す (0 はファイルの終りを意味する)。 ファイル位置はこの数だけ進められる。 この数が要求した数より小さかったとしてもエラーではない; 例えば今すぐには実際にそれだけの数しかない場合 (ファイルの最後に近いのかも しれないし、パイプ (pipe) や端末 (terminal) から読み込んでいるかもしれない) や B<read>()  がシグナル (signal) によって割り込まれた場合にこれは起こりえる。"
 
 #. type: Plain text
 #: build/C/man2/read.2:99
 msgid ""
 "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."
-msgstr ""
+msgstr "エラーの場合は、-1 が返され、 I<errno> が適切に設定される。この場合はファイル位置が変更されるかどうかは 不定である。"
 
 #. type: Plain text
 #: build/C/man2/read.2:112
-#, fuzzy
-#| 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.  See "
 "B<open>(2)  for further details on the B<O_NONBLOCK> flag."
-msgstr ""
-"ファイルディスクリプター I<fd> がソケット以外のファイルを参照していて、 非停"
-"止 (nonblocking) モード (B<O_NONBLOCK>)  に設定されており、読み込みを行うと停"
-"止する状況にある。"
+msgstr "ファイルディスクリプター I<fd> がソケット以外のファイルを参照していて、 非停止 (nonblocking) モード (B<O_NONBLOCK>)  に設定されており、読み込みを行うと停止する状況にある。 B<O_NONBLOCK> フラグの詳細は B<open>(2) を参照。"
 
 #. type: TP
 #: build/C/man2/read.2:112 build/C/man2/write.2:144
@@ -14644,22 +14370,12 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/read.2:146
-#, fuzzy
-#| 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 I<buf>, the value specified in I<count>, or the current file "
-#| "offset is not suitably aligned."
 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 "
 "I<buf>, the value specified in I<count>, or the file offset is not suitably "
 "aligned."
-msgstr ""
-"I<fd> は読み込みに適していないオブジェクトを参照している。 もしくは、ファイル"
-"が B<O_DIRECT> フラグを指定してオープンされているが、 I<buf> に指定されたアド"
-"レス、 I<count> に指定された値、 現在のファイルオフセットのいずれかの アライ"
-"ンメントが不適切である。"
+msgstr "I<fd> は読み込みに適していないオブジェクトを参照している。 もしくは、ファイルが B<O_DIRECT> フラグを指定してオープンされているが、 I<buf> に指定されたアドレス、 I<count> に指定された値、 ファイルオフセットのいずれかの アラインメントが不適切である。"
 
 #. type: Plain text
 #: build/C/man2/read.2:156
@@ -14733,17 +14449,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/read.2:216
-#, fuzzy
-#| msgid ""
-#| "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 the server as there are no server side reads.  UNIX "
-#| "semantics can be obtained by disabling client side attribute caching, but "
-#| "in most situations this will substantially increase server load and "
-#| "decrease performance."
 msgid ""
 "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 "
@@ -14753,15 +14458,7 @@ msgid ""
 "on the server as there are no server-side reads.  UNIX semantics can be "
 "obtained by disabling client-side attribute caching, but in most situations "
 "this will substantially increase server load and decrease performance."
-msgstr ""
-"NFS において。少量のデータを読み込む場合、最初の時のみにタイム スタンプが更新"
-"され、続くコールでは更新されないだろう。 これはクライアント側で属性のキャッシ"
-"ングを行なうためである。 なぜならば、もし全ての NFS クライアントが st_atime "
-"(最終ファイルアクセス時刻)  の更新をサーバーに送らず、クライアント側でキャッ"
-"シュを読むことに満足して いれば、サーバー側での read は発生しないので "
-"st_atime の更新は行なわれからだ。 UNIX の方式では、クライアント側の属性の"
-"キャッシングを無効にすることで、 これを得ることができる。しかしほとんどの状況"
-"ではこれは続くサーバーの 負荷を増加させ、パフォーマンスの低下をもたらす。"
+msgstr "NFS において。少量のデータを読み込む場合、最初の時のみにタイム スタンプが更新され、続くコールでは更新されないだろう。 これはクライアント側で属性のキャッシングを行なうためである。 なぜならば、もし全ての NFS クライアントが I<st_atime> (最終ファイルアクセス時刻)  の更新をサーバーに送らず、クライアント側でキャッシュを読むことに満足して いれば、サーバー側での read は発生しないので I<st_atime> の更新は行なわれからだ。 UNIX の方式では、クライアント側の属性のキャッシングを無効にすることで、 これを得ることができる。しかしほとんどの状況ではこれは続くサーバーの 負荷を増加させ、パフォーマンスの低下をもたらす。"
 
 #. type: Plain text
 #: build/C/man2/read.2:219 build/C/man2/write.2:301
@@ -14861,12 +14558,13 @@ msgstr "B<readlink>():"
 #.     || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED
 #. type: Plain text
 #: build/C/man2/readlink.2:72 build/C/man2/symlink.2:60
-#, fuzzy, no-wrap
-#| msgid "_XOPEN_SOURCE\\ E<gt>=\\ 700 || _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
+#, no-wrap
 msgid ""
 "_XOPEN_SOURCE\\ E<gt>=\\ 500 || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L\n"
 "    || /* Glibc versions E<lt>= 2.19: */ _BSD_SOURCE\n"
-msgstr "_XOPEN_SOURCE\\ E<gt>=\\ 700 || _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
+msgstr ""
+" _XOPEN_SOURCE\\ E<gt>=\\ 500 || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L\n"
+"    || /* glibc 2.19 以前: */ _BSD_SOURCE\n"
 
 #. type: Plain text
 #: build/C/man2/readlink.2:75
@@ -14875,24 +14573,13 @@ msgstr "B<readlinkat>():"
 
 #. type: Plain text
 #: build/C/man2/readlink.2:101
-#, fuzzy
-#| msgid ""
-#| "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."
 msgid ""
 "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 (silently) 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<pathname> で与えられたシンボリックリンクの内容を I<buf> "
-"バッファーへ格納する、 I<buf> のサイズは I<bufsiz> である。 B<readlink>()  は"
-"ヌルバイトを I<buf> に追加しない。 その内容全てを格納するのにバッファーが小さ"
-"過ぎる場合は、 (I<bufsiz> バイトの長さに) 内容を切り詰める。"
+msgstr "B<readlink>()  は I<pathname> で与えられたシンボリックリンクの内容を I<buf> バッファーへ格納する、 I<buf> のサイズは I<bufsiz> である。 B<readlink>()  はヌルバイトを I<buf> に追加しない。 その内容全てを格納するのにバッファーが小さ過ぎる場合は、 (I<bufsiz> バイトの長さに) 内容を (黙って) 切り詰める。"
 
 #. type: SS
 #: build/C/man2/readlink.2:101
@@ -15072,18 +14759,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/readlink.2:262
-#, fuzzy
-#| 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>()  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."
 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 "
@@ -15095,17 +14770,7 @@ msgid ""
 "portability problem when using B<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> が定義されることが保証されてい"
-"ないからである。"
+msgstr "静的な大きさのバッファーを使うと、 シンボリックリンクの内容を格納するのに十分な領域がない場合がある。 バッファーに必要なサイズは、 そのシンボリックリンクに対して B<lstat>(2) の呼び出しで返される I<stat.st_size> の値から取得できる。 ただし、 B<readlink>() や B<readlinkat>() が書き込んだバイト数をチェックして、 シンボリックリンクのサイズが二つの呼び出しの間で増えていないことを確認すべきである。 B<readlink>() や B<readlinkat>() 用のバッファーを動的に割り当てる方法でも、 バッファーサイズとして B<PATH_MAX> を使用する場合に共通する移植性の問題を解決することができる。 なぜなら、POSIX では、 システムがそのような上限値を定義していない場合には、 B<PATH_MAX> が定義されることが保証されていないからである。"
 
 #. type: Plain text
 #: build/C/man2/readlink.2:275
@@ -15139,14 +14804,7 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/readlink.2:293
-#, fuzzy, 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"
+#, no-wrap
 msgid ""
 "#include E<lt>sys/types.hE<gt>\n"
 "#include E<lt>sys/stat.hE<gt>\n"
@@ -15155,23 +14813,16 @@ msgid ""
 "#include E<lt>stdlib.hE<gt>\n"
 "#include E<lt>unistd.hE<gt>\n"
 msgstr ""
-"#include E<lt>sys/types.hE<gt>\n"
-"#include E<lt>sys/wait.hE<gt>\n"
+" #include E<lt>sys/types.hE<gt>\n"
+"#include E<lt>sys/stat.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/readlink.2:300
-#, fuzzy, no-wrap
-#| msgid ""
-#| "int\n"
-#| "main(int argc, char *argv[])\n"
-#| "{\n"
-#| "    struct stat sb;\n"
-#| "    char *linkname;\n"
-#| "    ssize_t r;\n"
+#, no-wrap
 msgid ""
 "int\n"
 "main(int argc, char *argv[])\n"
@@ -15180,12 +14831,12 @@ msgid ""
 "    char *buf;\n"
 "    ssize_t nbytes, bufsiz;\n"
 msgstr ""
-"int\n"
+" int\n"
 "main(int argc, char *argv[])\n"
 "{\n"
 "    struct stat sb;\n"
-"    char *linkname;\n"
-"    ssize_t r;\n"
+"    char *buf;\n"
+"    ssize_t nbytes, bufsiz;\n"
 
 #. type: Plain text
 #: build/C/man2/readlink.2:305
@@ -15248,13 +14899,7 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/readlink.2:328
-#, fuzzy, no-wrap
-#| msgid ""
-#| "    mycookie.buf = malloc(INIT_BUF_SIZE);\n"
-#| "    if (mycookie.buf == NULL) {\n"
-#| "        perror(\"malloc\");\n"
-#| "        exit(EXIT_FAILURE);\n"
-#| "    }\n"
+#, no-wrap
 msgid ""
 "    buf = malloc(bufsiz);\n"
 "    if (buf == NULL) {\n"
@@ -15262,21 +14907,15 @@ msgid ""
 "        exit(EXIT_FAILURE);\n"
 "    }\n"
 msgstr ""
-"    mycookie.buf = malloc(INIT_BUF_SIZE);\n"
-"    if (mycookie.buf == NULL) {\n"
+"     buf = malloc(bufsiz);\n"
+"    if (buf == NULL) {\n"
 "        perror(\"malloc\");\n"
 "        exit(EXIT_FAILURE);\n"
 "    }\n"
 
 #. type: Plain text
 #: build/C/man2/readlink.2:334
-#, fuzzy, no-wrap
-#| msgid ""
-#| "    cpid = fork();\n"
-#| "    if (cpid == -1) {\n"
-#| "        perror(\"fork\");\n"
-#| "        exit(EXIT_FAILURE);\n"
-#| "    }\n"
+#, no-wrap
 msgid ""
 "    nbytes = readlink(argv[1], buf, bufsiz);\n"
 "    if (nbytes == -1) {\n"
@@ -15284,18 +14923,17 @@ msgid ""
 "        exit(EXIT_FAILURE);\n"
 "    }\n"
 msgstr ""
-"    cpid = fork();\n"
-"    if (cpid == -1) {\n"
-"        perror(\"fork\");\n"
+"     nbytes = readlink(argv[1], buf, bufsiz);\n"
+"    if (nbytes == -1) {\n"
+"        perror(\"readlink\");\n"
 "        exit(EXIT_FAILURE);\n"
 "    }\n"
 
 #. type: Plain text
 #: build/C/man2/readlink.2:336
-#, fuzzy, no-wrap
-#| msgid "    printf(\"\\(aq%s\\(aq points to \\(aq%s\\(aq\\en\", argv[1], linkname);\n"
+#, no-wrap
 msgid "    printf(\"\\(aq%s\\(aq points to \\(aq%.*s\\(aq\\en\", argv[1], (int) nbytes, buf);\n"
-msgstr "    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], (int) nbytes, buf);\n"
 
 #. type: Plain text
 #: build/C/man2/readlink.2:342
@@ -15318,15 +14956,13 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/readlink.2:349
-#, fuzzy, no-wrap
-#| msgid ""
-#| "    exit(EXIT_SUCCESS);\n"
-#| "}\n"
+#, no-wrap
 msgid ""
 "    free(buf);\n"
 "    exit(EXIT_SUCCESS);\n"
 "}\n"
 msgstr ""
+"     free(buf);\n"
 "    exit(EXIT_SUCCESS);\n"
 "}\n"
 
@@ -15347,13 +14983,10 @@ msgstr "READV"
 
 #. type: Plain text
 #: build/C/man2/readv.2:35
-#, fuzzy
-#| msgid ""
-#| "readv, writev, preadv, pwritev - read or write data into multiple buffers"
 msgid ""
 "readv, writev, preadv, pwritev, preadv2, pwritev2 - read or write data into "
 "multiple buffers"
-msgstr "readv, writev, preadv, pwritev - 複数のバッファーへの読み書きを行なう"
+msgstr "readv, writev, preadv, pwritev, preadv2, pwritev2 - 複数のバッファーへの読み書きを行なう"
 
 #. type: Plain text
 #: build/C/man2/readv.2:38
@@ -15395,29 +15028,23 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/readv.2:51
-#, fuzzy, no-wrap
-#| msgid ""
-#| "B<ssize_t preadv(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<,>\n"
-#| "B<               off_t >I<offset>B<);>\n"
+#, no-wrap
 msgid ""
 "B<ssize_t preadv2(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<,>\n"
 "B<                off_t >I<offset>B<, int >I<flags>B<);>\n"
 msgstr ""
-"B<ssize_t preadv(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<,>\n"
-"B<               off_t >I<offset>B<);>\n"
+" B<ssize_t preadv2(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<,>\n"
+"B<                off_t >I<offset>B<, int >I<flags>B<);>\n"
 
 #. type: Plain text
 #: build/C/man2/readv.2:54
-#, fuzzy, no-wrap
-#| msgid ""
-#| "B<ssize_t pwritev(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<,>\n"
-#| "B<                off_t >I<offset>B<);>\n"
+#, no-wrap
 msgid ""
 "B<ssize_t pwritev2(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<,>\n"
 "B<                 off_t >I<offset>B<, int >I<flags>B<);>\n"
 msgstr ""
-"B<ssize_t pwritev(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<,>\n"
-"B<                off_t >I<offset>B<);>\n"
+" B<ssize_t pwritev2(int >I<fd>B<, const struct iovec *>I<iov>B<, int >I<iovcnt>B<,>\n"
+"B<                 off_t >I<offset>B<, int >I<flags>B<);>\n"
 
 #. type: Plain text
 #: build/C/man2/readv.2:67
@@ -15499,13 +15126,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/readv.2:136
-#, fuzzy
-#| 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."
 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 "
@@ -15584,10 +15204,9 @@ msgstr ""
 
 #. type: SS
 #: build/C/man2/readv.2:186
-#, fuzzy, no-wrap
-#| msgid "preadv() and pwritev()"
+#, no-wrap
 msgid "preadv2() and pwritev2()"
-msgstr "preadv() と pwritev()"
+msgstr "preadv2() と pwritev2()"
 
 #. type: Plain text
 #: build/C/man2/readv.2:194
@@ -15617,10 +15236,9 @@ msgstr "I<flags> 引き数は、以下のフラグの 0 個以上のビットマ
 
 #. type: TP
 #: build/C/man2/readv.2:206
-#, fuzzy, no-wrap
-#| msgid "B<O_DIRECT> (since Linux 3.4)"
+#, no-wrap
 msgid "B<RWF_DSYNC> (since Linux 4.7)"
-msgstr "B<O_DIRECT> (Linux 3.4 以降)"
+msgstr "B<RWF_DSYNC> (Linux 4.7 以降)"
 
 #.  commit e864f39569f4092c2b2bc72c773b6e486c7e3bd9
 #. type: Plain text
@@ -15633,10 +15251,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man2/readv.2:216
-#, fuzzy, no-wrap
-#| msgid "B<EPERM> (since Linux 3.6)"
+#, no-wrap
 msgid "B<RWF_HIPRI> (since Linux 4.6)"
-msgstr "B<EPERM> (Linux 3.6 以降)"
+msgstr "B<RWF_HIPRI> (Linux 4.6 以降)"
 
 #. type: Plain text
 #: build/C/man2/readv.2:224
@@ -15649,10 +15266,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man2/readv.2:224
-#, fuzzy, no-wrap
-#| msgid "B<EPERM> (since Linux 3.6)"
+#, no-wrap
 msgid "B<RWF_SYNC> (since Linux 4.7)"
-msgstr "B<EPERM> (Linux 3.6 以降)"
+msgstr "B<RWF_SYNC> (Linux 4.7 以降)"
 
 #.  commit e864f39569f4092c2b2bc72c773b6e486c7e3bd9
 #. type: Plain text
@@ -15665,10 +15281,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man2/readv.2:234
-#, fuzzy, no-wrap
-#| msgid "B<O_DIRECT> (since Linux 3.4)"
+#, no-wrap
 msgid "B<RWF_NOWAIT> (since Linux 4.14)"
-msgstr "B<O_DIRECT> (Linux 3.4 以降)"
+msgstr "B<RWF_NOWAIT> (Linux 4.14 以降)"
 
 #.  commit 3239d834847627b6634a4139cf1dc58f6f137a46
 #.  commit 91f9943e1c7b6638f27312d03fe71fcc67b23571
@@ -15685,10 +15300,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man2/readv.2:250
-#, fuzzy, no-wrap
-#| msgid "B<EPERM> (since Linux 3.6)"
+#, no-wrap
 msgid "B<RWF_APPEND> (since Linux 4.16)"
-msgstr "B<EPERM> (Linux 3.6 以降)"
+msgstr "B<RWF_APPEND> (Linux 4.16 以降)"
 
 #.  commit e1fc742e14e01d84d9693c4aca4ab23da65811fb
 #. type: Plain text
@@ -15704,19 +15318,11 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/readv.2:279
-#, fuzzy
-#| 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 "
-#| "error, -1 is returned, and I<errno> is set appropriately."
 msgid ""
 "On success, B<readv>(), B<preadv>(), and B<preadv2>()  return the number of "
 "bytes read; B<writev>(), B<pwritev>(), and B<pwritev2>()  return the number "
 "of bytes written."
-msgstr ""
-"成功した場合、 B<readv>() と B<preadv> は読み込んだバイト数を返し、\n"
-"B<writev>() と B<pwritev>()は書き込んだバイト数を返す。\n"
-"エラーの場合 -1 を返し、I<errno> を適切に設定する。"
+msgstr "成功した場合、 B<readv>(), B<preadv>, B<preadv2> は読み込んだバイト数を返し、 B<writev>(), B<pwritev>(), B<pwritev2> は書き込んだバイト数を返す。"
 
 #. type: Plain text
 #: build/C/man2/readv.2:285
@@ -15727,32 +15333,17 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/readv.2:287
-#, fuzzy
-#| msgid ""
-#| "On success, zero is returned.  On error, -1 is returned, and I<errno> is "
-#| "set appropriately."
 msgid "On error, -1 is returned, and I<errno> is set appropriately."
-msgstr ""
-"成功した場合は 0 が返される。エラーの場合は -1 が返され、 I<errno> が適切に設"
-"定される。"
+msgstr "エラーの場合は -1 が返され、 I<errno> が適切に設定される。"
 
 #. type: Plain text
 #: build/C/man2/readv.2:301
-#, fuzzy
-#| 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:"
 msgid ""
 "The errors are as given for B<read>(2)  and B<write>(2).  Furthermore, "
 "B<preadv>(), B<preadv2>(), B<pwritev>(), and B<pwritev2>()  can also fail "
 "for the same reasons as B<lseek>(2).  Additionally, the following errors are "
 "defined:"
-msgstr ""
-"B<read>(2)  や B<write>(2)  と同じエラーが定義されている。\n"
-"さらに、 B<preadv>() と B<pwritev>() は B<lseek>(2) と同じ理由でも失敗す"
-"る。\n"
-"また、追加で以下のエラーが定義されている:"
+msgstr "B<read>(2)  や B<write>(2)  と同じエラーが定義されている。さらに、 B<preadv>(), B<preadv2>, B<pwritev>(), B<pwritev2> は B<lseek>(2) と同じ理由でも失敗する。また、追加で以下のエラーが定義されている:"
 
 #. type: Plain text
 #: build/C/man2/readv.2:308
@@ -15761,10 +15352,6 @@ msgstr "I<iov_len> の合計が I<ssize_t> の範囲をオーバーフローし
 
 #. type: Plain text
 #: build/C/man2/readv.2:313
-#, fuzzy
-#| msgid ""
-#| "The vector count I<iovcnt> is less than zero or greater than the "
-#| "permitted maximum."
 msgid ""
 "The vector count, I<iovcnt>, is less than zero or greater than the permitted "
 "maximum."
@@ -15772,10 +15359,8 @@ msgstr "ベクタ数 I<iovcnt> が 0 より小さいか許可された最大値
 
 #. type: Plain text
 #: build/C/man2/readv.2:316
-#, fuzzy
-#| msgid "An invalid flag value was specified in I<flags>."
 msgid "An unknown flag is specified in I<flags>."
-msgstr "無効なフラグ値が I<flags> に指定された。"
+msgstr "未知のフラグが I<flags> に指定された。"
 
 #. type: Plain text
 #: build/C/man2/readv.2:321
@@ -15788,16 +15373,10 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/readv.2:327
-#, fuzzy
-#| msgid ""
-#| "B<preadv>()  and B<pwritev>()  first appeared in Linux 2.6.30; library "
-#| "support was added in glibc 2.10."
 msgid ""
 "B<preadv2>()  and B<pwritev2>()  first appeared in Linux 4.6.  Library "
 "support was added in glibc 2.26."
-msgstr ""
-"B<preadv>() と B<pwritev>() は Linux 2.6.30 で初めて登場した。\n"
-"ライブラリによるサポートは glibc 2.10 で追加された。"
+msgstr "B<preadv2>() と B<pwritev2>() は Linux 4.6 で初めて登場した。ライブラリによるサポートは glibc 2.26 で追加された。"
 
 #.  Linux libc5 used \fIsize_t\fP as the type of the \fIiovcnt\fP argument,
 #.  and \fIint\fP as the return type.
@@ -15805,16 +15384,10 @@ msgstr ""
 #.  (Says release.libc.)
 #. type: Plain text
 #: build/C/man2/readv.2:336
-#, fuzzy
-#| msgid ""
-#| "B<readv>(), B<writev>(): 4.4BSD (these system calls first appeared in "
-#| "4.2BSD), POSIX.1-2001."
 msgid ""
 "B<readv>(), B<writev>(): POSIX.1-2001, POSIX.1-2008, 4.4BSD (these system "
 "calls first appeared in 4.2BSD)."
-msgstr ""
-"B<readv>(), B<writev>(): 4.4BSD (これらのシステムコールは 4.2BSD で初めて登場"
-"した), POSIX.1-2001."
+msgstr "B<readv>(), B<writev>(): POSIX.1-2001, POSIX.1-2008, 4.4BSD (これらのシステムコールは 4.2BSD で初めて登場した)"
 
 #. type: Plain text
 #: build/C/man2/readv.2:340
@@ -15824,34 +15397,18 @@ msgstr "B<preadv>(), B<pwritev>(): 非標準だが、最近の BSD にも存在
 
 #. type: Plain text
 #: build/C/man2/readv.2:344
-#, fuzzy
-#| msgid ""
-#| "B<preadv>(), B<pwritev>(): nonstandard, but present also on the modern "
-#| "BSDs."
 msgid "B<preadv2>(), B<pwritev2>(): nonstandard Linux extension."
-msgstr "B<preadv>(), B<pwritev>(): 非標準だが、最近の BSD にも存在する。"
+msgstr "B<preadv2>(), B<pwritev2>(): 非標準の Linux による拡張。"
 
 #. type: Plain text
 #: build/C/man2/readv.2:358
-#, fuzzy
-#| 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 "
-#| "limit by defining B<IOV_MAX> in I<E<lt>limits.hE<gt>> or at run time via "
-#| "the return value from I<sysconf(_SC_IOV_MAX)>.  On modern Linux systems, "
-#| "the limit is 1024.  Back in Linux 2.0 days, this limit was 16."
 msgid ""
 "POSIX.1 allows an implementation to place a limit on the number of items "
 "that can be passed in I<iov>.  An implementation can advertise its limit by "
 "defining B<IOV_MAX> in I<E<lt>limits.hE<gt>> or at run time via the return "
 "value from I<sysconf(_SC_IOV_MAX)>.  On modern Linux systems, the limit is "
 "1024.  Back in Linux 2.0 days, this limit was 16."
-msgstr ""
-"POSIX.1-2001 では、 I<iov> で渡すことができる要素数に上限を設ける実装が認めら"
-"れている。 実装はこの上限値を広告することができ、 I<E<lt>limits.hE<gt>> の "
-"B<IOV_MAX> を定義することや、 実行時に I<sysconf(_SC_IOV_MAX)> の返り値経由で"
-"知ることができる。 最近の Linux では、 この上限値は 1024 である。 Linux 2.0 "
-"の頃は、 この値は 16 であった。"
+msgstr "POSIX.1 では、 I<iov> で渡すことができる要素数に上限を設ける実装が認められている。 実装はこの上限値を広告することができ、 I<E<lt>limits.hE<gt>> の B<IOV_MAX> を定義することや、 実行時に I<sysconf(_SC_IOV_MAX)> の返り値経由で知ることができる。 最近の Linux では、 この上限値は 1024 である。 Linux 2.0 の頃は、 この値は 16 であった。"
 
 #. type: Plain text
 #: build/C/man2/readv.2:368
@@ -15882,10 +15439,9 @@ msgstr ""
 
 #. type: SS
 #: build/C/man2/readv.2:373
-#, fuzzy, no-wrap
-#| msgid "Historical C library/kernel ABI differences"
+#, no-wrap
 msgid "Historical C library/kernel differences"
-msgstr "以前の C ライブラリとカーネル ABI の違い"
+msgstr "以前の C ライブラリとカーネルの違い"
 
 #. type: Plain text
 #: build/C/man2/readv.2:399
@@ -16320,17 +15876,13 @@ msgstr ""
 #.  ext4: commit 0a7c3937a1f23f8cb5fc77ae01661e9968a51d0c
 #. type: Plain text
 #: build/C/man2/rename.2:220
-#, fuzzy
-#| msgid "ext4 (since Linux 3.8)"
 msgid "ext4 (Linux 3.15);"
-msgstr "ext4 (Linux 3.8 以降)"
+msgstr " ext4 (Linux 3.15);"
 
 #. type: Plain text
 #: build/C/man2/rename.2:222
-#, fuzzy
-#| msgid "Btrfs (since Linux 3.1)"
 msgid "btrfs, shmem, and cifs (Linux 3.17);"
-msgstr "Btrfs (Linux 3.1 以降)"
+msgstr " btrfs, shmem, cifs (Linux 3.17);"
 
 #.  btrfs: commit 80ace85c915d0f41016f82917218997b72431258
 #.  shmem: commit 3b69ff51d087d265aa4af3a532fc4f20bf33e718
@@ -16338,10 +15890,8 @@ msgstr "Btrfs (Linux 3.1 以降)"
 #.  gfs2 in 4.2?
 #. type: Plain text
 #: build/C/man2/rename.2:229
-#, fuzzy
-#| msgid "Btrfs (since Linux 3.1)"
 msgid "xfs (Linux 4.0);"
-msgstr "Btrfs (Linux 3.1 以降)"
+msgstr " xfs (Linux 4.0);"
 
 #.  Also affs, bfs, exofs, hfs, hfsplus, jffs2, logfs, msdos,
 #.  nilfs2, omfs, sysvfs, ubifs, udf, ufs
@@ -16357,10 +15907,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man2/rename.2:238
-#, fuzzy, no-wrap
-#| msgid "B<O_DIRECT> (since Linux 3.4)"
+#, no-wrap
 msgid "B<RENAME_WHITEOUT> (since Linux 3.18)"
-msgstr "B<O_DIRECT> (Linux 3.4 以降)"
+msgstr "B<RENAME_WHITEOUT> (Linux 3.18 以降)"
 
 #.  commit 0d7a855526dd672e114aff2ac22b60fc6f155b08
 #.  commit 787fb6bc9682ec7c05fb5d9561b57100fbc1cc41
@@ -16599,22 +16148,14 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/rename.2:480
-#, fuzzy
-#| msgid "An invalid flag value was specified in I<flags>."
 msgid "An invalid flag was specified in I<flags>."
 msgstr "無効なフラグ値が I<flags> に指定された。"
 
 #. type: Plain text
 #: build/C/man2/rename.2:488
-#, fuzzy
-#| msgid ""
-#| "An invalid flag was specified in I<flags>, or both B<RENAME_NOREPLACE> "
-#| "and B<RENAME_EXCHANGE> were specified."
 msgid ""
 "Both B<RENAME_NOREPLACE> and B<RENAME_EXCHANGE> were specified in I<flags>."
-msgstr ""
-"I<flags> に無効なフラグが指定された。 B<RENAME_NOREPLACE> と "
-"B<RENAME_EXCHANGE> の両方が指定された。"
+msgstr "B<RENAME_NOREPLACE> と B<RENAME_EXCHANGE> の両方が I<flags> に指定された。"
 
 #. type: Plain text
 #: build/C/man2/rename.2:496
@@ -16635,16 +16176,10 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/rename.2:516
-#, fuzzy
-#| msgid ""
-#| "B<AT_EMPTY_PATH> was specified in I<flags>, but the caller did not have "
-#| "the B<CAP_DAC_READ_SEARCH> capability."
 msgid ""
 "B<RENAME_WHITEOUT> was specified in I<flags>, but the caller does not have "
 "the B<CAP_MKNOD> capability."
-msgstr ""
-"B<AT_EMPTY_PATH> が I<flags> に指定されたが、呼び出し元が "
-"B<CAP_DAC_READ_SEARCH> ケーパビリティを持っていなかった。"
+msgstr "B<RENAME_WHITEOUT> が I<flags> に指定されたが、呼び出し元が B<CAP_MKNOD> ケーパビリティを持っていない。"
 
 #. type: Plain text
 #: build/C/man2/rename.2:520
@@ -16657,16 +16192,10 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/rename.2:523
-#, fuzzy
-#| msgid ""
-#| "B<renameat>()  was added to Linux in kernel 2.6.16; library support was "
-#| "added to glibc in version 2.4."
 msgid ""
 "B<renameat2>()  was added to Linux in kernel 3.15; library support was added "
 "in glibc 2.28."
-msgstr ""
-"B<renameat>()  はカーネル 2.6.16 で Linux に追加された。 ライブラリによるサ"
-"ポートはバージョン 2.4 で glibc に追加された。"
+msgstr "B<renameat2>()  はカーネル 3.15 で Linux に追加された。 ライブラリによるサポートは glibc 2.28 で追加された。"
 
 #. type: Plain text
 #: build/C/man2/rename.2:526
@@ -16714,16 +16243,10 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/rename.2:571
-#, fuzzy
-#| msgid ""
-#| "B<mv>(1), B<chmod>(2), B<link>(2), B<symlink>(2), B<unlink>(2), "
-#| "B<path_resolution>(7), B<symlink>(7)"
 msgid ""
 "B<mv>(1), B<rename>(1), B<chmod>(2), B<link>(2), B<symlink>(2), "
 "B<unlink>(2), B<path_resolution>(7), B<symlink>(7)"
-msgstr ""
-"B<mv>(1), B<chmod>(2), B<link>(2), B<symlink>(2), B<unlink>(2), "
-"B<path_resolution>(7), B<symlink>(7)"
+msgstr " B<mv>(1), B<rename>(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
@@ -16763,11 +16286,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/rmdir.2:64
-#, fuzzy
-#| msgid ""
-#| "I<pathname> is currently in use by the system or some process that "
-#| "prevents its removal.  On Linux this means I<pathname> is currently used "
-#| "as a mount point or is the root directory of the calling process."
 msgid ""
 "I<pathname> is currently in use by the system or some process that prevents "
 "its removal.  On Linux, this means I<pathname> is currently used as a mount "
@@ -16800,19 +16318,11 @@ msgstr "B<ENOTEMPTY>"
 #.  POSIX.1-2001, POSIX.1-2008
 #. type: Plain text
 #: build/C/man2/rmdir.2:108
-#, fuzzy
-#| msgid ""
-#| "I<pathname> contains entries other than I<.> and I<..> ; or, I<pathname> "
-#| "has I<..> as its final component.  POSIX.1-2001 also allows B<EEXIST> for "
-#| "this condition."
 msgid ""
 "I<pathname> contains entries other than I<.> and I<..> ; or, I<pathname> has "
 "I<..> as its final component.  POSIX.1 also allows B<EEXIST> for this "
 "condition."
-msgstr ""
-"ディレクトリ I<pathname> に I<.> と I<..> 以外のエントリーがある。または、 "
-"I<pathname> を構成する最後の要素が I<..> である。 POSIX.1-2001 は、この状況"
-"で B<EEXIST> を返すことを認めている。"
+msgstr "ディレクトリ I<pathname> に I<.> と I<..> 以外のエントリーがある。または、 I<pathname> を構成する最後の要素が I<..> である。 POSIX.1 は、この状況で B<EEXIST> を返すことを認めている。"
 
 #. type: Plain text
 #: build/C/man2/rmdir.2:119
@@ -16903,10 +16413,8 @@ msgstr "B<vscanf>(), B<vsscanf>(), B<vfscanf>():"
 
 #. type: Plain text
 #: build/C/man3/scanf.3:81
-#, fuzzy
-#| msgid "_POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
 msgid "_ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
-msgstr "_POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
+msgstr " _ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
 
 #. type: Plain text
 #: build/C/man3/scanf.3:100
@@ -17094,21 +16602,12 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/scanf.3:253
-#, fuzzy
-#| 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 corresponding I<pointer> argument refers to a I<long int> rather than "
-#| "a pointer to an I<int>."
 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 "
 "corresponding I<pointer> argument refers to a I<long> rather than a pointer "
 "to an I<int>."
-msgstr ""
-"I<「型修飾子」 (type modifier characters)> (省略可能)。 例えば、型修飾子 "
-"B<l> を B<%d> などの整数変換と一緒に使うと、対応する I<pointer> 引き数が "
-"I<int> ではなく I<long int> を参照していることを指定できる。"
+msgstr "I<「型修飾子」 (type modifier characters)> (省略可能)。 例えば、型修飾子 B<l> を B<%d> などの整数変換と一緒に使うと、対応する I<pointer> 引き数が I<int> ではなく I<long> を参照していることを指定できる。"
 
 #. type: Plain text
 #: build/C/man3/scanf.3:258
@@ -17154,19 +16653,11 @@ msgstr "変換指定には、以下の I<「型修飾子」> を入れること
 
 #. type: Plain text
 #: build/C/man3/scanf.3:301
-#, fuzzy
-#| 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 I<unsigned short int> (rather than I<int>)."
 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> or I<unsigned "
 "short> (rather than I<int>)."
-msgstr ""
-"変換が B<d>, B<i>, B<o>, B<u>, B<x>, B<X>, B<n> のいずれかであり、次のポイン"
-"ターが (I<int> ではなく)  I<short int> か I<unsigned short int> へのポイン"
-"ターであることを示す。"
+msgstr "変換が B<d>, B<i>, B<o>, B<u>, B<x>, B<X>, B<n> のいずれかであり、次のポインターが (I<int> ではなく)  I<short> か I<unsigned short> へのポインターであることを示す。"
 
 #. type: Plain text
 #: build/C/man3/scanf.3:309
@@ -17189,16 +16680,6 @@ msgstr ""
 #.  This use of l was introduced in Amendment 1 to ISO C90.
 #. type: Plain text
 #: build/C/man3/scanf.3:345
-#, fuzzy
-#| 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."
 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> or "
@@ -17207,14 +16688,7 @@ msgid ""
 "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."
-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> へのポイ"
-"ンターであること、または、変換が B<e>, B<f>, B<g> のうちのひとつであり次のポ"
-"インターが (I<float> ではなく)  I<double> へのポインターであることのいずれか"
-"であることを示す。 B<l> 文字を二つ指定すると、 B<L> と同じ意味となる。 B<%c> "
-"や B<%s> とともに使用すると、 パラメーターはそれぞれワイド文字やワイド文字列"
-"へのポインターであると みなされる。"
+msgstr "変換が B<d>, B<i>, B<o>, B<u>, B<x>, B<X>, B<n> か B<n> のいずれかであり次のポインターが (I<int> ではなく)  I<long> か I<unsigned long> へのポインターであること、または、変換が B<e>, B<f>, B<g> のうちのひとつであり次のポインターが (I<float> ではなく)  I<double> へのポインターであることのいずれかであることを示す。 B<l> 文字を二つ指定すると、 B<L> と同じ意味となる。 B<%c> や B<%s> とともに使用すると、 パラメーターはそれぞれワイド文字やワイド文字列へのポインターであると みなされる。"
 
 #.  MTK, Jul 05: The following is no longer true for modern
 #.  ANSI C (i.e., C99):
@@ -17458,25 +16932,6 @@ msgstr "B<\\&[>"
 
 #. type: Plain text
 #: build/C/man3/scanf.3:514
-#, fuzzy
-#| 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 enough room for all the characters in the string, plus a "
-#| "terminating null byte.  The usual skip of leading white space is "
-#| "suppressed.  The string is to be made up of characters in (or not in) a "
-#| "particular set; the set is defined by the characters between the open "
-#| "bracket B<[> character and a close bracket B<]> character.  The set "
-#| "I<excludes> those characters if the first character after the open "
-#| "bracket is a circumflex (B<^>).  To include a close bracket in the set, "
-#| "make it the first character after the open bracket 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."
 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 "
@@ -17495,29 +16950,10 @@ msgid ""
 "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> へのポインターでなければ"
-"ならず、 そこには文字列中のすべての文字と終端のヌルバイト を格納するための十"
-"分な領域がなければならない。 通常行われる先頭のホワイトスペースの読み飛ばしは"
-"行われない。 この文字列は特別な集合の中の文字で構成されている。 この集合は 開"
-"き括弧 B<[> と閉じ括弧 B<]> の間の文字で定義される。 開き括弧のあとの最初の文"
-"字が曲アクセント記号 (B<^>)  の場合、集合はこれらの文字を含まないものとな"
-"る。 閉じ括弧を集合に含ませるためには、この文字を開き括弧または 曲アクセント"
-"記号のあとの最初の文字にすればよい。 つまり、他の位置に閉じ括弧を置くと文字の"
-"集合が終る。 ハイフン B<-> もまた特殊文字である。 二つの異なる文字の間に置か"
-"れた時、この文字は、 その間にある全ての文字を集合に加える。 ハイフン自体を含"
-"ませるためには、 括弧が閉じる前の最後の一文字をハイフンにすればよい。 例え"
-"ば、 B<[^]0-9-]> は「閉じ括弧、0 〜 9、ハイフンの 3 種類を除く全ての文字」の"
-"集合を意味する。 この文字列は 集合に含まれていない (曲アクセントの場合には含"
-"まれる) 文字の 出現または確保された領域が使い切られた時に終了する。"
+msgstr "格納された文字列のうちから取り出された、 指定された文字の集合で構成される空ではない文字の列に対応する。 次のポインターは I<char> へのポインターでなければならず、 そこには文字列中のすべての文字と終端のヌルバイト を格納するための十分な領域がなければならない。 通常行われる先頭のホワイトスペースの読み飛ばしは行われない。 この文字列は特別な集合の中の文字で構成されている。 この集合は 開き括弧 B<[> と閉じ括弧 B<]> の間の文字で定義される。 開き括弧のあとの最初の文字が曲アクセント記号 (B<\\(ha>)  の場合、集合はこれらの文字を含まないものとなる。 閉じ括弧を集合に含ませるためには、この文字を開き括弧または 曲アクセント記号のあとの最初の文字にすればよい。 つまり、他の位置に閉じ括弧を置くと文字の集合が終る。 ハイフン B<-> もまた特殊文字である。 二つの異なる文字の間に置かれた時、この文字は、 その間にある全ての文字を集合に加える。 ハイフン自体を含ませるためには、 括弧が閉じる前の最後の一文字をハイフンにすればよい。 例えば、 B<[\\(ha]0-9-]> は「閉じ括弧、0 〜 9、ハイフンの 3 種類を除く全ての文字」の集合を意味する。 この文字列は 集合に含まれていない (曲アクセントの場合には含まれる) 文字の 出現または確保された領域が使い切られた時に終了する。"
 
 #. type: Plain text
 #: build/C/man3/scanf.3:522
-#, fuzzy
-#| 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>."
@@ -17556,29 +16992,14 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/scanf.3:545
-#, fuzzy
-#| 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 an early matching failure."
 msgid ""
 "On success, these functions return the number of input items successfully "
 "matched and assigned; this can be fewer than provided for, or even zero, in "
 "the event of an early matching failure."
-msgstr ""
-"これらの関数は、一致と代入が成功した入力要素の個数を返す。 返される値は渡され"
-"た変換の個数よりも少ないこともあり、 最初に一致の失敗があった場合には 0 にな"
-"ることもある。"
+msgstr "成功すると、これらの関数は、一致と代入が成功した入力要素の個数を返す。 返される値は渡された変換の個数よりも少ないこともあり、 最初に一致の失敗があった場合には 0 になることもある。"
 
 #. type: Plain text
 #: build/C/man3/scanf.3:557
-#, fuzzy
-#| 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 "
-#| "also returned if a read error occurs, in which case the error indicator "
-#| "for the stream (see B<ferror>(3))  is set, and I<errno> is set indicate "
-#| "the error."
 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 "
@@ -17643,30 +17064,33 @@ msgstr "整数変換の結果が、対応する整数型に格納できるサイ
 
 #. type: tbl table
 #: build/C/man3/scanf.3:598
-#, fuzzy, no-wrap
-#| msgid "B<vscanf>(), B<vsscanf>(), B<vfscanf>():"
+#, no-wrap
 msgid ""
 "B<scanf>(),\n"
 "B<fscanf>(),\n"
-msgstr "B<vscanf>(), B<vsscanf>(), B<vfscanf>():"
+msgstr ""
+" B<scanf>(),\n"
+"B<fscanf>(),\n"
 
 #. type: tbl table
 #: build/C/man3/scanf.3:601
-#, fuzzy, no-wrap
-#| msgid "B<vscanf>(), B<vsscanf>(), B<vfscanf>():"
+#, no-wrap
 msgid ""
 "B<sscanf>(),\n"
 "B<vscanf>(),\n"
-msgstr "B<vscanf>(), B<vsscanf>(), B<vfscanf>():"
+msgstr ""
+" B<sscanf>(),\n"
+"B<vscanf>(),\n"
 
 #. type: tbl table
 #: build/C/man3/scanf.3:604
-#, fuzzy, no-wrap
-#| msgid "B<vscanf>(), B<vsscanf>(), B<vfscanf>():"
+#, no-wrap
 msgid ""
 "B<vsscanf>(),\n"
 "B<vfscanf>()"
-msgstr "B<vscanf>(), B<vsscanf>(), B<vfscanf>():"
+msgstr ""
+" B<vsscanf>(),\n"
+"B<vfscanf>()"
 
 #. type: Plain text
 #: build/C/man3/scanf.3:617
@@ -17940,20 +17364,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/setbuf.3:89
-#, fuzzy
-#| msgid ""
-#| "The three types of buffering available are unbuffered, block buffered, "
-#| "and line buffered.  When an output stream is unbuffered, information "
-#| "appears on the destination file or terminal as soon as written; when it "
-#| "is block buffered many characters are saved up and written as a block; "
-#| "when it is line buffered characters are saved up until a newline is "
-#| "output or input is read from any stream attached to a terminal device "
-#| "(typically I<stdin>).  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 is line buffered.  The standard error "
-#| "stream I<stderr> is always unbuffered by default."
 msgid ""
 "The three types of buffering available are unbuffered, block buffered, and "
 "line buffered.  When an output stream is unbuffered, information appears on "
@@ -17963,19 +17373,7 @@ msgid ""
 "read from any stream attached to a terminal device (typically I<stdin>).  "
 "The function B<fflush>(3)  may be used to force the block out early.  (See "
 "B<fclose>(3).)"
-msgstr ""
-"バッファーリングには unbuffered, block buffered, line buffered の3つのタイプ"
-"が ある。出力ストリームのタイプが unbuffered の場合、データを書き込むとすぐに"
-"出 力先ファイルに書き込まれるかターミナルに表示される。block buffered の場"
-"合、文 字の読み書きはブロック単位でいっぺんに行われる。line buffered の場"
-"合、 新しい行が出力されるか、ターミナルデバイスに接続しているストリーム (通"
-"常、I<stdin>) から新しい行が入力されるまで文字がたくわえられる。 ブロックを強"
-"制的に出力するには B<fflush>(3)  関数を使う。 (B<fclose>(3)  を参照のこと) 通"
-"常、ファイルはすべて block buffered である。ファイルに対して 初めて入出力処理"
-"を行うと B<malloc>(3)  が呼び出されバッファーが獲得される。もし ストリームが "
-"(通常、 I<stdout> がそうであるように) ターミナルを参照する場合には、ファイル"
-"は line buffered と なる。標準エラー出力 I<stderr> はデフォルトでは常に "
-"unbuffered である。"
+msgstr "バッファーリングには unbuffered, block buffered, line buffered の3つのタイプが ある。出力ストリームのタイプが unbuffered の場合、データを書き込むとすぐに出 力先ファイルに書き込まれるかターミナルに表示される。block buffered の場合、文 字の読み書きはブロック単位でいっぺんに行われる。line buffered の場合、 新しい行が出力されるか、ターミナルデバイスに接続しているストリーム (通常、I<stdin>) から新しい行が入力されるまで文字がたくわえられる。 ブロックを強制的に出力するには B<fflush>(3)  関数を使う。 (B<fclose>(3) を参照のこと)"
 
 #. type: Plain text
 #: build/C/man3/setbuf.3:97
@@ -17983,7 +17381,7 @@ msgid ""
 "Normally all files are block buffered.  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 ""
+msgstr "通常、ファイルはすべて block buffered である。ストリームがターミナルを参照している場合 (I<stdout> は通常ターミナルを参照している)、ストリームは line buffered となる。標準エラー出力 I<stderr> はデフォルトでは常に unbuffered である。"
 
 #. type: Plain text
 #: build/C/man3/setbuf.3:104
@@ -18092,21 +17490,23 @@ msgstr "その他の関数は値を返さない。"
 
 #. type: tbl table
 #: build/C/man3/setbuf.3:176
-#, fuzzy, no-wrap
-#| msgid "B<setbuffer>(), B<setlinebuf>(): _BSD_SOURCE"
+#, no-wrap
 msgid ""
 "B<setbuf>(),\n"
 "B<setbuffer>(),\n"
-msgstr "B<setbuffer>(), B<setlinebuf>(): _BSD_SOURCE"
+msgstr ""
+" B<setbuf>(),\n"
+"B<setbuffer>(),\n"
 
 #. type: tbl table
 #: build/C/man3/setbuf.3:179
-#, fuzzy, no-wrap
-#| msgid "B<getline>(), B<getdelim>():"
+#, no-wrap
 msgid ""
 "B<setlinebuf>(),\n"
 "B<setvbuf>()"
-msgstr "B<getline>(), B<getdelim>():"
+msgstr ""
+" B<setlinebuf>(),\n"
+"B<setvbuf>()"
 
 #. type: Plain text
 #: build/C/man3/setbuf.3:187
@@ -18165,16 +17565,10 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/setbuf.3:226
-#, fuzzy
-#| msgid ""
-#| "B<fclose>(3), B<fflush>(3), B<fopen>(3), B<fread>(3), B<malloc>(3), "
-#| "B<printf>(3), B<puts>(3)"
 msgid ""
 "B<stdbuf>(1), B<fclose>(3), B<fflush>(3), B<fopen>(3), B<fread>(3), "
 "B<malloc>(3), B<printf>(3), B<puts>(3)"
-msgstr ""
-"B<fclose>(3), B<fflush>(3), B<fopen>(3), B<fread>(3), B<malloc>(3), "
-"B<printf>(3), B<puts>(3)"
+msgstr "B<stdbuf>(1), B<fclose>(3), B<fflush>(3), B<fopen>(3), B<fread>(3), B<malloc>(3), B<printf>(3), B<puts>(3)"
 
 #. type: TH
 #: build/C/man3/stdin.3:13
@@ -18201,14 +17595,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/stdin.3:35
-#, fuzzy
-#| 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 diagnostic or error messages.  These are typically attached to "
-#| "the user's terminal (see B<tty>(4)  but might instead refer to files or "
-#| "other devices, depending on what the parent process chose to set up.  "
-#| "(See also the \"Redirection\" section of B<sh>(1).)"
 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 "
@@ -18216,12 +17602,7 @@ msgid ""
 "terminal (see B<tty>(4))  but might instead refer to files or other devices, "
 "depending on what the parent process chose to set up.  (See also the "
 "\"Redirection\" section of B<sh>(1).)"
-msgstr ""
-"標準の環境では、 UNIX プログラムは起動時に、オープンされているストリー ムを "
-"3 つ与えられる。それぞれ入力用、出力用、診断メッセージやエラーメッ セージの表"
-"示用のものである。これらは通常ユーザーの端末 (B<tty>(4)  を見よ) に接続されて"
-"いるが、親プロセスでの選択・設定によってファイル や他のデバイスに関連づけられ"
-"ていることもある (B<sh>(1)  の「リダイレクション」セクションも参照のこと)。"
+msgstr "標準の環境では、 UNIX プログラムは起動時に、オープンされているストリー ムを 3 つ与えられる。それぞれ入力用、出力用、診断メッセージやエラーメッ セージの表示用のものである。これらは通常ユーザーの端末 (B<tty>(4) を参照) に接続されているが、親プロセスでの選択・設定によってファイル や他のデバイスに関連づけられていることもある (B<sh>(1)  の「リダイレクション」セクションも参照のこと)。"
 
 #. type: Plain text
 #: build/C/man3/stdin.3:45
@@ -18464,15 +17845,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/stdio.3:120
-#, fuzzy
-#| 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 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."
 msgid ""
 "At program startup, three text streams are predefined and need not be opened "
 "explicitly: I<standard input> (for reading conventional input), I<standard "
@@ -18510,25 +17882,13 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/stdio.3:142
-#, fuzzy
-#| 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 SYNOPSIS sections of the following manual pages indicate which "
-#| "include files are to be used, what the compiler declaration for the "
-#| "function looks like and which external variables are of interest."
 msgid ""
 "The I<stdio> library is a part of the library B<libc> and routines are "
 "automatically loaded as needed by B<cc>(1).  The SYNOPSIS sections of the "
 "following manual pages indicate which include files are to be used, what the "
 "compiler declaration for the function looks like and which external "
 "variables are of interest."
-msgstr ""
-"I<stdio> ライブラリは B<libc> ライブラリの一部であり、ルーチンは コンパイ"
-"ラー B<cc>(1)  と B<pc>(1)  によって必要な時に自動的に読み込まれる。 後述す"
-"る man ページ中の「書式」の節には、 どのインクルードファイルを使用しなければ"
-"ならないか、 その関数のコンパイラー宣言はどのようなものか、 どのような外部変"
-"数が関係するのかが示されている。"
+msgstr "I<stdio> ライブラリは B<libc> ライブラリの一部であり、ルーチンは B<cc>(1) によって必要な時に自動的に読み込まれる。 後述する man ページ中の「書式」の節には、 どのインクルードファイルを使用しなければならないか、 その関数のコンパイラー宣言はどのようなものか、 どのような外部変数が関係するのかが示されている。"
 
 #.  Not on Linux: .BR fropen ,
 #.  Not on Linux: .BR fwopen ,
@@ -18580,10 +17940,9 @@ msgstr "_"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:189
-#, fuzzy, no-wrap
-#| msgid "clearerr"
+#, no-wrap
 msgid "B<clearerr>(3)"
-msgstr "clearerr"
+msgstr " B<clearerr>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:189 build/C/man3/stdio.3:192 build/C/man3/stdio.3:193
@@ -18593,10 +17952,9 @@ msgstr "ストリームの状態の確認とリセット"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:190
-#, fuzzy, no-wrap
-#| msgid "B<fseek>(3)"
+#, no-wrap
 msgid "B<fclose>(3)"
-msgstr "B<fseek>(3)"
+msgstr " B<fclose>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:190
@@ -18606,10 +17964,9 @@ msgstr "ストリームをクローズする"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:191
-#, fuzzy, no-wrap
-#| msgid "B<openat>():"
+#, no-wrap
 msgid "B<fdopen>(3)"
-msgstr "B<openat>():"
+msgstr " B<fdopen>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:191 build/C/man3/stdio.3:199 build/C/man3/stdio.3:205
@@ -18619,24 +17976,21 @@ msgstr "ストリームをオープンする"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:192
-#, fuzzy, no-wrap
-#| msgid "B<fseek>(3)"
+#, no-wrap
 msgid "B<feof>(3)"
-msgstr "B<fseek>(3)"
+msgstr " B<feof>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:193
-#, fuzzy, no-wrap
-#| msgid "B<fseek>(3)"
+#, no-wrap
 msgid "B<ferror>(3)"
-msgstr "B<fseek>(3)"
+msgstr " B<ferror>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:194
-#, fuzzy, no-wrap
-#| msgid "B<fseek>(3)"
+#, no-wrap
 msgid "B<fflush>(3)"
-msgstr "B<fseek>(3)"
+msgstr " B<fflush>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:194 build/C/man3/stdio.3:201
@@ -18646,10 +18000,9 @@ msgstr "ストリームをフラッシュする"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:195
-#, fuzzy, no-wrap
-#| msgid "B<fseek>(3)"
+#, no-wrap
 msgid "B<fgetc>(3)"
-msgstr "B<fseek>(3)"
+msgstr " B<fgetc>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:195 build/C/man3/stdio.3:211 build/C/man3/stdio.3:212
@@ -18660,10 +18013,9 @@ msgstr "次の文字または語を入力ストリームから取得する"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:196
-#, fuzzy, no-wrap
-#| msgid "fgetpos"
+#, no-wrap
 msgid "B<fgetpos>(3)"
-msgstr "fgetpos"
+msgstr " B<fgetpos>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:196 build/C/man3/stdio.3:207 build/C/man3/stdio.3:208
@@ -18674,10 +18026,9 @@ msgstr "ストリームの位置指示子を移動する"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:197
-#, fuzzy, no-wrap
-#| msgid "B<fseek>(3)"
+#, no-wrap
 msgid "B<fgets>(3)"
-msgstr "B<fseek>(3)"
+msgstr " B<fgets>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:197 build/C/man3/stdio.3:213
@@ -18687,10 +18038,9 @@ msgstr "行を入力ストリームから取得する"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:198
-#, fuzzy, no-wrap
-#| msgid "B<fseek>(3)"
+#, no-wrap
 msgid "B<fileno>(3)"
-msgstr "B<fseek>(3)"
+msgstr " B<fileno>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:198
@@ -18700,17 +18050,15 @@ msgstr "引き数であるストリームの整数値のディスクリプター
 
 #. type: tbl table
 #: build/C/man3/stdio.3:199
-#, fuzzy, no-wrap
-#| msgid "B<openat>():"
+#, no-wrap
 msgid "B<fopen>(3)"
-msgstr "B<openat>():"
+msgstr " B<fopen>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:200
-#, fuzzy, no-wrap
-#| msgid "B<printf>(3)"
+#, no-wrap
 msgid "B<fprintf>(3)"
-msgstr "B<printf>(3)"
+msgstr " B<fprintf>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:200 build/C/man3/stdio.3:217 build/C/man3/stdio.3:229
@@ -18721,17 +18069,15 @@ msgstr "書式付き出力変換"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:201
-#, fuzzy, no-wrap
-#| msgid "B<fseek>(3)"
+#, no-wrap
 msgid "B<fpurge>(3)"
-msgstr "B<fseek>(3)"
+msgstr " B<fpurge>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:202
-#, fuzzy, no-wrap
-#| msgid "B<printf>(3)"
+#, no-wrap
 msgid "B<fputc>(3)"
-msgstr "B<printf>(3)"
+msgstr " B<fputc>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:202 build/C/man3/stdio.3:218 build/C/man3/stdio.3:219
@@ -18742,10 +18088,9 @@ msgstr "文字または語をストリームに出力する"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:203
-#, fuzzy, no-wrap
-#| msgid "B<fseek>(3)"
+#, no-wrap
 msgid "B<fputs>(3)"
-msgstr "B<fseek>(3)"
+msgstr " B<fputs>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:203 build/C/man3/stdio.3:220
@@ -18755,10 +18100,9 @@ msgstr "行をストリームに出力する"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:204
-#, fuzzy, no-wrap
-#| msgid "B<fseek>(3)"
+#, no-wrap
 msgid "B<fread>(3)"
-msgstr "B<fseek>(3)"
+msgstr " B<fread>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:204 build/C/man3/stdio.3:210
@@ -18768,17 +18112,15 @@ msgstr "バイナリーストリーム入出力"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:205
-#, fuzzy, no-wrap
-#| msgid "B<fseek>(3)"
+#, no-wrap
 msgid "B<freopen>(3)"
-msgstr "B<fseek>(3)"
+msgstr " B<freopen>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:206
-#, fuzzy, no-wrap
-#| msgid "B<fseek>(3)"
+#, no-wrap
 msgid "B<fscanf>(3)"
-msgstr "B<fseek>(3)"
+msgstr " B<fscanf>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:206 build/C/man3/stdio.3:224 build/C/man3/stdio.3:230
@@ -18789,59 +18131,51 @@ msgstr "書式付き入力変換"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:208
-#, fuzzy, no-wrap
-#| msgid "B<fseek>(3)"
+#, no-wrap
 msgid "B<fsetpos>(3)"
-msgstr "B<fseek>(3)"
+msgstr " B<fsetpos>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:209
-#, fuzzy, no-wrap
-#| msgid "B<fseek>(3)"
+#, no-wrap
 msgid "B<ftell>(3)"
-msgstr "B<fseek>(3)"
+msgstr " B<ftell>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:210
-#, fuzzy, no-wrap
-#| msgid "B<printf>(3)"
+#, no-wrap
 msgid "B<fwrite>(3)"
-msgstr "B<printf>(3)"
+msgstr " B<fwrite>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:211
-#, fuzzy, no-wrap
-#| msgid "B<fseek>(3)"
+#, no-wrap
 msgid "B<getc>(3)"
-msgstr "B<fseek>(3)"
+msgstr " B<getc>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:212
-#, fuzzy, no-wrap
-#| msgid "getchar"
+#, no-wrap
 msgid "B<getchar>(3)"
-msgstr "getchar"
+msgstr " B<getchar>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:213
-#, fuzzy, no-wrap
-#| msgid "B<fseek>(3)"
+#, no-wrap
 msgid "B<gets>(3)"
-msgstr "B<fseek>(3)"
+msgstr " B<gets>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:214
-#, fuzzy, no-wrap
-#| msgid "B<fseek>(3)"
+#, no-wrap
 msgid "B<getw>(3)"
-msgstr "B<fseek>(3)"
+msgstr " B<getw>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:215
-#, fuzzy, no-wrap
-#| msgid "mktemp"
+#, no-wrap
 msgid "B<mktemp>(3)"
-msgstr "mktemp"
+msgstr " B<mktemp>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:215
@@ -18851,10 +18185,9 @@ msgstr "他と重ならないテンポラリファイル名を作る"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:216
-#, fuzzy, no-wrap
-#| msgid "perror"
+#, no-wrap
 msgid "B<perror>(3)"
-msgstr "perror"
+msgstr " B<perror>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:216 build/C/man3/stdio.3:231 build/C/man3/stdio.3:232
@@ -18871,38 +18204,33 @@ msgstr "B<printf>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:218
-#, fuzzy, no-wrap
-#| msgid "B<printf>(3)"
+#, no-wrap
 msgid "B<putc>(3)"
-msgstr "B<printf>(3)"
+msgstr " B<putc>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:219
-#, fuzzy, no-wrap
-#| msgid "putchar"
+#, no-wrap
 msgid "B<putchar>(3)"
-msgstr "putchar"
+msgstr " B<putchar>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:220
-#, fuzzy, no-wrap
-#| msgid "B<printf>(3)"
+#, no-wrap
 msgid "B<puts>(3)"
-msgstr "B<printf>(3)"
+msgstr " B<puts>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:221
-#, fuzzy, no-wrap
-#| msgid "B<printf>(3)"
+#, no-wrap
 msgid "B<putw>(3)"
-msgstr "B<printf>(3)"
+msgstr " B<putw>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:222
-#, fuzzy, no-wrap
-#| msgid "B<fseek>(3)"
+#, no-wrap
 msgid "B<remove>(3)"
-msgstr "B<fseek>(3)"
+msgstr " B<remove>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:222
@@ -18912,24 +18240,21 @@ msgstr "ディレクトリエントリーを削除する"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:223
-#, fuzzy, no-wrap
-#| msgid "B<printf>(3)"
+#, no-wrap
 msgid "B<rewind>(3)"
-msgstr "B<printf>(3)"
+msgstr " B<rewind>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:224
-#, fuzzy, no-wrap
-#| msgid "B<printf>(3)"
+#, no-wrap
 msgid "B<scanf>(3)"
-msgstr "B<printf>(3)"
+msgstr " B<scanf>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:225
-#, fuzzy, no-wrap
-#| msgid "B<fseek>(3)"
+#, no-wrap
 msgid "B<setbuf>(3)"
-msgstr "B<fseek>(3)"
+msgstr " B<setbuf>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:225 build/C/man3/stdio.3:226 build/C/man3/stdio.3:227
@@ -18940,66 +18265,57 @@ msgstr "ストリームのバッファーリングの操作"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:226
-#, fuzzy, no-wrap
-#| msgid "setbuffer"
+#, no-wrap
 msgid "B<setbuffer>(3)"
-msgstr "setbuffer"
+msgstr " B<setbuffer>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:227
-#, fuzzy, no-wrap
-#| msgid "setlinebuf"
+#, no-wrap
 msgid "B<setlinebuf>(3)"
-msgstr "setlinebuf"
+msgstr " B<setlinebuf>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:228
-#, fuzzy, no-wrap
-#| msgid "setvbuf"
+#, no-wrap
 msgid "B<setvbuf>(3)"
-msgstr "setvbuf"
+msgstr " B<setvbuf>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:229
-#, fuzzy, no-wrap
-#| msgid "B<printf>(3)"
+#, no-wrap
 msgid "B<sprintf>(3)"
-msgstr "B<printf>(3)"
+msgstr " B<sprintf>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:230
-#, fuzzy, no-wrap
-#| msgid "sscanf"
+#, no-wrap
 msgid "B<sscanf>(3)"
-msgstr "sscanf"
+msgstr " B<sscanf>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:231
-#, fuzzy, no-wrap
-#| msgid "strerror"
+#, no-wrap
 msgid "B<strerror>(3)"
-msgstr "strerror"
+msgstr " B<strerror>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:232
-#, fuzzy, no-wrap
-#| msgid "sys_errlist"
+#, no-wrap
 msgid "B<sys_errlist>(3)"
-msgstr "sys_errlist"
+msgstr " B<sys_errlist>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:233
-#, fuzzy, no-wrap
-#| msgid "sys_nerr"
+#, no-wrap
 msgid "B<sys_nerr>(3)"
-msgstr "sys_nerr"
+msgstr " B<sys_nerr>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:234
-#, fuzzy, no-wrap
-#| msgid "B<ttyname>(3)"
+#, no-wrap
 msgid "B<tempnam>(3)"
-msgstr "B<ttyname>(3)"
+msgstr " B<tempnam>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:234 build/C/man3/stdio.3:235 build/C/man3/stdio.3:236
@@ -19009,24 +18325,21 @@ msgstr "テンポラリファイルの操作"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:235
-#, fuzzy, no-wrap
-#| msgid "tmpfile"
+#, no-wrap
 msgid "B<tmpfile>(3)"
-msgstr "tmpfile"
+msgstr " B<tmpfile>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:236
-#, fuzzy, no-wrap
-#| msgid "B<ttyname>(3)"
+#, no-wrap
 msgid "B<tmpnam>(3)"
-msgstr "B<ttyname>(3)"
+msgstr " B<tmpnam>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:237
-#, fuzzy, no-wrap
-#| msgid "ungetc"
+#, no-wrap
 msgid "B<ungetc>(3)"
-msgstr "ungetc"
+msgstr " B<ungetc>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:237
@@ -19036,45 +18349,39 @@ msgstr "入力ストリームへ 1 文字戻す"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:238
-#, fuzzy, no-wrap
-#| msgid "B<printf>(3)"
+#, no-wrap
 msgid "B<vfprintf>(3)"
-msgstr "B<printf>(3)"
+msgstr " B<vfprintf>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:239
-#, fuzzy, no-wrap
-#| msgid "vfscanf"
+#, no-wrap
 msgid "B<vfscanf>(3)"
-msgstr "vfscanf"
+msgstr " B<vfscanf>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:240
-#, fuzzy, no-wrap
-#| msgid "B<printf>(3)"
+#, no-wrap
 msgid "B<vprintf>(3)"
-msgstr "B<printf>(3)"
+msgstr " B<vprintf>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:241
-#, fuzzy, no-wrap
-#| msgid "vscanf"
+#, no-wrap
 msgid "B<vscanf>(3)"
-msgstr "vscanf"
+msgstr " B<vscanf>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:242
-#, fuzzy, no-wrap
-#| msgid "B<printf>(3)"
+#, no-wrap
 msgid "B<vsprintf>(3)"
-msgstr "B<printf>(3)"
+msgstr " B<vsprintf>(3)"
 
 #. type: tbl table
 #: build/C/man3/stdio.3:243
-#, fuzzy, no-wrap
-#| msgid "vsscanf"
+#, no-wrap
 msgid "B<vsscanf>(3)"
-msgstr "vsscanf"
+msgstr " B<vsscanf>(3)"
 
 #. type: Plain text
 #: build/C/man3/stdio.3:249
@@ -19098,10 +18405,9 @@ msgstr "STDIO_EXT"
 
 #. type: TH
 #: build/C/man3/stdio_ext.3:25
-#, fuzzy, no-wrap
-#| msgid "2015-01-22"
+#, no-wrap
 msgid "2015-03-02"
-msgstr "2015-01-22"
+msgstr "2015-03-02"
 
 #. type: Plain text
 #: build/C/man3/stdio_ext.3:30
@@ -19116,32 +18422,17 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/stdio_ext.3:34
-#, fuzzy, no-wrap
-#| msgid ""
-#| "B<#include E<lt>stdio.hE<gt>>\n"
-#| "B<#include E<lt>wchar.hE<gt>>\n"
+#, no-wrap
 msgid ""
 "B<#include E<lt>stdio.hE<gt>>\n"
 "B<#include E<lt>stdio_ext.hE<gt>>\n"
 msgstr ""
 "B<#include E<lt>stdio.hE<gt>>\n"
-"B<#include E<lt>wchar.hE<gt>>\n"
+"B<#include E<lt>stdio_ext.hE<gt>>\n"
 
 #. type: Plain text
 #: build/C/man3/stdio_ext.3:45
-#, fuzzy, no-wrap
-#| msgid ""
-#| "B<void clearerr_unlocked(FILE *>I<stream>B<);>\n"
-#| "B<int feof_unlocked(FILE *>I<stream>B<);>\n"
-#| "B<int ferror_unlocked(FILE *>I<stream>B<);>\n"
-#| "B<int fileno_unlocked(FILE *>I<stream>B<);>\n"
-#| "B<int fflush_unlocked(FILE *>I<stream>B<);>\n"
-#| "B<int fgetc_unlocked(FILE *>I<stream>B<);>\n"
-#| "B<int fputc_unlocked(int >I<c>B<, FILE *>I<stream>B<);>\n"
-#| "B<size_t fread_unlocked(void *>I<ptr>B<, size_t >I<size>B<, size_t >I<n>B<,>\n"
-#| "B<                      FILE *>I<stream>B<);>\n"
-#| "B<size_t fwrite_unlocked(const void *>I<ptr>B<, size_t >I<size>B<, size_t >I<n>B<,>\n"
-#| "B<                      FILE *>I<stream>B<);>\n"
+#, no-wrap
 msgid ""
 "B<size_t __fbufsize(FILE *>I<stream>B<);>\n"
 "B<size_t __fpending(FILE *>I<stream>B<);>\n"
@@ -19154,17 +18445,16 @@ msgid ""
 "B<void _flushlbf(void);>\n"
 "B<void __fpurge(FILE *>I<stream>B<);>\n"
 msgstr ""
-"B<void clearerr_unlocked(FILE *>I<stream>B<);>\n"
-"B<int feof_unlocked(FILE *>I<stream>B<);>\n"
-"B<int ferror_unlocked(FILE *>I<stream>B<);>\n"
-"B<int fileno_unlocked(FILE *>I<stream>B<);>\n"
-"B<int fflush_unlocked(FILE *>I<stream>B<);>\n"
-"B<int fgetc_unlocked(FILE *>I<stream>B<);>\n"
-"B<int fputc_unlocked(int >I<c>B<, FILE *>I<stream>B<);>\n"
-"B<size_t fread_unlocked(void *>I<ptr>B<, size_t >I<size>B<, size_t >I<n>B<,>\n"
-"B<                      FILE *>I<stream>B<);>\n"
-"B<size_t fwrite_unlocked(const void *>I<ptr>B<, size_t >I<size>B<, size_t >I<n>B<,>\n"
-"B<                      FILE *>I<stream>B<);>\n"
+"B<size_t __fbufsize(FILE *>I<stream>B<);>\n"
+"B<size_t __fpending(FILE *>I<stream>B<);>\n"
+"B<int __flbf(FILE *>I<stream>B<);>\n"
+"B<int __freadable(FILE *>I<stream>B<);>\n"
+"B<int __fwritable(FILE *>I<stream>B<);>\n"
+"B<int __freading(FILE *>I<stream>B<);>\n"
+"B<int __fwriting(FILE *>I<stream>B<);>\n"
+"B<int __fsetlocking(FILE *>I<stream>B<, int >I<type>B<);>\n"
+"B<void _flushlbf(void);>\n"
+"B<void __fpurge(FILE *>I<stream>B<);>\n"
 
 #. type: Plain text
 #: build/C/man3/stdio_ext.3:51
@@ -19545,16 +18835,10 @@ msgstr "I<target> または I<linkpath> が長過ぎる。"
 
 #. type: Plain text
 #: build/C/man2/symlink.2:187
-#, fuzzy
-#| msgid ""
-#| "A directory component in I<linkpath> does not exist or is a dangling "
-#| "symbolic link, or I<target> is the empty string."
 msgid ""
 "A directory component in I<linkpath> does not exist or is a dangling "
 "symbolic link, or I<target> or I<linkpath> is an empty string."
-msgstr ""
-"I<linkpath> に含まれるディレクトリ部分が存在しないか、壊れたリンクであるか、 "
-"I<target> が空文字列である。"
+msgstr "I<linkpath> に含まれるディレクトリ部分が存在しないか、壊れたリンクであるか、 I<target> か I<linkpath> が空文字列である。"
 
 #. type: Plain text
 #: build/C/man2/symlink.2:199
@@ -19646,37 +18930,20 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/symlink.2:263
-#, fuzzy
-#| msgid ""
-#| "On older kernels where B<symlinkat>()  is unavailable, the glibc wrapper "
-#| "function falls back to the use of B<symlink>(2).  When I<linkpath> is a "
-#| "relative pathname, glibc constructs a pathname based on the symbolic link "
-#| "in I</proc/self/fd> that corresponds to the I<newdirfd> argument."
 msgid ""
 "On older kernels where B<symlinkat>()  is unavailable, the glibc wrapper "
 "function falls back to the use of B<symlink>().  When I<linkpath> is a "
 "relative pathname, glibc constructs a pathname based on the symbolic link in "
 "I</proc/self/fd> that corresponds to the I<newdirfd> argument."
-msgstr ""
-"B<symlinkat>() が利用できない古いカーネルでは、 glibc ラッパー関数は "
-"B<symlink>(2) を使用するモードにフォールバックする。 I<pathname> が相対パスの"
-"場合、 glibc は I<newdirfd> 引き数に対応する I</proc/self/fd> のシンボリック"
-"リンクに基づいてパス名を構成する。"
+msgstr "B<symlinkat>() が利用できない古いカーネルでは、 glibc ラッパー関数は B<symlink>() を使用するモードにフォールバックする。 I<pathname> が相対パスの場合、 glibc は I<newdirfd> 引き数に対応する I</proc/self/fd> のシンボリックリンクに基づいてパス名を構成する。"
 
 #. type: Plain text
 #: build/C/man2/symlink.2:275
-#, fuzzy
-#| msgid ""
-#| "B<ln>(1), B<lchown>(2), B<link>(2), B<lstat>(2), B<open>(2), "
-#| "B<readlink>(2), B<rename>(2), B<unlink>(2), B<path_resolution>(7), "
-#| "B<symlink>(7)"
 msgid ""
 "B<ln>(1), B<namei>(1), B<lchown>(2), B<link>(2), B<lstat>(2), B<open>(2), "
 "B<readlink>(2), 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), "
-"B<rename>(2), B<unlink>(2), B<path_resolution>(7), B<symlink>(7)"
+msgstr "B<ln>(1), B<namei>(1), B<lchown>(2), B<link>(2), B<lstat>(2), B<open>(2), B<readlink>(2), B<rename>(2), B<unlink>(2), B<path_resolution>(7), B<symlink>(7)"
 
 #. type: Plain text
 #: build/C/man7/symlink.7:40
@@ -19825,19 +19092,11 @@ msgstr ""
 #.  Linux does not currently implement an lchmod(2).
 #. type: Plain text
 #: build/C/man7/symlink.7:126
-#, fuzzy
-#| 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."
 msgid ""
 "On Linux, the permissions of an ordinary 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 ""
-"Linux では、シンボリックリンクのアクセス許可 (permission) はどの操作でも使用"
-"されない。 アクセス許可は常に 0777 (すべてのユーザーカテゴリーにおいて読み出"
-"し、書き込み、実行が可能) で、変更できない。"
+msgstr "Linux では、通常のシンボリックリンクのアクセス許可 (permission) はどの操作でも使用されない。 アクセス許可は常に 0777 (すべてのユーザーカテゴリーにおいて読み出し、書き込み、実行が可能) で、変更できない。"
 
 #. type: Plain text
 #: build/C/man7/symlink.7:130
@@ -19903,7 +19162,7 @@ msgstr ""
 #: build/C/man7/symlink.7:178
 #, no-wrap
 msgid "Handling of symbolic links by system calls and commands"
-msgstr "システムコールやコマンドによるシンボリックリンクの取り扱い"
+msgstr "システムコールやコマンドによるシンボリックリンクの扱い"
 
 #. type: Plain text
 #: build/C/man7/symlink.7:193
@@ -19989,10 +19248,9 @@ msgstr ""
 
 #. type: SS
 #: build/C/man7/symlink.7:220
-#, fuzzy, no-wrap
-#| msgid "Handling of symbolic links by system calls and commands"
+#, no-wrap
 msgid "Treatment of symbolic links in system calls"
-msgstr "ã\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83«ã\82\84ã\82³ã\83\9eã\83³ã\83\89ã\81«ã\82\88るシンボリックリンクの取り扱い"
+msgstr "ã\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83«ã\81«ã\81\8aã\81\91るシンボリックリンクの取り扱い"
 
 #. type: Plain text
 #: build/C/man7/symlink.7:223
@@ -20095,14 +19353,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man7/symlink.7:301
-#, fuzzy
-#| 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."
 msgid ""
 "B<link>(2)  warrants special discussion.  POSIX.1-2001 specifies that "
 "B<link>(2)  should dereference I<oldpath> if it is a symbolic link.  "
@@ -20110,13 +19360,7 @@ msgid ""
 "POSIX.1-2001 specified behavior can be obtained with suitable compiler "
 "options.)  POSIX.1-2008 changed the specification to allow either behavior "
 "in an implementation."
-msgstr ""
-"B<link>(2) については特別に議論が必要である。 POSIX.1-2001 では B<link>(2) "
-"は I<oldpath> がシンボリックリンクであればこれを展開するように規定している。 "
-"しかしながら、 Linux はシンボリックリンクを展開しない。 (デフォルトでは "
-"Solaris も同じだが、 適切なコンパイラーオプションを指定することで "
-"POSIX.1-2001 で規定された動作をさせることができる。) 今後のバージョンの "
-"POSIX.1 では、どちらの動作の実装も認められるように規定が変更される。"
+msgstr "B<link>(2) については特別に議論が必要である。 POSIX.1-2001 では B<link>(2) は I<oldpath> がシンボリックリンクであればこれを展開するように規定している。 しかしながら、 Linux はシンボリックリンクを展開しない。 (デフォルトでは Solaris も同じだが、 適切なコンパイラーオプションを指定することで POSIX.1-2001 で規定された動作をさせることができる。) POSIX.1-2008 では、どちらの動作の実装も認められるように規定が変更された。"
 
 #. type: SS
 #: build/C/man7/symlink.7:301
@@ -20163,15 +19407,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man7/symlink.7:341
-#, fuzzy
-#| msgid ""
-#| "If it is explicitly intended that the command operate on the symbolic "
-#| "link 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."
 msgid ""
 "If it is explicitly intended that the command operate on the symbolic link "
 "instead of following the symbolic link\\(emfor example, it is desired that "
@@ -20299,13 +19534,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man7/symlink.7:440
-#, fuzzy
-#| 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)."
 msgid ""
 "The I<second rule> applies to symbolic links that refer to directories.  "
 "Symbolic links that refer to directories are never followed by default.  "
@@ -20458,22 +19686,12 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man7/symlink.7:584
-#, fuzzy
-#| 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<path_resolution>(7)"
 msgid ""
 "B<chgrp>(1), B<chmod>(1), B<find>(1), B<ln>(1), B<ls>(1), B<mv>(1), "
 "B<namei>(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<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)"
+msgstr "B<chgrp>(1), B<chmod>(1), B<find>(1), B<ln>(1), B<ls>(1), B<mv>(1), B<namei>(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)"
 
 #. type: TH
 #: build/C/man3/tempnam.3:25
@@ -20891,11 +20109,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/tmpnam.3:97
-#, fuzzy
-#| 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 the B<TMP_MAX> mentioned below.)"
 msgid ""
 "The created pathname 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 the "
@@ -21108,11 +20321,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/unlink.2:133
-#, fuzzy
-#| 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:"
 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>().  "
@@ -21291,23 +20499,12 @@ msgstr "B<unlinkat>(): POSIX.1-2008."
 
 #. type: Plain text
 #: build/C/man2/unlink.2:302
-#, fuzzy
-#| msgid ""
-#| "On older kernels where B<unlinkat>()  is unavailable, the glibc wrapper "
-#| "function falls back to the use of B<unlink>(2)  or B<rmdir>(2).  When "
-#| "I<pathname> is a relative pathname, glibc constructs a pathname based on "
-#| "the symbolic link in I</proc/self/fd> that corresponds to the I<dirfd> "
-#| "argument."
 msgid ""
 "On older kernels where B<unlinkat>()  is unavailable, the glibc wrapper "
 "function falls back to the use of B<unlink>()  or B<rmdir>(2).  When "
 "I<pathname> is a relative pathname, glibc constructs a pathname based on the "
 "symbolic link in I</proc/self/fd> that corresponds to the I<dirfd> argument."
-msgstr ""
-"B<unlinkat>() が利用できない古いカーネルでは、 glibc ラッパー関数は "
-"B<unlink>(2) と B<rmdir>(2) を使用するモードにフォールバックする。 "
-"I<pathname> が相対パスの場合、 glibc は I<dirfd> 引き数に対応する I</proc/"
-"self/fd> のシンボリックリンクに基づいてパス名を構成する。"
+msgstr "B<unlinkat>() が利用できない古いカーネルでは、 glibc ラッパー関数は B<unlink>() と B<rmdir>(2) を使用するモードにフォールバックする。 I<pathname> が相対パスの場合、 glibc は I<dirfd> 引き数に対応する I</proc/self/fd> のシンボリックリンクに基づいてパス名を構成する。"
 
 #. type: Plain text
 #: build/C/man2/unlink.2:318
@@ -21890,16 +21087,10 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/write.2:54
-#, fuzzy
-#| msgid ""
-#| "B<write>()  writes up to I<count> bytes from the buffer pointed I<buf> to "
-#| "the file referred to by the file descriptor I<fd>."
 msgid ""
 "B<write>()  writes up to I<count> bytes from the buffer starting at I<buf> "
 "to the file referred to by the file descriptor I<fd>."
-msgstr ""
-"B<write>()  は、 I<buf> が指すバッファーから、ファイルディスクリプター I<fd> "
-"が参照するファイルへ、最大 I<count> バイトを書き込む。"
+msgstr "B<write>()  は、 I<buf> から始まるバッファーから、ファイルディスクリプター I<fd> が参照するファイルへ、最大 I<count> バイトを書き込む。"
 
 #. type: Plain text
 #: build/C/man2/write.2:68
@@ -21940,16 +21131,10 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/write.2:100
-#, fuzzy
-#| msgid ""
-#| "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."
 msgid ""
 "On success, the number of bytes written is returned.  On error, -1 is "
 "returned, and I<errno> is set to indicate the cause of the error."
-msgstr ""
-"成功すると、これらのシステムコールは I<buf> に格納されたバイト数を返す。 エ"
-"ラーの場合、-1 を返し、 I<errno> にエラーを示す値を設定する。"
+msgstr "成功すると、書き込まれたバイト数が返される。エラーの場合、 -1 が返り、 I<errno> にエラーの原因を示す値が設定される。"
 
 #. type: Plain text
 #: build/C/man2/write.2:118
@@ -21967,40 +21152,21 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/write.2:131
-#, fuzzy
-#| msgid ""
-#| "If I<count> is zero and I<fd> refers to a regular file, then B<write>()  "
-#| "may return a failure status if one of the errors below is detected.  If "
-#| "no errors are detected, 0 will be returned without causing any other "
-#| "effect.  If I<count> is zero and I<fd> refers to a file other than a "
-#| "regular file, the results are not specified."
 msgid ""
 "If I<count> is zero and I<fd> refers to a regular file, then B<write>()  may "
 "return a failure status if one of the errors below is detected.  If no "
 "errors are detected, or error detection is not performed, 0 will be returned "
 "without causing any other effect.  If I<count> is zero and I<fd> refers to a "
 "file other than a regular file, the results are not specified."
-msgstr ""
-"I<count> が 0 で、 I<fd> が通常のファイル (regular file) を参照している場"
-"合、 B<write>()  は後述のエラーのいずれかを検出した場合、失敗を返すことがあ"
-"る。 エラーが検出されなかった場合は、 0 を返し、他に何の影響も与えない。 "
-"I<count> が 0 で、 I<fd> が通常のファイル以外のファイルを参照している場合、 "
-"その結果は規定されていない。"
+msgstr "I<count> が 0 で、 I<fd> が通常のファイル (regular file) を参照している場合、 B<write>()  は後述のエラーのいずれかを検出した場合、失敗を返すことがある。 エラーが検出されなかった場合、もしくはエラー検出が実行されなかった場合、 0 が返され、他に何の影響も与えない。 I<count> が 0 で、 I<fd> が通常のファイル以外のファイルを参照している場合、 その結果は規定されていない。"
 
 #. type: Plain text
 #: build/C/man2/write.2:144
-#, fuzzy
-#| msgid ""
-#| "The file descriptor I<fd> refers to a file other than a socket and has "
-#| "been marked nonblocking (B<O_NONBLOCK>), and the write 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 write would block.  See "
 "B<open>(2)  for further details on the B<O_NONBLOCK> flag."
-msgstr ""
-"ファイルディスクリプター I<fd> がソケット以外のファイルを参照していて、 非停"
-"止 (nonblocking) モード (B<O_NONBLOCK>)  に設定されており、書き込みを行うと停"
-"止する状況にある。"
+msgstr "ファイルディスクリプター I<fd> がソケット以外のファイルを参照していて、 非停止 (nonblocking) モード (B<O_NONBLOCK>)  に設定されており、書き込みを行うと停止する状況にある。 B<O_NONBLOCK> フラグの詳細は B<open>(2) を参照。"
 
 #.  Actually EAGAIN on Linux
 #. type: Plain text
index b2b5118..ca6901a 100644 (file)
@@ -3,42 +3,39 @@ ctermid.3,31,1,32
 ferror.3,35,3,38
 fgetc.3,41,1,42
 flockfile.3,36,2,38
-fmemopen.3,57,28,85
-fmtmsg.3,104,4,108
-fopen.3,88,8,96
+fmemopen.3,60,25,85
+fmtmsg.3,107,1,108
+fopen.3,92,4,96
 fopencookie.3,105,1,106
-fread.3,37,9,46
+fread.3,40,6,46
 fseek.3,42,2,44
 getline.3,49,2,51
 getw.3,36,1,37
-link.2,106,3,109
-llseek.2,27,7,34
+link.2,107,2,109
+llseek.2,28,6,34
 lseek.2,67,5,72
-lseek64.3,43,10,53
-open.2,256,64,320
-openat2.2,36,66,102
-open_by_handle_at.2,139,6,145
-open_memstream.3,41,8,49
+lseek64.3,47,6,53
+open.2,259,61,320
+openat2.2,38,64,102
+open_by_handle_at.2,140,5,145
+open_memstream.3,43,6,49
 perror.3,30,9,39
-pipe.2,54,12,66
-popen.3,39,8,47
-printf.3,160,13,173
-read.2,41,10,51
-readlink.2,68,18,86
-readv.2,50,30,80
-rename.2,111,23,134
-rmdir.2,46,2,48
-scanf.3,136,17,153
-setbuf.3,45,7,52
-stdin.3,24,1,25
-stdio.3,83,56,139
-stdio_ext.3,36,11,47
-symlink.2,77,4,81
-symlink.7,64,16,80
+pipe.2,57,9,66
+popen.3,43,4,47
+printf.3,161,12,173
+read.2,47,4,51
+readlink.2,77,9,86
+readv.2,70,10,80
+rename.2,120,14,134
+scanf.3,147,6,153
+setbuf.3,50,2,52
+stdio.3,138,1,139
+stdio_ext.3,39,8,47
+symlink.7,70,10,80
 tempnam.3,50,1,51
 tmpfile.3,43,1,44
-tmpnam.3,43,4,47
-unlink.2,84,3,87
+tmpnam.3,44,3,47
+unlink.2,86,1,87
 unlocked_stdio.3,43,2,45
 wprintf.3,52,2,54
-write.2,53,11,64
+write.2,57,7,64
index d7ea168..3b0efa7 100644 (file)
 <TR class="over80"><TD>ferror.3</TD><TD>3/38</TD><TD>92.11</TD></TR>
 <TR class="over80"><TD>fgetc.3</TD><TD>1/42</TD><TD>97.62</TD></TR>
 <TR class="over80"><TD>flockfile.3</TD><TD>2/38</TD><TD>94.74</TD></TR>
-<TR><TD>fmemopen.3</TD><TD>28/85</TD><TD>67.06</TD></TR>
-<TR class="over80"><TD>fmtmsg.3</TD><TD>4/108</TD><TD>96.30</TD></TR>
-<TR class="over80"><TD>fopen.3</TD><TD>8/96</TD><TD>91.67</TD></TR>
+<TR class="over70"><TD>fmemopen.3</TD><TD>25/85</TD><TD>70.59</TD></TR>
+<TR class="over80"><TD>fmtmsg.3</TD><TD>1/108</TD><TD>99.07</TD></TR>
+<TR class="over80"><TD>fopen.3</TD><TD>4/96</TD><TD>95.83</TD></TR>
 <TR class="over80"><TD>fopencookie.3</TD><TD>1/106</TD><TD>99.06</TD></TR>
-<TR class="over80"><TD>fread.3</TD><TD>9/46</TD><TD>80.43</TD></TR>
+<TR class="over80"><TD>fread.3</TD><TD>6/46</TD><TD>86.96</TD></TR>
 <TR class="over80"><TD>fseek.3</TD><TD>2/44</TD><TD>95.45</TD></TR>
 <TR class="over80"><TD>getline.3</TD><TD>2/51</TD><TD>96.08</TD></TR>
 <TR class="over80"><TD>getw.3</TD><TD>1/37</TD><TD>97.30</TD></TR>
-<TR class="over80"><TD>link.2</TD><TD>3/109</TD><TD>97.25</TD></TR>
-<TR class="over70"><TD>llseek.2</TD><TD>7/34</TD><TD>79.41</TD></TR>
+<TR class="over80"><TD>link.2</TD><TD>2/109</TD><TD>98.17</TD></TR>
+<TR class="over80"><TD>llseek.2</TD><TD>6/34</TD><TD>82.35</TD></TR>
 <TR class="over80"><TD>lseek.2</TD><TD>5/72</TD><TD>93.06</TD></TR>
-<TR class="over80"><TD>lseek64.3</TD><TD>10/53</TD><TD>81.13</TD></TR>
-<TR class="over80"><TD>open.2</TD><TD>64/320</TD><TD>80.00</TD></TR>
-<TR><TD>openat2.2</TD><TD>66/102</TD><TD>35.29</TD></TR>
-<TR class="over80"><TD>open_by_handle_at.2</TD><TD>6/145</TD><TD>95.86</TD></TR>
-<TR class="over80"><TD>open_memstream.3</TD><TD>8/49</TD><TD>83.67</TD></TR>
+<TR class="over80"><TD>lseek64.3</TD><TD>6/53</TD><TD>88.68</TD></TR>
+<TR class="over80"><TD>open.2</TD><TD>61/320</TD><TD>80.94</TD></TR>
+<TR><TD>openat2.2</TD><TD>64/102</TD><TD>37.25</TD></TR>
+<TR class="over80"><TD>open_by_handle_at.2</TD><TD>5/145</TD><TD>96.55</TD></TR>
+<TR class="over80"><TD>open_memstream.3</TD><TD>6/49</TD><TD>87.76</TD></TR>
 <TR class="over70"><TD>perror.3</TD><TD>9/39</TD><TD>76.92</TD></TR>
-<TR class="over80"><TD>pipe.2</TD><TD>12/66</TD><TD>81.82</TD></TR>
-<TR class="over80"><TD>popen.3</TD><TD>8/47</TD><TD>82.98</TD></TR>
-<TR class="over80"><TD>printf.3</TD><TD>13/173</TD><TD>92.49</TD></TR>
-<TR class="over80"><TD>read.2</TD><TD>10/51</TD><TD>80.39</TD></TR>
-<TR class="over70"><TD>readlink.2</TD><TD>18/86</TD><TD>79.07</TD></TR>
-<TR><TD>readv.2</TD><TD>30/80</TD><TD>62.50</TD></TR>
-<TR class="over80"><TD>rename.2</TD><TD>23/134</TD><TD>82.84</TD></TR>
-<TR class="over80"><TD>rmdir.2</TD><TD>2/48</TD><TD>95.83</TD></TR>
-<TR class="over80"><TD>scanf.3</TD><TD>17/153</TD><TD>88.89</TD></TR>
-<TR class="over80"><TD>setbuf.3</TD><TD>7/52</TD><TD>86.54</TD></TR>
-<TR class="over80"><TD>stdin.3</TD><TD>1/25</TD><TD>96.00</TD></TR>
-<TR><TD>stdio.3</TD><TD>56/139</TD><TD>59.71</TD></TR>
-<TR class="over70"><TD>stdio_ext.3</TD><TD>11/47</TD><TD>76.60</TD></TR>
-<TR class="over80"><TD>symlink.2</TD><TD>4/81</TD><TD>95.06</TD></TR>
-<TR class="over80"><TD>symlink.7</TD><TD>16/80</TD><TD>80.00</TD></TR>
+<TR class="over80"><TD>pipe.2</TD><TD>9/66</TD><TD>86.36</TD></TR>
+<TR class="over80"><TD>popen.3</TD><TD>4/47</TD><TD>91.49</TD></TR>
+<TR class="over80"><TD>printf.3</TD><TD>12/173</TD><TD>93.06</TD></TR>
+<TR class="over80"><TD>read.2</TD><TD>4/51</TD><TD>92.16</TD></TR>
+<TR class="over80"><TD>readlink.2</TD><TD>9/86</TD><TD>89.53</TD></TR>
+<TR class="over80"><TD>readv.2</TD><TD>10/80</TD><TD>87.50</TD></TR>
+<TR class="over80"><TD>rename.2</TD><TD>14/134</TD><TD>89.55</TD></TR>
+<TR class="over80"><TD>scanf.3</TD><TD>6/153</TD><TD>96.08</TD></TR>
+<TR class="over80"><TD>setbuf.3</TD><TD>2/52</TD><TD>96.15</TD></TR>
+<TR class="over80"><TD>stdio.3</TD><TD>1/139</TD><TD>99.28</TD></TR>
+<TR class="over80"><TD>stdio_ext.3</TD><TD>8/47</TD><TD>82.98</TD></TR>
+<TR class="over80"><TD>symlink.7</TD><TD>10/80</TD><TD>87.50</TD></TR>
 <TR class="over80"><TD>tempnam.3</TD><TD>1/51</TD><TD>98.04</TD></TR>
 <TR class="over80"><TD>tmpfile.3</TD><TD>1/44</TD><TD>97.73</TD></TR>
-<TR class="over80"><TD>tmpnam.3</TD><TD>4/47</TD><TD>91.49</TD></TR>
-<TR class="over80"><TD>unlink.2</TD><TD>3/87</TD><TD>96.55</TD></TR>
+<TR class="over80"><TD>tmpnam.3</TD><TD>3/47</TD><TD>93.62</TD></TR>
+<TR class="over80"><TD>unlink.2</TD><TD>1/87</TD><TD>98.85</TD></TR>
 <TR class="over80"><TD>unlocked_stdio.3</TD><TD>2/45</TD><TD>95.56</TD></TR>
 <TR class="over80"><TD>wprintf.3</TD><TD>2/54</TD><TD>96.30</TD></TR>
-<TR class="over80"><TD>write.2</TD><TD>11/64</TD><TD>82.81</TD></TR>
+<TR class="over80"><TD>write.2</TD><TD>7/64</TD><TD>89.06</TD></TR>
 <TR class="title"><TD COLSPAN=3>stdlib</TD></TR>
 <TR class="over80"><TD>MB_LEN_MAX.3</TD><TD>1/20</TD><TD>95.00</TD></TR>
 <TR class="over80"><TD>_exit.2</TD><TD>4/31</TD><TD>87.10</TD></TR>
 <TR class="title"><TD COLSPAN=3>Summary</TD></TR>
 <TR><TD COLSPAN=3>
 <UL>
-<LI>Total uncompleted: 607
-<LI>&gt;=80%: 416
-<LI>&gt;=70%: 51
-<LI>&gt;=60%: 42
-<LI>&lt;60%: 98
+<LI>Total uncompleted: 604
+<LI>&gt;=80%: 418
+<LI>&gt;=70%: 49
+<LI>&gt;=60%: 40
+<LI>&lt;60%: 97
 </UL>
 </TD></TR>
 </TABLE>