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