From fe73fcef979f3928714fe87eb06f6f1892faf915 Mon Sep 17 00:00:00 2001 From: Kartikaya Gupta Date: Fri, 2 Aug 2013 17:32:48 -0700 Subject: [PATCH] Bug 901187 - Send printf_stderr output to Visual Studio console if it is attached. r=bsmedberg --- xpcom/glue/nsCRTGlue.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/xpcom/glue/nsCRTGlue.cpp b/xpcom/glue/nsCRTGlue.cpp index fd9739e4c36..105aba7cde0 100644 --- a/xpcom/glue/nsCRTGlue.cpp +++ b/xpcom/glue/nsCRTGlue.cpp @@ -14,6 +14,7 @@ #ifdef XP_WIN #include +#include #endif #ifdef ANDROID @@ -270,6 +271,16 @@ void NS_MakeRandomString(char *aBuf, int32_t aBufLen) void printf_stderr(const char *fmt, ...) { + if (IsDebuggerPresent()) { + char buf[2048]; + va_list args; + va_start(args, fmt); + vsnprintf(buf, sizeof(buf), fmt, args); + buf[sizeof(buf) - 1] = '\0'; + va_end(args); + OutputDebugStringA(buf); + } + FILE *fp = _fdopen(_dup(2), "a"); if (!fp) return;