#ifndef YACASL2_CERR_H_INCLUDED
#define YACASL2_CERR_H_INCLUDED
-#include <malloc.h>
+#include <stdio.h>
+#include <stdlib.h>
#include <string.h>
#include <assert.h>
+#include <stdbool.h>
#ifndef ARRAYSIZE
#define ARRAYSIZE(array) (sizeof(array)/sizeof(array[0]))
/* エラーメッセージ */
extern char *cerrmsg;
-/* エラーコードリスト */
+/* エラーコード配列 */
typedef struct {
int num;
char *msg;
} CERRARRAY;
+/* エラーコードリスト */
+typedef struct _CERRLIST {
+ struct _CERRLIST *next;
+ CERRARRAY *err;
+} CERRLIST;
+
+/* エラーメッセージ */
+extern CERRLIST *cerr;
+
+enum {
+ CERRSTRSIZE = 10, /* エラーメッセージ中に挿入できる文字列のサイズ */
+ CERRMSGSIZE = 70, /* エラーメッセージのサイズ */
+};
+
+/* エラーを追加する */
+bool addcerrlist(int cerrc, CERRARRAY cerrv[]);
+
/* エラー番号とエラーメッセージを設定 */
-void setcerr(int num, const char *val);
+void setcerr(int num, const char *str);
/* エラー番号からメッセージを返す */
char *getcerrmsg(int num);