diff options
Diffstat (limited to 'scope.h')
-rw-r--r-- | scope.h | 11 |
1 files changed, 4 insertions, 7 deletions
@@ -82,16 +82,13 @@ #define SAVEDELETE(h,k,l) \ save_delete(SOFT_CAST(HV*)(h), SOFT_CAST(char*)(k), (I32)(l)) #ifdef PERL_OBJECT -#define CALLDESTRUCTOR this->*SSPOPDPTR -#define SAVEDESTRUCTOR(f,p) \ - save_destructor((DESTRUCTORFUNC)(FUNC_NAME_TO_PTR(f)), \ - SOFT_CAST(void*)(p)) +#define CALLDESTRUCTOR(p) this->*SSPOPDPTR(p) #else -#define CALLDESTRUCTOR *SSPOPDPTR +#define CALLDESTRUCTOR(p) (*SSPOPDPTR)(aTHX_ p) +#endif #define SAVEDESTRUCTOR(f,p) \ - save_destructor(SOFT_CAST(void(*)(void*))(FUNC_NAME_TO_PTR(f)), \ + save_destructor((DESTRUCTORFUNC_t)(FUNC_NAME_TO_PTR(f)), \ SOFT_CAST(void*)(p)) -#endif #define SAVESTACK_POS() \ STMT_START { \ |