]> git.sur5r.net Git - openldap/blobdiff - include/ac/assert.h
s/Id/OpenLDAP/ in RCSids
[openldap] / include / ac / assert.h
index 48adc864cc4d67ed737f4cd658306f92d5ed0c7e..6c3a44ed77639592160cbcba9b31de29ec738482 100644 (file)
@@ -1,4 +1,5 @@
 /* Generic assert.h */
+/* $OpenLDAP$ */
 /*
  * Copyright 1999 The OpenLDAP Foundation, Redwood City, California, USA
  * All rights reserved.
 #ifdef LDAP_DEBUG
 
 #if defined( HAVE_ASSERT_H ) || defined( STDC_HEADERS )
+
 #undef NDEBUG
 #include <assert.h>
-#else
+
+#else /* !(HAVE_ASSERT_H || STDC_HEADERS) */
+
 #define LDAP_NEED_ASSERT 1
 
 /*
  * create a replacement and hope it works
  */
 
-LDAP_F(void) ber_pvt_assert LDAP_F((
-       char* file, int line, char* test));
+LDAP_F(void) ber_pvt_assert LDAP_P((
+       const char *file, int line, const char *test ));
 
+/* Can't use LDAP_STRING(test), that'd expand to "test" */
+#if defined(__STDC__) || defined(__cplusplus)
 #define assert(test) \
-       ((test) \
-               ? (void)0 \
-               : ber_pvt_assert( __FILE__, __LINE__, LDAP_STRING(test)) )
-
+       ((test) ? (void)0 : ber_pvt_assert( __FILE__, __LINE__, #test ) )
+#else
+#define assert(test) \
+       ((test) ? (void)0 : ber_pvt_assert( __FILE__, __LINE__, "test" ) )
 #endif
 
-#else
+#endif /* (HAVE_ASSERT_H || STDC_HEADERS) */
+
+#else /* !LDAP_DEBUG */
 /* no asserts */
 #define assert(test) ((void)0)
-#endif
+#endif /* LDAP_DEBUG */
 
 #endif /* _AC_ASSERT_H */