#include <cat/cat.h>
void caterr_verror(cat_session *sess, const char *function, int major_code, int retval, const char *fmt, va_list ap);
va_list instead of a variable number of arguments, so this function can be called
from inside a function that takes a variable number of arguments.
void
give_up(const char *fmt, ...)
{
va_list ap;
va_start(ap, fmt);
caterr_verror(NULL, "give_up", CAT_FATAL, 0, fmt, ap);
fprintf(stderr, "\n**** FATAL ERROR: Giving up ****\n");
vfprintf(stderr, fmt, ap);
fprintf(stderr, "\n**** ABORT\n");
va_end(ap);
abort(); }