Mercurial > audlegacy
diff src/audacious/debug.h @ 2313:3149d4b1a9a9 trunk
[svn] - objective-make autodepend fixes
- move all sourcecode into src/ and adjust Makefiles accordingly
author | nenolod |
---|---|
date | Fri, 12 Jan 2007 11:43:40 -0800 |
parents | |
children | 7a0ca380c843 2eee464379dc |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/audacious/debug.h Fri Jan 12 11:43:40 2007 -0800 @@ -0,0 +1,44 @@ +#ifndef DEBUG_H +#define DEBUG_H + +#include <glib.h> + +#ifdef NDEBUG + +/* void REQUIRE_LOCK(GMutex *m); */ +# define REQUIRE_LOCK(m) + +/* void REQUIRE_STR_UTF8(const gchar *str); */ +# define REQUIRE_STR_UTF8(str) + +/* void REQUIRE_STATIC_LOCK(GStaticMutex *m); */ +# define REQUIRE_STATIC_LOCK(m) + +#else /* !NDEBUG */ + +/* void REQUIRE_LOCK(GMutex *m); */ +# define REQUIRE_LOCK(m) G_STMT_START { \ + if (g_mutex_trylock(m)) { \ + g_critical(G_STRLOC ": Mutex not locked!"); \ + g_mutex_unlock(m); \ + } \ + } G_STMT_END + +/* void REQUIRE_STATIC_LOCK(GStaticMutex *m); */ +# define REQUIRE_STATIC_LOCK(m) G_STMT_START { \ + if (G_TRYLOCK(m)) { \ + g_critical(G_STRLOC ": Mutex not locked!"); \ + G_UNLOCK(m); \ + } \ + } G_STMT_END + +/* void REQUIRE_STR_UTF8(const gchar *str); */ +# define REQUIRE_STR_UTF8(str) G_STMT_START { \ + if (!g_utf_validate(str, -1, NULL)) \ + g_warning(G_STRLOC ": String is not UTF-8!"); \ + } G_STMT_END + +#endif /* NDEBUG */ + + +#endif