Doug,
This kind of construct:
int mpxs_Apache__Foo_bar(pTHX_ I32 items, SV **MARK, SV **SP)
is special to WrapXS, isn't it?
you cannot really use ST() macros inside of it to access arguments on
the stack. I see that 'ax' + PL_stack_base don't point to the first
argument, but to the second
Doug MacEachern wrote:
> % find xs -name "*.h" | xargs grep MPXS_
> ...
> xs/Apache/Log/Apache__Log.h:static XS(MPXS_Apache__Log_dispatch)
> xs/Apache/Log/Apache__Log.h:static XS(MPXS_Apache_LOG_MARK)
> xs/Apache/Log/Apache__Log.h:static XS(MPXS_Apache__Log_log_xerror)
> xs/Apache/Log/Apache__Log.
% find xs -name "*.h" | xargs grep MPXS_
...
xs/Apache/Log/Apache__Log.h:static XS(MPXS_Apache__Log_dispatch)
xs/Apache/Log/Apache__Log.h:static XS(MPXS_Apache_LOG_MARK)
xs/Apache/Log/Apache__Log.h:static XS(MPXS_Apache__Log_log_xerror)
xs/Apache/Log/Apache__Log.h:static XS(MPXS_Apache__Log_log_er
it's on the todo list. the rough plan i had in my head is totally
different from the 1.x version, i haven't had time to work on it yet.
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PRO
Stas Bekman wrote:
> 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)
> {
>
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