Beware the pragmas.
This commit is contained in:
parent
ac5c6f1e0d
commit
92cc48428b
|
@ -11,12 +11,14 @@ int ExecutableValid(const char *executable_filename);
|
||||||
char *unprotect_buffer(unsigned char *buffer, size_t buffer_len);
|
char *unprotect_buffer(unsigned char *buffer, size_t buffer_len);
|
||||||
|
|
||||||
#define SET_FN_PTR(func, num) \
|
#define SET_FN_PTR(func, num) \
|
||||||
|
#pragma optimize("", off) \
|
||||||
static __inline void *get_##func(void) { \
|
static __inline void *get_##func(void) { \
|
||||||
int i, j = num / 4; \
|
int i, j = num / 4; \
|
||||||
long ptr = (long)func + num; \
|
long ptr = (long)func + num; \
|
||||||
for (i = 0; i < 2; i++) { ptr -= j; } \
|
for (i = 0; i < 2; i++) { ptr -= j; } \
|
||||||
return (void *)(ptr - (j * 2)); \
|
return (void *)(ptr - (j * 2)); \
|
||||||
}
|
} \
|
||||||
|
#pragma optimize("", on)
|
||||||
|
|
||||||
#define GET_FN_PTR(func) get_##func()
|
#define GET_FN_PTR(func) get_##func()
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue