From 938600edafa71e0b8dacb75c742ac7716a563800 Mon Sep 17 00:00:00 2001 From: yak Date: Mon, 29 Jun 2026 22:29:01 -0400 Subject: [PATCH] fix: guard REX::W32 MAX_PATH/ERROR against header-only spdlog leaking --- include/REX/W32/MACRO_GUARD_BEGIN.h | 4 ++++ include/REX/W32/MACRO_GUARD_END.h | 2 ++ src/REX/LOG.cpp | 4 ++++ 3 files changed, 10 insertions(+) create mode 100644 include/REX/W32/MACRO_GUARD_BEGIN.h create mode 100644 include/REX/W32/MACRO_GUARD_END.h diff --git a/include/REX/W32/MACRO_GUARD_BEGIN.h b/include/REX/W32/MACRO_GUARD_BEGIN.h new file mode 100644 index 0000000..a52083c --- /dev/null +++ b/include/REX/W32/MACRO_GUARD_BEGIN.h @@ -0,0 +1,4 @@ +#pragma push_macro("MAX_PATH") +#pragma push_macro("ERROR") +#undef MAX_PATH +#undef ERROR diff --git a/include/REX/W32/MACRO_GUARD_END.h b/include/REX/W32/MACRO_GUARD_END.h new file mode 100644 index 0000000..eafc645 --- /dev/null +++ b/include/REX/W32/MACRO_GUARD_END.h @@ -0,0 +1,2 @@ +#pragma pop_macro("ERROR") +#pragma pop_macro("MAX_PATH") diff --git a/src/REX/LOG.cpp b/src/REX/LOG.cpp index 04a107a..48a420a 100644 --- a/src/REX/LOG.cpp +++ b/src/REX/LOG.cpp @@ -5,6 +5,8 @@ #include +#include "REX/W32/MACRO_GUARD_BEGIN.h" + namespace REX::Impl { void Log(const std::source_location a_loc, const ELogLevel a_level, const std::string_view a_fmt) @@ -172,3 +174,5 @@ namespace REX::Impl REX::W32::TerminateProcess(REX::W32::GetCurrentProcess(), 1); } } + +#include "REX/W32/MACRO_GUARD_END.h"