名 前
canonicalize_file_name − 正 規 化 さ れ た 絶 対 パ ス 名 を 返 す
書 式
#define
_GNU_SOURCE /* feature_test_macros(7) 参 照
*/
#include <stdlib.h>
char *canonicalize_file_name(const char *path);
説 明
canonicalize_file_name() 関 数 は path に 対 応 す る 正 規 化 さ れ た 絶 対 パ ス 名 を 示 す ヌ ル 終 端 さ れ た 文 字 列 を 返 す 。 返 さ れ た 文 字 列 で は 、 シ ン ボ リ ッ ク リ ン ク や 、 パ ス 名 に 含 ま れ る . や .. は 展 開 さ れ る 。 連 続 す る ス ラ ッ シ ュ (/) 文 字 は ス ラ ッ シ ュ 一 つ に 置 換 さ れ る 。 返 さ れ る 文 字 列 は canonicalize_file_name() に よ り 動 的 に 割 り 当 て ら れ る 。 呼 び 出 し 側 は 、 必 要 な く な っ た 際 に は こ の 文 字 列 を free(3) で 解 放 す べ き で あ る 。
canonicalize_file_name(path) は 以 下 と 等 価 で あ る 。
realpath(path, NULL);
返 り 値
成 功 す る と 、 canonicalize_file_name() は ヌ ル 終 端 さ れ た 文 字 列 を 返 す 。 エ ラ ー の 場 合 (例 え ば 、 パ ス 名 の 中 に 読 み 込 め な か っ た り 存 在 し な い パ ス が 含 ま れ て い る 場 合 な ど )、 canonicalize_file_name() は NULL を 返 し 、 errno に エ ラ ー 内 容 を 示 す 値 を 設 定 す る 。
エ ラ ー
realpath(3) 参 照 。
準 拠
こ の 関 数 は GNU に よ る 拡 張 で あ る 。
関 連 項 目
こ の 文 書 に つ い て
こ の man ペ ー ジ は Linux man−pages プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。