diff options
author | Steven G. Johnson <stevenj@alum.mit.edu> | 2016-12-11 07:15:53 -0500 |
---|---|---|
committer | Steven G. Johnson <stevenj@alum.mit.edu> | 2016-12-11 07:16:48 -0500 |
commit | 59334e44999a527ee27f29e8dddd9daa1fda1980 (patch) | |
tree | 4a1d3c72e94945c4ade1467b75f916b16c1d174a | |
parent | e46d213241b254144e5109611f228023219efa84 (diff) | |
download | libutf8proc-59334e44999a527ee27f29e8dddd9daa1fda1980.tar.gz libutf8proc-59334e44999a527ee27f29e8dddd9daa1fda1980.tar.bz2 |
use stdbool.h and inttypes.h in MSVC 2013 and later, and use more C99-compatible definitions of false and true earlier (fix #90)
-rw-r--r-- | utf8proc.h | 10 |
1 files changed, 8 insertions, 2 deletions
@@ -78,7 +78,8 @@ #include <stdlib.h> #include <sys/types.h> -#ifdef _MSC_VER +#if defined(_MSC_VER) && _MSC_VER < 1800 +// MSVC prior to 2013 lacked stdbool.h and inttypes.h typedef signed char utf8proc_int8_t; typedef unsigned char utf8proc_uint8_t; typedef short utf8proc_int16_t; @@ -93,8 +94,13 @@ typedef int utf8proc_ssize_t; typedef unsigned int utf8proc_size_t; # endif # ifndef __cplusplus +// emulate C99 bool typedef unsigned char utf8proc_bool; -enum {false, true}; +# ifndef __bool_true_false_are_defined +# define false 0 +# define true 1 +# define __bool_true_false_are_defined 1 +# endif # else typedef bool utf8proc_bool; # endif |