• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /******************************************************************************
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 *****************************************************************************/
PVRTErrorOutputDebug(char const * const format,...)32 void 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 /*****************************************************************************
69 End of file (PVRTError.cpp)
70 *****************************************************************************/
71 
72