Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot

Re^3: Yet Another XS Tutorial

by ikegami (Pope)
on Dec 24, 2013 at 16:09 UTC ( #1068318=note: print w/ replies, xml ) Need Help??

in reply to Re^2: Yet Another XS Tutorial
in thread Yet Another XS Tutorial

It would be far more useful if you could provide explanations of what the problem is, why it is a problem

Each problem came with code to demonstrates it.

and ideally some hints on how to fix it.

Magic: Use SvGETMAGIC(sv) before reading from an SV. Use SvSETMAGIC(sv) after writing to an SV.

Unicode bug: Just like numbers can be stored in a scalar in a number of ways, so can strings. Accessing a string's buffer without determining how data is stored in it is a bug. (This pretty much rules out using `char *` in XS function prototypes.) If you expect bytes, SvPVbyte will get them. If you expect text, SvPVutf8 will get it encoded using utf8.

Comment on Re^3: Yet Another XS Tutorial
Select or Download Code

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1068318]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (3)
As of 2015-11-28 07:19 GMT
Find Nodes?
    Voting Booth?

    What would be the most significant thing to happen if a rope (or wire) tied the Earth and the Moon together?

    Results (739 votes), past polls