1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- #include "./trace.h"
- #include <strsafe.h>
- #ifdef _DEBUG
- #ifdef __cplusplus
- extern "C" {
- #endif /*__cplusplus*/
- void DebugPrintfW(LPCWSTR format, ...)
- {
- va_list argList;
- wchar_t *pstr(NULL);
- void *buffer;
- size_t allocated(0), remaining(0);
- int attempt(0);
- va_start(argList, format);
-
- do
- {
- attempt++;
- if(attempt)
- {
- allocated += (512 * attempt);
- buffer = realloc(pstr, allocated * sizeof(wchar_t));
- if (NULL == buffer)
- break;
- pstr = (wchar_t*)buffer;
- }
-
- }
- while (STRSAFE_E_INSUFFICIENT_BUFFER == StringCchVPrintfExW(pstr, allocated, NULL, &remaining,
- STRSAFE_NULL_ON_FAILURE, format, argList));
-
- OutputDebugStringW(pstr);
- if (NULL != pstr)
- free(pstr);
- va_end(argList);
-
- }
- void DebugPrintfA(LPCSTR format, ...)
- {
- va_list argList;
- char *pstr(NULL);
- void *buffer;
- size_t allocated(0), remaining(0);
- int attempt(0);
- va_start(argList, format);
-
- do
- {
- attempt++;
- if(attempt)
- {
- allocated += (512 * attempt);
- buffer = realloc(pstr, allocated * sizeof(char));
- if (NULL == buffer)
- break;
- pstr = (char*)buffer;
- }
-
- }
- while (STRSAFE_E_INSUFFICIENT_BUFFER == StringCchVPrintfExA(pstr, allocated, NULL, &remaining,
- STRSAFE_NULL_ON_FAILURE, format, argList));
-
- OutputDebugStringA(pstr);
-
- if (NULL != pstr)
- free(pstr);
-
- va_end(argList);
- }
- #ifdef __cplusplus
- }
- #endif /*__cplusplus*/
- #endif /*_DEBUG*/
|