Skip to content

Commit fe7af0a

Browse files
Merge pull request #2608 from 4144/fixhpm
Fix redefine HPM structs in multy file plugins
2 parents 776befc + 9736ec9 commit fe7af0a

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

src/common/HPMi.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -241,9 +241,15 @@ struct HPMi_interface {
241241
#ifdef HERCULES_CORE
242242
#define HPM_SYMBOL(n, s) (HPM->share((s), (n)), true)
243243
#else // ! HERCULES_CORE
244+
#ifdef HERCULES_CORE_HPMI_SKIP
245+
extern struct HPMi_interface HPMi_s;
246+
extern struct HPMi_interface *HPMi;
247+
extern void *(*import_symbol) (char *name, unsigned int pID);
248+
#else
244249
HPExport struct HPMi_interface HPMi_s;
245250
HPExport struct HPMi_interface *HPMi;
246251
HPExport void *(*import_symbol) (char *name, unsigned int pID);
252+
#endif
247253
#define HPM_SYMBOL(n, s) ((s) = import_symbol((n),HPMi->pid))
248254
#endif // !HERCULES_CORE
249255

src/plugins/HPMHooking.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,11 @@ struct HPMHooking_core_interface {
4141
const char *(*Hooked)(bool *fr);
4242
};
4343
#else // ! HERCULES_CORE
44+
#ifdef HERCULES_CORE_HPMI_SKIP
45+
extern struct HPMHooking_interface HPMHooking_s;
46+
#else
4447
HPExport struct HPMHooking_interface HPMHooking_s;
48+
#endif
4549

4650
#include "HPMHooking/HPMHooking.Defs.inc"
4751

0 commit comments

Comments
 (0)