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 が返される。