From 4f66eb2bc9038dbac490ac540cdfe0188c91f672 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Fri, 22 Feb 2019 15:06:58 +0100 Subject: tracker/wii: debug to stderr w/ no debugger --- tracker-wii/wiiyourself/wiimote.cpp | 35 +++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 16 deletions(-) (limited to 'tracker-wii') diff --git a/tracker-wii/wiiyourself/wiimote.cpp b/tracker-wii/wiiyourself/wiimote.cpp index 503a0783..7a5ee833 100644 --- a/tracker-wii/wiiyourself/wiimote.cpp +++ b/tracker-wii/wiiyourself/wiimote.cpp @@ -14,12 +14,11 @@ #include #include #include +#include #include "wiimote.h" #include -extern "C" { #include // from WinDDK -} #include // for _stat #include // " @@ -46,8 +45,8 @@ template inline T square(const T& val) { return val * val; } // comment these to auto-strip their code from the library: // (they currently use OutputDebugString() via _TRACE() - change to suit) -# define TRACE _TRACE -# define WARN _TRACE +# define TRACE trace_ +# define WARN trace_ // uncomment any of these for deeper debugging: //#define DEEP_TRACE(fmt, ...) _TRACE(PREFIX _T("|") fmt _T("\n"), __VA_ARGS__) // VC 2005+ //#define DEEP_TRACE(fmt, ...) _TRACE(PREFIX _T("|") fmt _T("\n") , ##__VA_ARGS__) // mingw @@ -67,21 +66,25 @@ template inline T square(const T& val) { return val * val; } # define WARN(...) (void)0 #endif // ------------------------------------------------------------------------------------ -static void __cdecl _TRACE(const TCHAR* fmt, ...) +static void trace_(const char* fmt, ...) { - static TCHAR buffer[256]; - if (!fmt) return; + char buffer[256]; - va_list argptr; - va_start(argptr, fmt); -#ifdef _MSC_VER - _vsntprintf_s(buffer, ARRAY_ENTRIES(buffer), _TRUNCATE, fmt, argptr); -#else - _vsntprintf(buffer, ARRAY_ENTRIES(buffer), fmt, argptr); -#endif - va_end(argptr); + if (!fmt) + return; - OutputDebugString(buffer); + va_list ap; + va_start(ap, fmt); + vsnprintf(buffer, std::size(buffer), fmt, ap); + va_end(ap); + + if (IsDebuggerPresent()) + OutputDebugString(buffer); + else + { + fprintf(stderr, "%s\n", buffer); + fflush(stderr); + } } // ------------------------------------------------------------------------------------ -- cgit v1.2.3