error.c, error.h