From 05792ff150f531ca64cae1c658fbbe3d75bc64ab Mon Sep 17 00:00:00 2001 From: Jakob Bornecrantz Date: Tue, 18 Apr 2023 22:27:03 +0100 Subject: [PATCH] st/oxr: Refactor OXR_NO_PRINTING env vars --- src/xrt/state_trackers/oxr/oxr_logger.c | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/src/xrt/state_trackers/oxr/oxr_logger.c b/src/xrt/state_trackers/oxr/oxr_logger.c index 3a1701817..36a031ef5 100644 --- a/src/xrt/state_trackers/oxr/oxr_logger.c +++ b/src/xrt/state_trackers/oxr/oxr_logger.c @@ -24,7 +24,16 @@ #define LOG_BUFFER_SIZE (1024) -DEBUG_GET_ONCE_BOOL_OPTION(no_printing, "OXR_NO_STDERR_PRINTING", false) +#ifdef XRT_OS_WINDOWS +#define DEFAULT_NO_STDERR (true) +#define CHECK_SHOULD_NOT_PRINT (debug_get_bool_option_no_printing_stderr()) +#else +#define DEFAULT_NO_STDERR (false) +#define CHECK_SHOULD_NOT_PRINT (debug_get_bool_option_no_printing() || debug_get_bool_option_no_printing_stderr()) +#endif + +DEBUG_GET_ONCE_BOOL_OPTION(no_printing, "OXR_NO_PRINTING", false) +DEBUG_GET_ONCE_BOOL_OPTION(no_printing_stderr, "OXR_NO_PRINTING_STDERR", DEFAULT_NO_STDERR) DEBUG_GET_ONCE_BOOL_OPTION(entrypoints, "OXR_DEBUG_ENTRYPOINTS", false) DEBUG_GET_ONCE_BOOL_OPTION(break_on_error, "OXR_BREAK_ON_ERROR", false) @@ -135,6 +144,10 @@ do_output(const char *buf) { #ifdef XRT_OS_WINDOWS OutputDebugStringA(buf); + + if (debug_get_bool_option_no_printing_stderr()) { + return; + } #endif fprintf(stderr, "%s", buf); @@ -205,7 +218,7 @@ oxr_log_set_instance(struct oxr_logger *logger, struct oxr_instance *inst) void oxr_log(struct oxr_logger *logger, const char *fmt, ...) { - if (debug_get_bool_option_no_printing()) { + if (CHECK_SHOULD_NOT_PRINT) { return; } @@ -218,7 +231,7 @@ oxr_log(struct oxr_logger *logger, const char *fmt, ...) void oxr_warn(struct oxr_logger *logger, const char *fmt, ...) { - if (debug_get_bool_option_no_printing()) { + if (CHECK_SHOULD_NOT_PRINT) { return; } @@ -231,7 +244,7 @@ oxr_warn(struct oxr_logger *logger, const char *fmt, ...) XrResult oxr_error(struct oxr_logger *logger, XrResult result, const char *fmt, ...) { - if (debug_get_bool_option_no_printing()) { + if (CHECK_SHOULD_NOT_PRINT) { return result; }