/******************************************************************************
@File PVRTError.cpp
@Title PVRTError
@Version
@Copyright Copyright (c) Imagination Technologies Limited.
@Platform ANSI compatible
@Description
******************************************************************************/
#include "PVRTError.h"
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#if defined(_WIN32)
#define vsnprintf _vsnprintf
#endif
/*!***************************************************************************
@Function PVRTErrorOutputDebug
@Input format printf style format followed by arguments it requires
@Description Outputs a string to the standard error.
*****************************************************************************/
void PVRTErrorOutputDebug(char const * const format, ...)
{
va_list arg;
char pszString[1024];
va_start(arg, format);
vsnprintf(pszString, 1024, format, arg);
va_end(arg);
#if defined(UNICODE)
wchar_t *pswzString = (wchar_t *)malloc((strlen(pszString) + 1) * sizeof(wchar_t));
int i;
for(i = 0; pszString[i] != '\0'; i++)
{
pswzString[i] = (wchar_t)(pszString[i]);
}
pswzString[i] = '\0';
#if defined(_WIN32)
OutputDebugString(pswzString);
#else
fprintf(stderr, pswzString);
#endif
free(pswzString);
#else
#if defined(_WIN32)
OutputDebugString(pszString);
#else
fprintf(stderr, "%s", pszString);
#endif
#endif
}
/*****************************************************************************
End of file (PVRTError.cpp)
*****************************************************************************/