From a3f5e7b8e3deb783b5aed29dcf935a2a47850a8d Mon Sep 17 00:00:00 2001 From: Pierre Yager Date: Tue, 18 Nov 2025 18:02:31 +0100 Subject: [PATCH] Fix to make czmq/zyre build in MSVC 2022 when C version is <23 --- include/czmq_prelude.h | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/include/czmq_prelude.h b/include/czmq_prelude.h index c885c9639..d6c86a185 100644 --- a/include/czmq_prelude.h +++ b/include/czmq_prelude.h @@ -530,15 +530,16 @@ typedef struct { // Fallback for booleans for pre-C23 C and MSVC builds -#if defined(__STDC_VERSION__) && __STDC_VERSION__ < 202311L -# if (defined (_MSC_VER)) -# if (!defined (__cplusplus) && (!defined (true))) -# define true 1 -# define false 0 - typedef char bool; -# endif +#if !defined(__cplusplus) && !defined(__bool_true_false_are_defined) +# if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L +# include +# elif defined(_MSC_VER) + typedef char bool; +# define true 1 +# define false 0 +# define __bool_true_false_are_defined 1 # else -# include +# include # endif #endif