I can manipulate the elements on the sp stack if I use this declaration:

   void mpxs_Apache__Foo_bar(pTHX_ I32 items, SV **MARK, SV **SP)

but I cannot control the stack on the way back, since WrapXS will
render this function as:

XS(XS_Apache_Foo_bar)
{
    dXSARGS;
     {
     mpxs_Apache__Foo_bar(aTHX_ items, MARK+1, SP);
     }
     XSRETURN_EMPTY;
}

This XSRETURN_EMPTY ruins everything.

Now the only way I can manipulate the returning stack with WrapXS is
using MPXS_ declaration like:

   static XS(MPXS_Apache__Foo_bar)

and then I can do anything I want, since there will be no wrapper
created around this XSsub.

The problem is that source_scan won't pick up an MPXS_ function if it
doesn't start with MPXS_{apr|ap|modperl}. Any idea what's
wrong with:

   static XS(MPXS_Apache__Foo_bar)

I don't like calling my functions modperl_ when they actually can be 
used outside modperl.

Thanks!

_____________________________________________________________________
Stas Bekman             JAm_pH      --   Just Another mod_perl Hacker
http://stason.org/      mod_perl Guide   http://perl.apache.org/guide
mailto:[EMAIL PROTECTED]  http://ticketmaster.com http://apacheweek.com
http://singlesheaven.com http://perl.apache.org http://perlmonth.com/


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to