/*****************************************************************************
- * override.c: overriden function calls for VLC media player
+ * override.c: overridden function calls for VLC media player
*****************************************************************************
* Copyright (C) 2010 RĂ©mi Denis-Courmont
*
logbug(&counter, level, __func__, __VA_ARGS__); \
} while (0)
-#ifdef __clang__
-
-#define CALL(func, ...) \
-({ typeof (func) *sym = getsym ( # func); sym (__VA_ARGS__); })
-
-#else
-
/* Evil non-standard GNU C macro ;)
* typeof keyword,
- * statement-expression,
- * nested function...
+ * statement-expression
*/
#define CALL(func, ...) \
-({ \
- static typeof (func) *sym = NULL; \
- static pthread_once_t once = PTHREAD_ONCE_INIT; \
- auto void getsym_once (void); \
- void getsym_once (void) \
- { \
- sym = getsym ( # func); \
- } \
- pthread_once (&once, getsym_once); \
- sym (__VA_ARGS__); \
-})
-
-#endif
+({ typeof (func) *sym = getsym ( # func); sym (__VA_ARGS__); })
/*** Environment ***
*
#endif
-/*** Dynaminc linker ***/
-
-void *dlopen (const char *path, int flags)
-{
- if (override && path != NULL)
- {
- /* Work around the KDE SIGCHLD and KDE D-Bus exit handler bugs */
- if (strstr (path, "libkde") != NULL)
- {
- LOG("Blocked", "\"%s\", %d", path, flags);
- return NULL;
- }
- }
- return CALL(dlopen, path, flags);
-}
-
-
-/*** Locales ***/
-
-/* setlocale() is not thread-safe and has a tendency to crash other threads as
+/*** Locales ***
+ * setlocale() is not thread-safe and has a tendency to crash other threads as
* quite many libc and libintl calls depend on the locale.
* Use uselocale() instead for thread-safety.
*/