libmicrohttpd

HTTP/1.x server C library (MHD 1.x, stable)
Log | Files | Refs | Submodules | README | LICENSE

commit dc4ef6b517a9c8fad89ae384059b9926f2baa9ea
parent c99bb7febbe4ad5f36b1882c94c51e6429a0e7d4
Author: Evgeny Grin (Karlson2k) <k2k@narod.ru>
Date:   Thu, 17 Nov 2016 17:49:20 +0300

Additional 'bool' configure checks and fixes for old VS compilers

Diffstat:
Mconfigure.ac | 4+++-
Mw32/common/MHD_config.h | 23+++++++++++++++--------
2 files changed, 18 insertions(+), 9 deletions(-)

diff --git a/configure.ac b/configure.ac @@ -174,7 +174,9 @@ AC_CACHE_CHECK([[whether "true" and "false" could be used]], [[mhd_cv_macro_true ]], [[ int var1[true ? 1 : -1] = { 1 }; int var2[false ? -1 : 1] = { 2 }; - if (var1[0] == var2[0]) + int var3[!true ? -1 : 1] = { 3 }; + int var4[!false ? 1 : -1] = { 4 }; + if (var1[0] == var2[0] || var3[0] == var4[0]) return 1; ]]) ], [[mhd_cv_macro_true_false_valid='yes']], [[mhd_cv_macro_true_false_valid='no']]) diff --git a/w32/common/MHD_config.h b/w32/common/MHD_config.h @@ -9,13 +9,6 @@ /* Define if MS VC compiler is used */ #define MSVC 1 -/* Define to type which will be used as boolean type. */ -#if _MSC_VER+0 >= 1800 -#define _MHD_bool _Bool -#else /* before VS 2013 */ -#define _MHD_bool int -#endif /* before VS 2013 */ - /* Define to 1 if your C compiler supports inline functions. */ #define INLINE_FUNC 1 @@ -139,9 +132,23 @@ /* Define to 1 if you have the <stddef.h> header file. */ #define HAVE_STDDEF_H 1 +#if _MSC_VER+0 >= 1800 /* VS 2013 and later */ /* Define to 1 if you have the <stdbool.h> header file and <stdbool.h> defines -'bool' type. */ + 'bool' type. */ #define HAVE_STDBOOL_H 1 +#else /* before VS 2013 */ + +/* Define to type name which will be used as boolean type. */ +#define bool int + +/* Define to value interpreted by compiler as boolean "false", if "false" is + not defined by system headers. */ +#define false 0 + +/* Define to value interpreted by compiler as boolean "true", if "true" is not + defined by system headers. */ +#define true (!0) +#endif /* before VS 2013 */ /* *** Other useful staff *** */