Julius 4.2
マクロ定義 | 関数
libjulius/src/m_jconf.c

設定ファイルの読み込み. [詳細]

#include <julius/julius.h>

ソースコードを見る。

マクロ定義

#define ISTOKEN(A)   (A == ' ' || A == '\t' || A == '\n')
 Determine token characters.
#define BUFLEN   512

関数

static char * fgets_jconf (char *buf, int size, FILE *fp)
 jconf 用の行読み込みルーチン
void get_dirname (char *path)
 ファイルのパス名からディレクトリ名を抜き出す.
static char * expand_env (char *str)
 環境変数の展開
static void add_to_arglist (char *buf, char ***argv_ret, int *argc_ret, int *maxnum_ret)
 オプション文字列を分解して追加格納する.
boolean config_string_parse (char *str, Jconf *jconf)
 オプション指定を含む文字列を解析して値をセットする.
boolean config_file_parse (char *conffile, Jconf *jconf)
 jconf 設定ファイルを読み込んで解析し,対応するオプションを設定する.

説明

設定ファイルの読み込み.

オプション指定を記述した jconf 設定ファイルを読み込みます. jconf 設定ファイル内では,ダブルクォーテーションによる文字列の 指定,バックスラッシュによる文字のエスケープができます. また,各行において '#' 以降はスキップされます.

jconf 設定ファイル内では,全ての相対パスは,アプリケーションの カレントディレクトリではなく,その jconf の存在するディレクトリからの 相対パスとして解釈されます.

また,$HOME, ${HOME}, /Users/shindoh, の形で指定された部分について 環境変数を展開できます.

作者:
Akinobu Lee
日付:
Thu May 12 14:16:18 2005
Revision:
1.8

m_jconf.c で定義されています。


関数

static char* fgets_jconf ( char *  buf,
int  size,
FILE *  fp 
) [static]

jconf 用の行読み込みルーチン

バックスラッシュによるエスケープ処理,および Mac/Win の改行コードに 対応する. 空行はスキップされ,改行コードは消される.

引数:
buf[out] 読み込んだ1行分のテキストを格納するバッファ
size[in] buf の大きさ(バイト数)
fp[in] ファイルポインタ
戻り値:
buf を返す. EOF でこれ以上入力がなければ NULL を返す.

m_jconf.c88 行で定義されています。

参照元 config_file_parse().

void get_dirname ( char *  path)

ファイルのパス名からディレクトリ名を抜き出す.

最後の '/' は残される.

引数:
path[i/o] ファイルのパス名(関数内で変更される)

m_jconf.c155 行で定義されています。

参照元 config_file_parse(), と multigram_add_prefix_filelist().

static char* expand_env ( char *  str) [static]

環境変数の展開

環境変数を展開する. $HOME の形の文字列を環境変数とみなし,その値で 置換する. 置換が起こった際には,与えられた文字列バッファを内部で 解放し,あらたに割り付けられたバッファを返す.

変数の指定は $HOME, ${HOME}, /Users/shindoh, の形で指定できる. $ を展開したくない場合はバックスラッシュ "\" でエスケープできる. またシングルクォート "'" で括られた範囲は展開を行わない.

引数:
str[in] 対象文字列(展開発生時は内部で free されるので注意)
戻り値:
展開すべき対象がなかった場合,str がそのまま返される. 展開が行われた場合,あらたに割り付けられた展開後の文字列を含むバッファが返される.

m_jconf.c208 行で定義されています。

参照元 config_file_parse(), と config_string_parse().

static void add_to_arglist ( char *  buf,
char ***  argv_ret,
int *  argc_ret,
int *  maxnum_ret 
) [static]

オプション文字列を分解して追加格納する.

引数:
buf[in] 文字列
argv[i/o] オプション列へのポインタ
argc[i/o] オプション列の数へのポインタ
maxnum[i/o] オプション列の割付最大数

m_jconf.c380 行で定義されています。

参照元 config_file_parse(), と config_string_parse().

boolean config_string_parse ( char *  str,
Jconf jconf 
)

オプション指定を含む文字列を解析して値をセットする.

相対パス名はカレントからの相対として扱われる.

引数:
str[in] オプション指定を含む文字列
jconf[out] 値をセットする jconf 設定データ

m_jconf.c453 行で定義されています。

参照元 j_config_load_string().

関数の呼び出しグラフ:

呼出しグラフ:

boolean config_file_parse ( char *  conffile,
Jconf jconf 
)

jconf 設定ファイルを読み込んで解析し,対応するオプションを設定する.

オプション内の相対パスは、その jconf 設定ファイルからの相対となる.

引数:
conffile[in] jconf ファイルのパス名
jconf[out] 値をセットする jconf 設定データ

m_jconf.c509 行で定義されています。

参照元 j_config_load_file(), と opt_parse().

関数の呼び出しグラフ:

呼出しグラフ: