diff options
author | Nicholas Clark <nick@ccl4.org> | 2006-05-02 15:55:25 +0000 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2006-05-02 15:55:25 +0000 |
commit | 77004dee2553ce034a8a58b2b2849e3656df46c3 (patch) | |
tree | 5c6f226952cfe75df4a5ef743bc577879e0642b3 /ext/DynaLoader/dl_next.xs | |
parent | 284edc75255273afc54ce4bfa99576ccc7d34c45 (diff) | |
download | perl-77004dee2553ce034a8a58b2b2849e3656df46c3.tar.gz |
Fix bug in DynaLoader, which has been passing a filename in dynamic
storage to newXS() seemingly forever. This involves creating
newXS_flags(), with the first flag being "arrange to copy the
filename and free it at the right time".
p4raw-id: //depot/perl@28063
Diffstat (limited to 'ext/DynaLoader/dl_next.xs')
-rw-r--r-- | ext/DynaLoader/dl_next.xs | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/ext/DynaLoader/dl_next.xs b/ext/DynaLoader/dl_next.xs index 265800b2af..e61c800802 100644 --- a/ext/DynaLoader/dl_next.xs +++ b/ext/DynaLoader/dl_next.xs @@ -305,9 +305,10 @@ dl_install_xsub(perl_name, symref, filename="$Package") CODE: DLDEBUG(2,PerlIO_printf(Perl_debug_log, "dl_install_xsub(name=%s, symref=%x)\n", perl_name, symref)); - ST(0) = sv_2mortal(newRV((SV*)newXS(perl_name, - (void(*)(pTHX_ CV *))symref, - filename))); + ST(0) = sv_2mortal(newRV((SV*)newXS_flags(perl_name, + (void(*)(pTHX_ CV *))symref, + filename, NULL, + XS_DYNAMIC_FILENAME))); char * |