#ifndef YACASL2_CMEM_H_INCLUDED
#define YACASL2_CMEM_H_INCLUDED
+
+#include <stdio.h>
#include <stdlib.h>
+#include <string.h>
+#include <assert.h>
+#include <stdbool.h>
/**
* @brief 配列のサイズを返すマクロ
* @param size メモリーのサイズ
* @param tag エラーメッセージなどで表示されるタグ
*/
-void *malloc_chk(size_t size, char *tag);
+void *malloc_chk(size_t size, const char *tag);
/**
* @brief 領域の数とサイズを指定してメモリーを確保するcallocを実行する
*/
char *strdup_chk(const char *s, char *tag);
+/**
+ * @brief malloc_chkを実行してメモリを確保し、コピーした文字列の指定した長さの部分を返す
+ *
+ * @return コピーした文字列
+ *
+ * @param s 文字列
+ * @param len 文字列の長さ
+ * @param tag エラーメッセージなどで表示されるタグ
+ */
+char *strndup_chk(const char *s, size_t len, char *tag);
#endif