/******************************************************************************
|
|
@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)
|
*****************************************************************************/
|