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