SvROK (scalar value reference OK/true) will tell you if your SV is a reference; not whether is simply exists - in this case, the value returned by ST(1), which should be the second value off the stack.

You might want to look at the actually type of reference SvROK thinks is coming back from the ST(1) call.

That can be done with:

/* if SvROK(ST(1) is true, i.e. it's a reference */ printf("\nDEBUG: Type is %d\n",SvTYPE(SvRV(ST(1)));
Take a look in sv.h for specifics on the meaning of the individual return value.

See also: perlguts, perlxs, perlxstut

Hope that helped,
-v
"Perl. There is no substitute."

In reply to Re: Help needed for XS on Perl v5.8.3 by Velaki
in thread Help needed for XS on Perl v5.8.3 by pijush

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.