XrmMergeDatabases(3X11)

名前
XrmMergeDatabases, XrmCombineDatabase, XrmCombineFileDatabase - リソースデータベースのマージ

書式
void XrmMergeDatabases(source_db, target_db)
      XrmDatabase source_db, *target_db;

void XrmCombineDatabase(source_db, target_db, override)
      XrmDatabase source_db, *target_db;
      Bool override;

Status XrmCombineFileDatabase(filename, target_db, override)
      char *filename;
      XrmDatabase *target_db;
      Bool override;

引き数

source_db
    対象となるデータベースにマージされるリソースデータベースを指定。

target_db
    元のデータベースがマージされる先のリソースデータベースを指定。

filename
    リソースデータベースのファイル名を指定。

override
    マージ元のエントリーがマージ先のエントリーを上書きするかどうかを指定。

説明
関数 を呼ぶことは、引き数 override に を指定して関数 を呼ぶことと等価である。

関数 は、あるデータベースの内容を他のデータベースにマージする。 あるエントリーについて、2つのデータベースが同じ指示子を用いている場合、 引き数 override が ならば、target_db のエントリーは source_db のエントリーに置き換えられる。 そうでない場合、source_db のエントリーは破棄される。 target_db が NULL の場合、 は単に source_db の内容を target_db に格納する。 そうでない場合、source_db はマージによって破壊されるが、target_db が指 すデータベースは破壊されない。 データベースそれぞれのロケールに関係なく、データベースは値やタイプの変 更をすることなくマージされる。 マージ先のデータベースのロケールは変更されない。

関数 は、リソースファイルの内容をデータベースにマージする。 あるエントリーについて、ファイルとデータベースが同じ指示子を用いている 場合、引き数 override が ならば、データベースのエントリーはファイルのエントリーに置き換えられる。 そうでない場合、ファイルのエントリーは破棄される。 ファイルは現在のロケールで展開される。 ファイルを読み込むことができない場合、ゼロのステータスが返される。 そうでない場合には、ゼロでないステータスが返される。 target_db が NULL の場合、 はこれに対する新しいデータベースを作成して返す。 そうでない場合、target_db が指すデータベースはマージによって破壊される ことはない。 データベースのロケールに関係なく、データベースのエントリーの値や型は変 更されることなくマージされる。 マージ先のデータベースのロケールは変更されない。

関連項目
XrmGetResource(3X11), XrmInitialize(3X11), XrmPutResource(3X11)
Xlib - C Language X Interface