Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask

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 all is quiet...

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (9)
As of 2017-06-27 14:17 GMT
Find Nodes?
    Voting Booth?
    How many monitors do you use while coding?

    Results (607 votes). Check out past polls.