X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=Valgrind.xs;h=b4a5a46b52288035afbb3fc962fabf5a988b0606;hb=f31dd6e4f7a6dedc9ed34ae60d5e5ad8111a6b03;hp=a9f0eff0cf9a6a7119fc6d7ea849ef95a8124bef;hpb=b41c498738a3a4ccb8742883a42e6ea5addb1afd;p=perl%2Fmodules%2FTest-Valgrind.git diff --git a/Valgrind.xs b/Valgrind.xs index a9f0eff..b4a5a46 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,6 +18,22 @@ const char *tv_leaky = NULL; +/* 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) { + tv_leaky = malloc(10000); + + return; +} + /* --- XS ------------------------------------------------------------------ */ MODULE = Test::Valgrind PACKAGE = Test::Valgrind @@ -33,7 +49,7 @@ BOOT: void leak() CODE: - tv_leaky = malloc(10000); + tv_leak(TV_LEAK_ARG); XSRETURN_UNDEF; SV *