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
  … 
}