
#include <stdio.h>
#include <stdarg.h>
#include "defines.h"

int dbglevel = 0;
FILE *dbghandle = NULL;

void dbg(int wLevel, char *cpFmtstr, ...)
{
	va_list pArg;
	FILE *fpHandle;
	char caTmp[RANGE_8BIT];
	char *cp;
	int i;

	if (dbglevel >= wLevel) {
		va_start(pArg, cpFmtstr);
		fpHandle = (dbghandle) ? dbghandle : stderr;
		cp = caTmp;
		cp += sprintf(cp, "%s[%1d]%s ",
						ANSICTL_YELLOW_FOREGROUND,
						wLevel,
						ANSICTL_NORMAL_DISPLAY		);
		for (i = 0; i < wLevel; i++)
			*cp++ = SP;
		vsprintf(cp, cpFmtstr, pArg);
		fprintf(fpHandle, caTmp);
		fflush(fpHandle);
		va_end(pArg);
	}
	return;
}

