diff options
author | Haru <haru@dotalux.com> | 2020-01-13 00:33:36 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-01-13 00:33:36 +0100 |
commit | fe7af0adf1e06bad5da72ddfb125aa8a7799f770 (patch) | |
tree | d0cf45c295a8bd72bc959af214e35a0dbf589583 | |
parent | 776befcb4eedded935451078f00ae9ed50e8bd3e (diff) | |
parent | 9736ec9e8469c4faaf6fa4df0e56b5a4ab424999 (diff) | |
download | hercules-fe7af0adf1e06bad5da72ddfb125aa8a7799f770.tar.gz hercules-fe7af0adf1e06bad5da72ddfb125aa8a7799f770.tar.bz2 hercules-fe7af0adf1e06bad5da72ddfb125aa8a7799f770.tar.xz hercules-fe7af0adf1e06bad5da72ddfb125aa8a7799f770.zip |
Merge pull request #2608 from 4144/fixhpm
Fix redefine HPM structs in multy file plugins
-rw-r--r-- | src/common/HPMi.h | 6 | ||||
-rw-r--r-- | src/plugins/HPMHooking.h | 4 |
2 files changed, 10 insertions, 0 deletions
diff --git a/src/common/HPMi.h b/src/common/HPMi.h index 7698d3ca7..3d39f06d4 100644 --- a/src/common/HPMi.h +++ b/src/common/HPMi.h @@ -241,9 +241,15 @@ struct HPMi_interface { #ifdef HERCULES_CORE #define HPM_SYMBOL(n, s) (HPM->share((s), (n)), true) #else // ! HERCULES_CORE +#ifdef HERCULES_CORE_HPMI_SKIP +extern struct HPMi_interface HPMi_s; +extern struct HPMi_interface *HPMi; +extern void *(*import_symbol) (char *name, unsigned int pID); +#else HPExport struct HPMi_interface HPMi_s; HPExport struct HPMi_interface *HPMi; HPExport void *(*import_symbol) (char *name, unsigned int pID); +#endif #define HPM_SYMBOL(n, s) ((s) = import_symbol((n),HPMi->pid)) #endif // !HERCULES_CORE diff --git a/src/plugins/HPMHooking.h b/src/plugins/HPMHooking.h index f94dccac4..39d63a50b 100644 --- a/src/plugins/HPMHooking.h +++ b/src/plugins/HPMHooking.h @@ -41,7 +41,11 @@ struct HPMHooking_core_interface { const char *(*Hooked)(bool *fr); }; #else // ! HERCULES_CORE +#ifdef HERCULES_CORE_HPMI_SKIP +extern struct HPMHooking_interface HPMHooking_s; +#else HPExport struct HPMHooking_interface HPMHooking_s; +#endif #include "HPMHooking/HPMHooking.Defs.inc" |