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