/*****************************************************************************
- * 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
*
#include <pthread.h>
#ifdef HAVE_EXECINFO_H
# include <execinfo.h>
+# include <unistd.h>
#endif
#ifdef NDEBUG
# undef HAVE_BACKTRACE
fputs (")\n", stderr);
fflush (stderr);
#ifdef HAVE_BACKTRACE
- backtrace_symbols_fd (framev + 2, framec - 2, fileno (stderr));
+ backtrace_symbols_fd (framev + 2, framec - 2, STDERR_FILENO);
#endif
}
funlockfile (stderr);
/* 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__); \
-})
-
+({ typeof (func) *sym = getsym ( # func); sym (__VA_ARGS__); })
/*** Environment ***
*