MSG_OPEN(3)

名称
msg_open()	メッセージファイルをオープンする。

形式
#include "msg.h"

struct msg_cd *
msg_open( name, nlspath, lang )
char *name;			/* ファイル名 */
char *nlspath;			/* パス記述 */
char *lang;			/* 言語名 */

機能

    メッセージファイル名 name、パス記述 nlspath、および言語名 lang から、 ファイルパスを組み立て、そのファイルを読み込む。ファイルの内容はメッ セージ毎に struct msg_cat につなげられる。

    ファイルパスの記述中には、"%N", "%L" を指定でき、パス名を組み立てる 時にそれぞれ、パラメータで与えられたファイル名 name、言語名 lang に 置き換えられる。

    name の先頭が '/' の場合は、絶対パスと見なされ、nlspathは展開されず name がそのままファイルパスとなる。

    lang に NULL や空文字列が渡された場合には、環境変数 LC_MESSAGES、 LANG が順に調べらそこから言語名が取り出される。環境変数からも取り出 せなかった場合には、DEF_LANG が用いられる。

リターンバリュー
メッセージの内容が展開されてつながれている構造体 msg_cat へのポイン
ターが返される。メッセージファイルがオープンできない場合には、空の構
造体が返される。name の先頭が '/'でない、かつ、nlspathが NULL か
空文字列の場合は、NULLが返される。"%N", "%L" が展開できない場合や、
メモリ領域が確保できない場合も、NULL が返される。