X-Git-Url: http://git.vpit.fr/?p=perl%2Fmodules%2FTest-Valgrind.git;a=blobdiff_plain;f=Valgrind.xs;h=137ddf0b77616777f8e7e4b9322148ed22840f7b;hp=9477f34932e60d88e7692843dd53261b55349b3c;hb=HEAD;hpb=cc7a828047363ac6c6021fd0857e4748ac0e646b diff --git a/Valgrind.xs b/Valgrind.xs index 9477f34..137ddf0 100644 --- a/Valgrind.xs +++ b/Valgrind.xs @@ -1,5 +1,5 @@ -/* This file is part of the Scalar::Vec::Util Perl module. - * See http://search.cpan.org/dist/Scalar-Vec-Util/ */ +/* This file is part of the Test::Valgrind Perl module. + * See http://search.cpan.org/dist/Test::Valgrind/ */ #define PERL_NO_GET_CONTEXT #include "EXTERN.h" @@ -18,7 +18,19 @@ const char *tv_leaky = NULL; -extern void tv_leak(void) { +/* malloc() on Windows needs the current interpreter. */ + +#ifdef PERL_IMPLICIT_SYS +# define TV_LEAK_PROTO pTHX +# define TV_LEAK_ARG aTHX +#else +# define TV_LEAK_PROTO void +# define TV_LEAK_ARG +#endif + +extern void tv_leak(TV_LEAK_PROTO); + +extern void tv_leak(TV_LEAK_PROTO) { tv_leaky = malloc(10000); return; @@ -39,7 +51,7 @@ BOOT: void leak() CODE: - tv_leak(); + tv_leak(TV_LEAK_ARG); XSRETURN_UNDEF; SV *