diff options
author | Havoc Pennington <hp@redhat.com> | 2003-04-24 19:18:23 +0000 |
---|---|---|
committer | Havoc Pennington <hp@redhat.com> | 2003-04-24 19:18:23 +0000 |
commit | c9cd648f115759176d35508e9007dc5520a0dd3f (patch) | |
tree | f995183f7e792f5e5647274275ef6cfbbe3dffe9 /dbus/dbus-internals.h | |
parent | c2a28557111c3cfdb10f8a0cfdd495ffd70fa0a3 (diff) |
2003-04-24 Havoc Pennington <hp@redhat.com>
* configure.in: add --enable-checks
* dbus/dbus-message.c (dbus_message_new): reverse name/service arguments
* dbus/dbus-connection.c (dbus_connection_preallocate_send): fix
to use thread locks.
(_dbus_connection_handler_destroyed_locked): move some private
functions into proper docs group
* dbus/dbus-internals.h: add _dbus_return_if_fail,
_dbus_return_val_if_fail
Throughout: use dbus_return_if_fail
Diffstat (limited to 'dbus/dbus-internals.h')
-rw-r--r-- | dbus/dbus-internals.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/dbus/dbus-internals.h b/dbus/dbus-internals.h index c99caa74..6a0ae746 100644 --- a/dbus/dbus-internals.h +++ b/dbus/dbus-internals.h @@ -43,6 +43,14 @@ void _dbus_verbose_real (const char *format, ...) _DBUS_GNUC_PRINTF (1, 2); void _dbus_verbose_reset_real (void); +#if defined (__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) +#define _DBUS_FUNCTION_NAME __func__ +#elif defined(__GNUC__) +#define _DBUS_FUNCTION_NAME __FUNCTION__ +#else +#define _DBUS_FUNCTION_NAME "unknown function" +#endif + #ifdef DBUS_ENABLE_VERBOSE_MODE # define _dbus_verbose _dbus_verbose_real # define _dbus_verbose_reset _dbus_verbose_reset_real @@ -80,6 +88,28 @@ void _dbus_real_assert_not_reached (const char *explanation, _dbus_real_assert_not_reached (explanation, __FILE__, __LINE__) #endif /* !DBUS_DISABLE_ASSERT */ +#ifdef DBUS_DISABLE_CHECKS +#define _dbus_return_if_fail(condition) +#define _dbus_return_val_if_fail(condition, val) +#else +extern const char _dbus_return_if_fail_warning_format[]; + +#define _dbus_return_if_fail(condition) do { \ + if (!(condition)) { \ + _dbus_warn (_dbus_return_if_fail_warning_format, \ + _DBUS_FUNCTION_NAME, #condition, __FILE__, __LINE__); \ + return; \ + } } while (0) + +#define _dbus_return_val_if_fail(condition, val) do { \ + if (!(condition)) { \ + _dbus_warn (_dbus_return_if_fail_warning_format, \ + _DBUS_FUNCTION_NAME, #condition, __FILE__, __LINE__); \ + return (val); \ + } } while (0) + +#endif /* !DBUS_DISABLE_ASSERT */ + #define _DBUS_N_ELEMENTS(array) ((int) (sizeof ((array)) / sizeof ((array)[0]))) #define _DBUS_POINTER_TO_INT(pointer) ((long)(pointer)) @@ -93,6 +123,9 @@ void _dbus_real_assert_not_reached (const char *explanation, #define _DBUS_ASSERT_ERROR_IS_SET(error) _dbus_assert ((error) == NULL || dbus_error_is_set ((error))) #define _DBUS_ASSERT_ERROR_IS_CLEAR(error) _dbus_assert ((error) == NULL || !dbus_error_is_set ((error))) +#define _dbus_return_if_error_is_set(error) _dbus_return_if_fail ((error) == NULL || !dbus_error_is_set ((error))) +#define _dbus_return_val_if_error_is_set(error, val) _dbus_return_val_if_fail ((error) == NULL || !dbus_error_is_set ((error)), (val)) + /* This alignment thing is from ORBit2 */ /* Align a value upward to a boundary, expressed as a number of bytes. * E.g. align to an 8-byte boundary with argument of 8. |