OSDN Git Service

Update draft based on LDP v3.75 po4a files
[linuxjm/LDP_man-pages.git] / draft / man2 / readlink.2
index a688500..164c457 100644 (file)
@@ -55,7 +55,7 @@
 .\" Updated 2008-08-06, Akihiro MOTOKI, LDP v3.05
 .\" Updated 2012-05-08, Akihiro MOTOKI <amotoki@gmail.com>
 .\"
-.TH READLINK 2 2014\-05\-10 Linux "Linux Programmer's Manual"
+.TH READLINK 2 2014\-10\-15 Linux "Linux Programmer's Manual"
 .SH 名前
 readlink, readlinkat \- シンボリックリンクの値を読む
 .SH 書式
@@ -111,9 +111,10 @@ _ATFILE_SOURCE
 \fIpathname\fP で指定されたパス名が絶対パスの場合、 \fIdirfd\fP は無視される。
 
 .\" commit 65cfc6722361570bfe255698d9cd4dccaf47570d
-Linux 2.6.39 以降では、 \fIpathname\fP に空文字列を指定できる。 その場合、呼び出しは \fIdirfd\fP
-が参照するファイルに対して行われる (\fIdirfd\fP は \fBopen\fP(2) の \fBO_PATH\fP フラグを使って取得できる)。 この場合、
-\fIdirfd\fP はディレクトリだけでなく、ファイルを参照していてもよい。
+Since Linux 2.6.39, \fIpathname\fP can be an empty string, in which case the
+call operates on the symbolic link referred to by \fIdirfd\fP (which should
+have have been obtained using \fBopen\fP(2)  with the \fBO_PATH\fP and
+\fBO_NOFOLLOW\fP flags).
 .PP
 \fBreadlinkat\fP() の必要性についての説明については \fBopenat\fP(2) を参照。
 .SH 返り値
@@ -182,6 +183,11 @@ Linux 2.6.39 以降では、 \fIpathname\fP に空文字列を指定できる。
 用のバッファを動的に割り当てる方法でも、 バッファサイズとして \fIPATH_MAX\fP を使用する場合に共通する移植性の問題を解決することができる。
 なぜなら、POSIX では、 システムがそのような上限値を定義していない場合には、 \fIPATH_MAX\fP
 が定義されることが保証されていないからである。
+.SS "glibc での注意"
+On older kernels where \fBreadlinkat\fP()  is unavailable, the glibc wrapper
+function falls back to the use of \fBreadlink\fP().  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.
 .SH 例
 以下のプログラムは、 \fBreadlink\fP() が必要とするバッファを、
 \fBlstat\fP() が提供する情報に基づいて動的に割り当てる。
@@ -234,13 +240,15 @@ main(int argc, char *argv[])
 
     printf("\(aq%s\(aq points to \(aq%s\(aq\en", argv[1], linkname);
 
+    free(linkname);
+
     exit(EXIT_SUCCESS);
 }
 .fi
 .SH 関連項目
-\fBreadlink\fP(1), \fBlstat\fP(2), \fBstat\fP(2), \fBsymlink\fP(2),
+\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 プロジェクトのリリース 3.68 の一部
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.75 の一部
 である。プロジェクトの説明とバグ報告に関する情報は
 http://www.kernel.org/doc/man\-pages/ に書かれている。