all those *.h files are full of both mpxs_ functions and static XS functions, with functionaity implemented in one or the other seemingly at random. I have no idea how you would choose one format over the other, but if the mpxs_ implementation makes you more comfortable, that's fine - I'll commit that approach tomorrow.
Even though they look random, they aren't. I have tried to document some of these here:
http://perl.apache.org/docs/2.0/devel/core/explained.html#Adding_Wrappers_for_existing_APIs_and_Creating_New_APIs
wow. here I am raking through the code trying to figure it all out and there it is in print.
Admittedly it's incomplete. I wrote that document when I was coping with this puzzle myself. As you are now coping with it, it'd help if you could improve that document.
I believe Doug's idea was to have to write (and maintain) the minimal amount of code. So if you have a simple function where the args and return values can be converted from perl to C and back automatically, you use just that. If you have an optional number of args you use (...) and manipulate the stack. If you have a variable number/type of return args you use XS(). If you read the above section, things might get more clear.
yeah, that actually helps lots. now I know what to do with the others that will come :) thanks stas.
anyway, I made the change and committed it this morning - all tests pass and I can use it in real life just fine.
more stuff to come... :)
--Geoff
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]