2.6 型付きバッファの解放
tpfree(3c)
関数は、tpalloc()
で割り当てられたバッファ、またはtprealloc()
で再度割り当てられたバッファを解放します。次はtpfree()
関数のシグネチャです:
void tpfree(char *ptr)
tpfree()
関数の引数は、次のリストに示すptr
だけです。
表2-5 tpfree()関数の引数
引数 | 説明 |
---|---|
ptr
|
データ・バッファを指すポインタ。このポインタは、tpalloc() またはtprealloc() の呼出しで設定されます。NULLは指定できません。また、文字型にキャストする必要があります。この2つの条件が満たされていない場合、この関数は何も解放しないか、エラー条件を通知しないで制御を戻します。
|
tpfree()
を使用してFML32
バッファを解放するとき、ルーチンは埋め込まれたバッファをすべて再帰的に解放して、メモリー・リークの発生を防ぎます。埋め込みバッファが解放されないようにするには、対応するポインタにNULLを指定してからtpfree()
ルーチンを発行します。ptr
がNULLの場合、何も処理は行われません。
次のリストは、tpfree()
関数を使用してバッファを解放する方法を示しています。
バッファの解放のリスト
struct aud *audv; /* pointer to aud view structure */
. . .
audv = (struct aud *)tpalloc("VIEW", "aud", sizeof(struct aud));
. . .
tpfree((char *)audv);
関連項目:
- 型付きバッファの割当て
- 型付きバッファのサイズの変更
- 『Oracle Tuxedo ATMI C関数リファレンス』の
tpfree(3c)
に関する項
親トピック: 型付きバッファの管理