/*****************************************************************************
* Copyright (c) 1990-2000 Digi International Inc., All Rights Reserved
*
* This software contains proprietary and confidential information of Digi
* International Inc.  By accepting transfer of this copy, Recipient agrees
* to retain this software in confidence, to prevent disclosure to others,
* and to make no use of this software other than that for which it was
* delivered.  This is an unpublished copyrighted work of Digi International
* Inc.  Except as permitted by federal law, 17 USC 117, copying is strictly
* prohibited.
*
* Restricted Rights Legend
*
* Use, duplication, or disclosure by the Government is subject to
* restrictions set forth in sub-paragraph (c)(1)(ii) of The Rights in
* Technical Data and Computer Software clause at DFARS 252.227-7031 or
* subparagraphs (c)(1) and (2) of the Commercial Computer Software -
* Restricted Rights at 48 CFR 52.227-19, as applicable.
*
* Digi International Inc. 11001 Bren Road East, Minnetonka, MN 55343
*
*****************************************************************************/

static const char dbgprintf_c_rcsid[] = "@(#) " "$Id: dbgprintf.c,v 1.6 2000/06/13 22:03:59 jamesp Exp $";

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

#if defined PLATFORM_WINDOWS
#include <windows.h>
#endif

#include "dbgprintf.h"


static void vdbgfprintf(FILE * const stream, char const * const fmt, va_list val)
{
	char sz[2048];

#if defined PLATFORM_WINDOWS
	_vsnprintf(sz, sizeof(sz), fmt, val);
	OutputDebugStringA(sz);
#elif defined PLATFORM_NETWARE
	vsprintf(sz, fmt, val);
#elif defined PLATFORM_HPUX
	vsprintf(sz, fmt, val);
#else
	vsnprintf(sz, sizeof(sz), fmt, val);
#endif

	fprintf(stream, sz);
}

void error_printf(char const * const fmt, ...)
{
	va_list val;

	va_start(val, fmt);
	vdbgfprintf(stderr, fmt, val);
	va_end(val);
}

void trace_printf(char const * const fmt, ...)
{
	va_list val;

	va_start(val, fmt);
	vdbgfprintf(stdout, fmt, val);
	va_end(val);
}

