blob: 2990f993fc1d1bcadbc3fe08fba74ae37fd60726 [file] [log] [blame]
Nicolas Capens7b21f272014-06-04 22:51:10 -04001/******************************************************************************
2
3 @File PVRTError.cpp
4
5 @Title PVRTError
6
7 @Version
8
9 @Copyright Copyright (c) Imagination Technologies Limited.
10
11 @Platform ANSI compatible
12
13 @Description
14
15******************************************************************************/
16
17#include "PVRTError.h"
18#include <stdarg.h>
19
20#include <stdio.h>
21#include <stdlib.h>
22#include <string.h>
23#if defined(_WIN32)
24#define vsnprintf _vsnprintf
25#endif
26
27/*!***************************************************************************
28 @Function PVRTErrorOutputDebug
29 @Input format printf style format followed by arguments it requires
30 @Description Outputs a string to the standard error.
31*****************************************************************************/
32void PVRTErrorOutputDebug(char const * const format, ...)
33{
34 va_list arg;
35 char pszString[1024];
36
37 va_start(arg, format);
38 vsnprintf(pszString, 1024, format, arg);
39 va_end(arg);
40
41
42#if defined(UNICODE)
43 wchar_t *pswzString = (wchar_t *)malloc((strlen(pszString) + 1) * sizeof(wchar_t));
44
45 int i;
46 for(i = 0; pszString[i] != '\0'; i++)
47 {
48 pswzString[i] = (wchar_t)(pszString[i]);
49 }
50 pswzString[i] = '\0';
51
52 #if defined(_WIN32)
53 OutputDebugString(pswzString);
54 #else
55 fprintf(stderr, pswzString);
56 #endif
57
58 free(pswzString);
59#else
60 #if defined(_WIN32)
61 OutputDebugString(pszString);
62 #else
63 fprintf(stderr, "%s", pszString);
64 #endif
65#endif
66}
67
68/*****************************************************************************
69End of file (PVRTError.cpp)
70*****************************************************************************/
71