#ifndef __RBCOMPAT_H__ #define __RBCOMPAT_H__ #include "plugin.h" #include "rbassert.h" #include "lib/pluginlib_exit.h" #include "lib/stdio_compat.h" #include #undef STR int sprintf_wrapper(char *str, const char *fmt, ...); char *getenv_wrapper(const char *c); int puts_wrapper(const char *s); double sin_wrapper(double rads); double cos_wrapper(double rads); int vsprintf_wrapper(char *s, const char *fmt, va_list ap); float fabs_wrapper(float n); float floor_wrapper(float n); float atan_wrapper(float x); float atan2_wrapper(float y, float x); float sqrt_wrapper(float x); long strtol_wrapper(const char *nptr, char **endptr, int base); int64_t strtoq_wrapper(const char *nptr, char **endptr, int base); uint64_t strtouq_wrapper(const char *nptr, char **endptr, int base); float pow_wrapper(float x, float y); float ceil_wrapper(float x); size_t strspn_wrapper(const char *s1, const char *s2); size_t strcspn_wrapper(const char *s1, const char *s2); int sscanf_wrapper(const char *ibuf, const char *fmt, ...); double atof_wrapper(const char *s); double acos_wrapper(double x); #define acos acos_wrapper #define atan atan_wrapper #define atan2 atan2_wrapper #define atof atof_wrapper #define atoi rb->atoi #define atol atoi #define calloc tlsf_calloc #define ceil ceil_wrapper #define cos cos_wrapper #define fabs fabs_wrapper #define floor floor_wrapper #define free tlsf_free #define getenv getenv_wrapper #define malloc tlsf_malloc #define memchr rb->memchr #define memswap puzzles_memswap #define pow pow_wrapper #define printf LOGF #define puts puts_wrapper #define qsort rb->qsort #define realloc tlsf_realloc #define sin sin_wrapper #define sprintf sprintf_wrapper #define sqrt sqrt_wrapper #define sscanf sscanf_wrapper #define strcat rb->strcat #define strchr rb->strchr #define strcmp rb->strcmp #define strcpy rb->strcpy #define strlen rb->strlen #define strtol strtol_wrapper #define strtoq strtoq_wrapper #define strtouq strtouq_wrapper #define vsprintf vsprintf_wrapper #ifndef strcspn #define strcspn strcspn_wrapper #endif #ifndef strspn /* gcc has builtin */ #define strspn strspn_wrapper #endif #define abs(x) ((x)<0?-(x):(x)) #define labs abs #endif