#ifdef HAVE_CONFIG_H #include #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include extern char *config_fname; int errors = 0; int warnings = 0; void error( char *fmt, ... ) { va_list arg_ptr; char buf[MAX_ERROR_MSG_SIZE]; char msg[MAX_ERROR_MSG_SIZE]; char *format = "%s:%d:%d: %s"; va_start( arg_ptr, fmt ); vsnprintf( msg, MAX_ERROR_MSG_SIZE, (const void *)fmt, arg_ptr ); va_end( arg_ptr ); /* Reset variable arguments. */ snprintf( buf, MAX_ERROR_MSG_SIZE, format, config_fname, lineno, colno, msg ); ERROR( "%s", buf ); ++errors; } void warning( char *fmt, ... ) { va_list arg_ptr; char buf[MAX_ERROR_MSG_SIZE]; char msg[MAX_ERROR_MSG_SIZE]; char *format = "%s:%d:%d: %s"; va_start( arg_ptr, fmt ); vsnprintf( msg, MAX_ERROR_MSG_SIZE, (const void *)fmt, arg_ptr ); va_end( arg_ptr ); /* Reset variable arguments. */ snprintf( buf, MAX_ERROR_MSG_SIZE, format, config_fname, lineno, colno, msg ); WARNING( "%s", buf ); ++warnings; } void no_space( void ) { char buf[MAX_ERROR_MSG_SIZE]; char *format = "%s: Cannot allocate memory"; snprintf( buf, MAX_ERROR_MSG_SIZE, format, config_fname ); FATAL_ERROR( "%s", buf ); ++errors; } void unterminated_comment( void ) { char buf[MAX_ERROR_MSG_SIZE]; char *format = "%s:%d:%d: Unterminated comment"; snprintf( buf, MAX_ERROR_MSG_SIZE, format, config_fname, lineno, colno ); ERROR( "%s", buf ); ++errors; }