X-Git-Url: http://j8takagi.net/cgi-bin/gitweb.cgi?p=YACASL2.git;a=blobdiff_plain;f=include%2Fcerr.h;h=08532da410b825ad8ecdb01a441fab51c8eb2c1e;hp=a4d12462f8560e8261c1936799d8543d3780400d;hb=3f7c17da3a4728cca94609014f6a29625eb1cb20;hpb=406fd6490ad76b4573b6ce9f8d322d92f13d27d8 diff --git a/include/cerr.h b/include/cerr.h index a4d1246..08532da 100644 --- a/include/cerr.h +++ b/include/cerr.h @@ -7,38 +7,35 @@ #include #include -#ifndef ARRAYSIZE -#define ARRAYSIZE(array) (sizeof(array)/sizeof(array[0])) -#endif - -/* エラー番号 */ -extern int cerrno; - -/* エラーメッセージ */ -extern char *cerrmsg; +#include "cmem.h" -/* エラーコード配列 */ +/* エラーの構造体 */ typedef struct { - int num; - char *msg; -} CERRARRAY; + int num; /* エラー番号 */ + char *msg; /* エラーメッセージ */ +} CERR; -/* エラーコードリスト */ +/* 現在のエラー */ +extern CERR *cerr; + +/* エラーリスト */ typedef struct _CERRLIST { struct _CERRLIST *next; - CERRARRAY *err; + CERR *cerr; } CERRLIST; -/* エラーメッセージ */ -extern CERRLIST *cerr; +extern CERRLIST *cerrlist; enum { CERRSTRSIZE = 10, /* エラーメッセージ中に挿入できる文字列のサイズ */ CERRMSGSIZE = 70, /* エラーメッセージのサイズ */ }; -/* エラーを追加する */ -bool addcerrlist(int cerrc, CERRARRAY cerrv[]); +/* エラーの初期化 */ +void cerr_init(); + +/* エラーリストを作成・追加する */ +bool addcerrlist(int cerrc, CERR cerrv[]); /* エラー番号とエラーメッセージを設定 */ void setcerr(int num, const char *str);