From d47d0ce2d9314768aedff8398871e51238789d04 Mon Sep 17 00:00:00 2001 From: Mateo de Mayo <mateo.demayo@collabora.com> Date: Wed, 31 Aug 2022 10:00:45 -0300 Subject: [PATCH] u/logging: Log to stderr in Windows --- doc/changes/auxiliary/mr.1475.md | 1 + src/xrt/auxiliary/util/u_logging.c | 15 +++++++++------ 2 files changed, 10 insertions(+), 6 deletions(-) create mode 100644 doc/changes/auxiliary/mr.1475.md diff --git a/doc/changes/auxiliary/mr.1475.md b/doc/changes/auxiliary/mr.1475.md new file mode 100644 index 000000000..6af1a0ece --- /dev/null +++ b/doc/changes/auxiliary/mr.1475.md @@ -0,0 +1 @@ +u/logging: Log to stderr in Windows. diff --git a/src/xrt/auxiliary/util/u_logging.c b/src/xrt/auxiliary/util/u_logging.c index 853846fd6..97e4b0a5d 100644 --- a/src/xrt/auxiliary/util/u_logging.c +++ b/src/xrt/auxiliary/util/u_logging.c @@ -123,7 +123,7 @@ u_log(const char *file, int line, const char *func, enum u_logging_level level, char buf[16384] = {0}; - int remainingBuffer = sizeof(buf) - 2; + int remainingBuffer = sizeof(buf) - 2; // 2 for \n\0 int printed = print_prefix(remainingBuffer, buf, func, level); va_list args; @@ -131,10 +131,10 @@ u_log(const char *file, int line, const char *func, enum u_logging_level level, DISPATCH_SINK(file, line, func, level, format, args); printed += vsprintf_s(buf + printed, remainingBuffer - printed, format, args); va_end(args); - *(buf + printed) = '\n'; - printed++; - *(buf + printed) = '\0'; + buf[printed++] = '\n'; + buf[printed++] = '\0'; OutputDebugStringA(buf); + fprintf(stderr, "%s", buf); } void @@ -149,15 +149,18 @@ u_log_xdev(const char *file, char buf[16384] = {0}; - int remainingBuffer = sizeof(buf) - 1; + int remainingBuffer = sizeof(buf) - 2; // 2 for \n\0 int printed = print_prefix(remainingBuffer, buf, func, level); va_list args; va_start(args, format); DISPATCH_SINK(file, line, func, level, format, args); - vsprintf_s(buf + printed, remainingBuffer - printed, format, args); + printed += vsprintf_s(buf + printed, remainingBuffer - printed, format, args); va_end(args); + buf[printed++] = '\n'; + buf[printed++] = '\0'; OutputDebugStringA(buf); + fprintf(stderr, "%s", buf); }