I know I posted this patch a while ago, but I am looking thru a few patches I have and I thought I might re-post this one along with the rest This module allows one to do Apache->dso_module('module_name.c') and it will be true only of the module in question is present and has been loaded as DSO. Used to be usefull to me when attempting to work around <Perl> directives and mod_perl as DSO/not-DSO (now fixed). But I figured it could be usefull to others. -- +-----------------------------------------------+ | Philippe M. Chiasson <[EMAIL PROTECTED]> | | SmartWorker http://www.smartworker.org | | IM : gozerhbe ICQ : gozer/18279998 | | 64.8% computer corrupt according to | | http://www.freespeech.org/ljk/purity.html | +-----------------------------------------------+ You're much more likely to be knocked down by a snowball than by an equivalent number of snowflakes. -- Larry Wall perl -e '$$=\${gozer};{$_=unpack(P26,pack(L,$$));/^Just Another Perl Hacker!\n$/&&print||$$++&&redo}'
Index: src/modules/perl/Apache.xs =================================================================== RCS file: /home/cvs/modperl-1/src/modules/perl/Apache.xs,v retrieving revision 1.121 diff -u -U10 -b -B -I'$Id' -I'$Revision' -r1.121 Apache.xs --- src/modules/perl/Apache.xs 2001/05/01 17:28:37 1.121 +++ src/modules/perl/Apache.xs 2001/05/02 16:15:58 @@ -476,20 +476,40 @@ CODE: if((*(SvEND(name) - 2) == '.') && (*(SvEND(name) - 1) == 'c')) RETVAL = find_linked_module(SvPVX(name)) ? 1 : 0; else RETVAL = (sv && perl_module_is_loaded(SvPVX(name))); OUTPUT: RETVAL +I32 +dso_module(sv,name) + SV *sv + SV *name + + PREINIT: + module *mod; + + CODE: + mod = find_linked_module(SvPVX(name)); + if(name && mod) { + RETVAL = (mod->dynamic_load_handle) ? 1 : 0; + } + else { + XSRETURN_UNDEF; + } + + OUTPUT: + RETVAL + char * mod_perl_set_opmask(r, sv) Apache r SV *sv void untaint(...) PREINIT: int i;