in reply to ExtUtils::ParseXS has changed
Well, you certainly should not put non-arguments there. The line after "pdl* x" should declare the type of the "position" argument. It should not be some random bit of code about "pos", which is not one of the arguments.
The fact that it used to work is certainly an accident.
But the correct thing to do is not what you proposed but more like:
SV * at_c(x,position) pdl* x SV* position PREINIT: PDL_Long * pos; CODE: ... OUTPUT: RETVAL
Then you can also replace "ST(1)" with "position" in the code.
"The PREINIT: keyword allows extra variables to be declared immediately before or after the declarations of the parameters from the INPUT: section are emitted."
- tye
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: ExtUtils::ParseXS has changed (PREINIT:)
by syphilis (Archbishop) on Aug 18, 2011 at 01:02 UTC | |
by tsee (Curate) on Aug 24, 2011 at 06:30 UTC | |
by syphilis (Archbishop) on Aug 24, 2011 at 07:53 UTC | |
by ikegami (Patriarch) on Aug 18, 2011 at 03:35 UTC | |
by etj (Priest) on May 26, 2022 at 13:48 UTC |