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