Valgrindで見つかったメモリー周辺の問題点を修正
[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  * メモリを解放
14  */
15 #ifndef FREE
16 #define FREE(ptr) {free(ptr); ptr = NULL;}
17 #endif
18
19 /**
20  * mallocを実行し、0で初期化
21  * メモリを確保できない場合はエラーを出力して終了
22  */
23 void *malloc_chk(size_t size, char *tag);
24
25 /**
26  * callocを実行
27  * メモリを確保できない場合はエラーを出力して終了
28  */
29 void *calloc_chk(size_t nmemb, size_t size, char *tag);
30
31 /**
32  * malloc_chkを実行してメモリを確保し、コピーした文字列を返す
33  */
34 char *strdup_chk(const char *s, char *tag);
35
36 #endif