/**
* エラーリストを作成または追加する
*/
-void addcerrlist(int newerrc, CERR newerrv[])
+void addcerrlist(int errc, CERR errv[])
{
int i;
- CERRLIST *p = NULL, *q;
+ CERRLIST *p = NULL, *q = malloc_chk(sizeof(CERRLIST), "cerrlist");
- assert(newerrc > 0 && newerrv != NULL);
- for(i = 0; i < newerrc; i++) {
+ assert(errc > 0 && errv != NULL);
+ for(i = 0; i < errc; i++) {
if(p == NULL) {
- p = q = malloc_chk(sizeof(CERRLIST), "cerrlist");
+ p = q;
} else {
p = p->next = malloc_chk(sizeof(CERRLIST), "cerrlist.next");
}
- p->cerr = &newerrv[i];
+ p->cerr = &errv[i];
p->next = NULL;
}
p->next = cerrlist;
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));