Mercurial > audlegacy
view audacious/debug.h @ 227:539a0fa7f030 trunk
[svn] Unicode support fixes, based on an XMMS patch written by Ilya Konstantinov. <ikonst@users.sourceforge.net>:
- Fixes UTF16 to UTF8 down-conversion.
- Fixes length management of UTF8 entities.
- Doesn't break ASCII support.
- Corrects several issues with the original implementation.
author | nenolod |
---|---|
date | Fri, 25 Nov 2005 20:23:40 -0800 |
parents | cb178e5ad177 |
children |
line wrap: on
line source
#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