データ構造の名前を変更
[YACASL2.git] / include / cmem.h
1 #ifndef YACASL2_CMEM_H_INCLUDED
2 #define YACASL2_CMEM_H_INCLUDED
3 #include <stdlib.h>
4
5 /*
6  * 配列のサイズを返す
7  */
8 #ifndef ARRAYSIZE
9 #define ARRAYSIZE(array) (sizeof(array)/sizeof(array[0]))
10 #endif
11
12 /**
13  * mallocを実行し、0で初期化
14  * メモリを確保できない場合はエラーを出力して終了
15  */
16 void *malloc_chk(size_t size, char *tag);
17
18 /**
19  * callocを実行
20  * メモリを確保できない場合はエラーを出力して終了
21  */
22 void *calloc_chk(size_t nmemb, size_t size, char *tag);
23
24 /**
25  * malloc_chkを実行してメモリを確保し、コピーした文字列を返す
26  */
27 char *strdup_chk(const char *s, char *tag);
28
29 /**
30  * メモリを解放
31  */
32 void free_chk(void *ptr, char *tag);
33 #endif