X-Git-Url: http://j8takagi.net/cgi-bin/gitweb.cgi?p=YACASL2.git;a=blobdiff_plain;f=include%2Fcerr.h;h=1433f9034f0886987796482769ab383e044ef861;hp=e6e8ddf06da126002216ad4a024c1cdb6d1e92f2;hb=7f7bde5dd1305cfc598fe09030c69aad0dc01368;hpb=650f92bf8dfdd0095db993f71f9e3867e7119acc diff --git a/include/cerr.h b/include/cerr.h index e6e8ddf..1433f90 100644 --- a/include/cerr.h +++ b/include/cerr.h @@ -1,55 +1,62 @@ #ifndef YACASL2_CERR_H_INCLUDED #define YACASL2_CERR_H_INCLUDED -#include -#include -#include -#include #include +#include "cmem.h" -#ifndef ARRAYSIZE -#define ARRAYSIZE(array) (sizeof(array)/sizeof(array[0])) -#endif - -/* mallocを実行し、メモリを確保できない場合は */ -/* エラーを出力して終了 */ -void *malloc_chk(size_t size, char *tag); - -/* malloc_chkを実行してメモリを確保してから、 */ -/* コピーした文字列を返す */ -char *strdup_chk(const char *s, char *tag); - -/* エラーの構造体 */ +/** + * エラーの構造体 + */ typedef struct { - int num; /* エラー番号 */ - char *msg; /* エラーメッセージ */ + int num; /**<エラー番号 */ + char *msg; /**<エラーメッセージ */ } CERR; -/* 現在のエラー */ +/** + * 現在のエラー + */ extern CERR *cerr; -/* エラーリスト */ +/** + * エラーリスト型 + */ typedef struct _CERRLIST { - struct _CERRLIST *next; - CERR *cerr; + struct _CERRLIST *next; /**<リスト次項目へのポインタ */ + CERR *cerr; /**<エラーの構造体 */ } CERRLIST; +/** + * エラーリスト + */ extern CERRLIST *cerrlist; enum { - CERRSTRSIZE = 10, /* エラーメッセージ中に挿入できる文字列のサイズ */ - CERRMSGSIZE = 70, /* エラーメッセージのサイズ */ + CERRSTRSIZE = 10, /**<エラーメッセージ中に挿入できる文字列のサイズ */ + CERRMSGSIZE = 70, /**<エラーメッセージのサイズ */ }; -/* エラーリストを作成・追加する */ +/** + * エラーの初期化 + */ +void cerr_init(); + +/** + * エラーリストを作成・追加する + */ bool addcerrlist(int cerrc, CERR cerrv[]); -/* エラー番号とエラーメッセージを設定 */ +/** + * 現在のエラーを設定する + */ void setcerr(int num, const char *str); -/* エラー番号からメッセージを返す */ +/** + * エラーリストから、エラー番号に対応するメッセージを返す + */ char *getcerrmsg(int num); -/* エラーを解放する */ +/** + * エラーリストと現在のエラーを解放する + */ void freecerr(); #endif