*/
void cerr_init()
{
- cerr = malloc_chk(sizeof(CERR *), "cerr");
+ cerr = malloc_chk(sizeof(CERR), "cerr");
cerr->num = 0;
}
void addcerrlist(int errc, CERR errv[])
{
int i;
- CERRLIST *p = NULL, *q = malloc_chk(sizeof(CERRLIST *), "cerrlist");
+ CERRLIST *p = NULL, *q = malloc_chk(sizeof(CERRLIST), "cerrlist");
assert(errc > 0 && errv != NULL);
for(i = 0; i < errc; i++) {
if(p == NULL) {
p = q;
} else {
- p = p->next = malloc_chk(sizeof(CERRLIST *), "cerrlist.next");
+ p = p->next = malloc_chk(sizeof(CERRLIST), "cerrlist.next");
}
p->cerr = &errv[i];
p->next = NULL;
cerr->num = num;
/* 現在のエラーメッセージを設定 */
cerr->msg = malloc_chk(CERRMSGSIZE + 1, "cerr.msg");
- if(str != NULL && strlen(str) <= CERRSTRSIZE) {
+ if(0 < strlen(str) && strlen(str) <= CERRSTRSIZE) {
sprintf(cerr->msg, "%s: %s", str, getcerrmsg(cerr->num));
} else {
strcpy(cerr->msg, getcerrmsg(cerr->num));