more portable handling of the bool data type (Mac OS X has stdbool.h)
authorTobias Brunner <tobias@strongswan.org>
Wed, 6 May 2009 11:30:38 +0000 (07:30 -0400)
committerTobias Brunner <tobias@strongswan.org>
Wed, 6 May 2009 13:11:13 +0000 (09:11 -0400)
configure.in
src/libstrongswan/utils.h

index f2997ba..fe60e63 100644 (file)
@@ -762,9 +762,11 @@ if test x$medcli = xtrue; then
        me=true
 fi
 
-dnl ==========================================
+dnl ===========================================
 dnl  check required libraries and header files
-dnl ==========================================
+dnl ===========================================
+
+AC_HEADER_STDBOOL
 
 saved_LIBS=$LIBS
 LIBS=""
index 0918906..debd014 100644 (file)
 /**
  * General purpose boolean type.
  */
-typedef int bool;
+#ifdef HAVE_STDBOOL_H
+# include <stdbool.h>
+#else
+# ifndef HAVE__BOOL
+#  define _Bool signed char
+# endif /* HAVE__BOOL */
+# define bool _Bool
+# define false 0
+# define true 1
+# define __bool_true_false_are_defined 1
+#endif /* HAVE_STDBOOL_H */
 #ifndef FALSE
-# define FALSE 0
+# define FALSE false
 #endif /* FALSE */
 #ifndef TRUE
-# define TRUE  1
+# define TRUE  true
 #endif /* TRUE */
 
 typedef enum status_t status_t;