#include <ncbi.h>
#include <gishlib.h>
#include "blastapp.h"

#ifdef VAR_ARGS
#include <varargs.h>
#else
#include <stdarg.h>
#endif

static int	warning_cnt;

/* warning - print warning message and return */
void
#ifdef VAR_ARGS
warning(format, va_alist)
	char	*format;
	va_dcl
#else
warning(char *format, ...)
#endif
{
	va_list	args;
	char	buf[4096];

#ifdef MPROC_AVAIL
	if (nprocs > 0)
		M_LOCK;
#endif

	++warning_cnt;

	(void) fflush(stdout);
#ifdef VAR_ARGS
	va_start(args);
#else
	va_start(args, format);
#endif
	(void) vsprintf(buf, format, args);
	va_end(args);

	(void) putc('\n', stdout);
	(void) wrap(stdout, "WARNING:  ", buf, -1, 78, 10);
	(void) fflush(stdout);
	if (!SameFp(stderr, stdout)) {
		(void) putc('\n', stderr);
		(void) wrap(stderr, "WARNING:  ", buf, -1, 78, 10);
		(void) fflush(stderr);
	}

#ifdef MPROC_AVAIL
	if (nprocs > 0)
		M_UNLOCK;
#endif
	return;
}


void
ckwarnings()
{
	if (warning_cnt > 0)
		printf("\nWARNINGS ISSUED:  %d\n", warning_cnt);
}
