summaryrefslogtreecommitdiffstats
path: root/apps/plugins/puzzles/rbcompat.h
blob: 7934f5d8019044288b3d7268be837320c055191d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#ifndef __RBCOMPAT_H__
#define __RBCOMPAT_H__

#include "plugin.h"
#include "rbassert.h"
#include "lib/pluginlib_exit.h"
#include "lib/stdio_compat.h"

#include <tlsf.h>

#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 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