From 28f1c0060912627df23873a6e179c801d86bfe9b Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Fri, 6 Jun 2008 12:16:47 +0000 Subject: show ca_return_if_fail warnings only when is set git-svn-id: file:///home/lennart/svn/public/libcanberra/trunk@50 01b60673-d06a-42c0-afdd-89cb8e0f78ac --- src/macro.h | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) (limited to 'src/macro.h') diff --git a/src/macro.h b/src/macro.h index ee25195..369fe3b 100644 --- a/src/macro.h +++ b/src/macro.h @@ -47,7 +47,8 @@ #define ca_return_if_fail(expr) \ do { \ if (CA_UNLIKELY(!(expr))) { \ - fprintf(stderr, "Assertion '%s' failed at %s:%u, function %s().\n", #expr , __FILE__, __LINE__, CA_PRETTY_FUNCTION); \ + if (ca_debug()) \ + fprintf(stderr, "Assertion '%s' failed at %s:%u, function %s().\n", #expr , __FILE__, __LINE__, CA_PRETTY_FUNCTION); \ return; \ } \ } while(FALSE) @@ -55,7 +56,8 @@ #define ca_return_val_if_fail(expr, val) \ do { \ if (CA_UNLIKELY(!(expr))) { \ - fprintf(stderr, "Assertion '%s' failed at %s:%u, function %s().\n", #expr , __FILE__, __LINE__, CA_PRETTY_FUNCTION); \ + if (ca_debug()) \ + fprintf(stderr, "Assertion '%s' failed at %s:%u, function %s().\n", #expr , __FILE__, __LINE__, CA_PRETTY_FUNCTION); \ return (val); \ } \ } while(FALSE) @@ -65,7 +67,8 @@ #define ca_return_if_fail_unlock(expr, mutex) \ do { \ if (CA_UNLIKELY(!(expr))) { \ - fprintf(stderr, "Assertion '%s' failed at %s:%u, function %s().\n", #expr , __FILE__, __LINE__, CA_PRETTY_FUNCTION); \ + if (ca_debug()) \ + fprintf(stderr, "Assertion '%s' failed at %s:%u, function %s().\n", #expr , __FILE__, __LINE__, CA_PRETTY_FUNCTION); \ ca_mutex_unlock(mutex); \ return; \ } \ @@ -74,7 +77,8 @@ #define ca_return_val_if_fail_unlock(expr, val, mutex) \ do { \ if (CA_UNLIKELY(!(expr))) { \ - fprintf(stderr, "Assertion '%s' failed at %s:%u, function %s().\n", #expr , __FILE__, __LINE__, CA_PRETTY_FUNCTION); \ + if (ca_debug()) \ + fprintf(stderr, "Assertion '%s' failed at %s:%u, function %s().\n", #expr , __FILE__, __LINE__, CA_PRETTY_FUNCTION); \ ca_mutex_unlock(mutex); \ return (val); \ } \ @@ -158,7 +162,16 @@ #define CA_PTR_TO_INT32(p) ((int32_t) CA_PTR_TO_UINT(p)) #define CA_INT32_TO_PTR(u) CA_UINT_TO_PTR((int32_t) u) +typedef int ca_bool_t; + +static inline ca_bool_t ca_debug(void) { + const char *d; + + if ((d = getenv("CANBERRA_DEBUG"))) + return !!*d; + return FALSE; +} static inline size_t ca_align(size_t l) { return (((l + sizeof(void*) - 1) / sizeof(void*)) * sizeof(void*)); @@ -168,8 +181,6 @@ static inline size_t ca_align(size_t l) { typedef void (*ca_free_cb_t)(void *); -typedef int ca_bool_t; - #ifdef HAVE_BYTESWAP_H #include #endif -- cgit