in reply to XS DESTROY not invoked
If your are using C++ ignore half of what I said below.
edit:code sample fixed
That is not valid XS code (maybe it now is in 2012), the types (SV *) go on the next inline in an explicity or implicity INPUT: section. Also _new_from_der will be called OpenCA::OpenSSL::CRL::_new_from_der in Perl. You also didn't show the body of _new_from_der so who knows if that works.MODULE = OpenCA::OpenSSL PACKAGE = OpenCA::OpenSSL::CRL OpenCA_OpenSSL_CRL _new_from_der(SV * sv)
MODULE = OpenCA::OpenSSL PACKAGE = OpenCA::OpenSSL::CRL +Ptr PREFIX = some_
2 different packages. Do aMODULE = OpenCA::OpenSSL PACKAGE = OpenCA::OpenSSL::CRL
to see what subs actually were registered in what packages. You can also look at end of the .c file generated during the compiling process for the "XS_EXTERNAL(boot_RootName__SecondName)" function and look at the newXS()s yourself. Also get very familiar with a step through C debugger and having your C compiler generate debugging symbols. You also will probably want to compile an -Od DEBUGGING perl for yourself too.use Data::Dumper; use OpenCA::YourModule; print Dumper(\%OpenCA::OpenSSL::CRL::);
edit:code sample fixed
|
---|
In Section
Seekers of Perl Wisdom