IDIXGETS - データ域文字フィールドを C ストリングとして取得
フォーマット
#include “idixhfmt.h"
#define IDIXGETS(pSrc) \
(IDIXGETS)(pSrc, sizeof(pSrc))
char * (IDIXGETS)(char *pSrc, int src_len);
概要
IDIXGETS() は、データ域文字フィールドからヌル終了ストリングを作成する場合に使用します。バッファー・データ・フォーマットではないデータ域フィールドの場合、ストリングは LE HEAP ストレージに作成され、IDIXUFMT 終了処理の完了時に自動的に解放されます。IDIXGETS() の呼び出し元が、返されたストレージ域を解放してはなりません。バッファー・データ・フォーマットであるデータ域フィールドの場合は、既存のバッファー・アドレスが返されます。
IDIXGETS() から返されたストリングを変更することによってデータ域フィールドを更新することはできません。
IDIXGETS() はマクロであり、同じ名前で関数を呼び出します。このマクロを使用する利点は、必要な引数が 1 つのみであるという点です。
戻り値
要求されたデータ域フィールドのアドレスを、ヌル終了ストリングとして返します。
例
#include “idixhfmt.h"
UFM ufm;
char *psz;
…
psz = IDIXGETS(ufm.EVENT_TYPE);
If (strlen(psz) >= 6 && memcmp(psz,"Abend ") == 0) { // Abend event
…
}