1 #ifndef YACASL2_CMEM_H_INCLUDED
2 #define YACASL2_CMEM_H_INCLUDED
9 #define ARRAYSIZE(array) (sizeof(array)/sizeof(array[0]))
16 #define FREE(ptr) {free(ptr); ptr = NULL;}
20 * @brief mallocを実行し、0で初期化する
22 * メモリを確保できない場合はエラーを出力して終了
26 * @param size メモリーのサイズ
27 * @param tag エラーメッセージなどで表示されるタグ
29 void *malloc_chk(size_t size, char *tag);
32 * @brief 領域の数とサイズを指定してメモリーを確保するcallocを実行する
34 * メモリを確保できない場合はエラーを出力して終了
39 * @param size 領域1個あたりのメモリーサイズ
40 * @param tag エラーメッセージなどで表示されるタグ
42 void *calloc_chk(size_t nmemb, size_t size, char *tag);
45 * @brief malloc_chkを実行してメモリを確保し、コピーした文字列を返す
50 * @param tag エラーメッセージなどで表示されるタグ
52 char *strdup_chk(const char *s, char *tag);