develooper Front page | perl.perl5.porters | Postings from February 2012

Re: XS Typemap documentation and related changes

Thread Previous | Thread Next
Steffen Mueller
February 2, 2012 22:36
Re: XS Typemap documentation and related changes
Message ID:
Hi Craig,

On 02/03/2012 02:21 AM, Craig A. Berry wrote:
> On Thu, Feb 2, 2012 at 1:21 AM, Steffen Mueller<>  wrote:
>> Pushed a change to disable these tests.
> I reverted that change and pushed the following, which builds and
> passes on  VMS and OS X:
> commit 08d5d1db9586f83ed261965aabe8db9e99502648
> Author: Craig A. Berry<>
> Date:   Thu Feb 2 18:50:44 2012 -0600
>      Resurrect PerlIO-related typemap tests.

Wooh! Thanks for that!

> I have no idea and could not (easily) figure out how xsubpp converts
> something such as InputStream to an actual C typedef (presumably
> "PerlIO *").  But thanks to Steffen for starting to swat at the
> cobwebs.

With mixed success it seems :P

As for the typedef, it seems these don't come with Perl and the user has 
to know about them and include them in their XS code:

~/bleadperl/perl-ssh$ git grep InputStream
cpan/Digest-MD5/MD5.xs:typedef PerlIO* InputStream;
dist/IO/IO.xs:typedef PerlIO * InputStream;
dist/IO/IO.xs:typedef FILE * InputStream;
dist/Storable/Storable.xs:#define InputStream           PerlIO *
ext/B/B.xs:typedef PerlIO * InputStream;
ext/B/B.xs:typedef FILE * InputStream;

Irrelevant hits not included. If typemaps had an 
out-of-XSUB-do-not-include-this-bit-of-C-more-than-once-globally kind of 
mechanism, then this could be solved more elegantly AND we could make 
typemaps re-usable as functions and/or make them ship auxiliary functions.


Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About