Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number

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.

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 drinking their drinks and smoking their pipes about the Monastery: (5)
As of 2019-04-25 20:17 GMT
Find Nodes?
    Voting Booth?
    I am most likely to install a new module from CPAN if:

    Results (127 votes). Check out past polls.

    • (Sep 10, 2018 at 22:53 UTC) Welcome new users!