diff --git a/winpr/include/winpr/wtypes.h b/winpr/include/winpr/wtypes.h index d00932920..067136c34 100644 --- a/winpr/include/winpr/wtypes.h +++ b/winpr/include/winpr/wtypes.h @@ -95,11 +95,13 @@ typedef int32_t BOOL; #include /* ensure compatibility with objc libraries */ -#if (defined(TARGET_OS_IPHONE) && (TARGET_OS_IPHONE != 0) && defined(__LP64__)) || \ - (defined(TARGET_OS_WATCH) && (TARGET_OS_WATCH != 0)) +#if OBJC_BOOL_IS_BOOL typedef bool BOOL; #else +#define OBJC_BOOL_IS_CHAR 1 typedef signed char BOOL; +// BOOL is explicitly signed so @encode(BOOL) == "c" rather than "C" +// even if -funsigned-char is used. #endif #endif /* __APPLE__ */ #endif /* __OBJC__ */