summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2008-06-06 12:16:47 +0000
committerLennart Poettering <lennart@poettering.net>2008-06-06 12:16:47 +0000
commit28f1c0060912627df23873a6e179c801d86bfe9b (patch)
tree9427415281177773e11787077e43a25c9612004d
parent4143b3820dccb29485603ed35cb5589487672898 (diff)
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
-rw-r--r--src/macro.h23
1 files changed, 17 insertions, 6 deletions
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 <byteswap.h>
#endif