{
va_list args;
char *msgptr = msg;
msgptr += sprintf (msgptr, "%s:", caller);
msgptr += sprintf (msgptr, "Error:%s", message);
msgptr += sprintf (msgptr, ":");
va_start(args, format);
#ifdef _WIN32
msgptr += _vsnprintf (msgptr,
MAX_MSG - 2 - (msgptr - msg), format, args);
strcat (msg, "\n");
#else
msgptr += vsprintf (msgptr, format, args);
msgptr += sprintf (msgptr, "\n");
#endif
va_end(args);
}
else
msgptr += sprintf (msgptr, "\n");
fprintf(stderr, "%s", msg);
switch (action) {
return;
if (!*p)
abort();
default:
}
}