Convert-Scalar
view release on metacpan or search on metacpan
sv_utf8_upgrade(scalar);
RETCOPY (scalar);
bool
utf8_downgrade (SV *scalar, bool fail_ok = 0)
CODE:
if (SvREADONLY (scalar))
croak ("Convert::Scalar::utf8_downgrade called on read only scalar");
RETVAL = !!sv_utf8_downgrade (scalar, fail_ok);
OUTPUT:
RETVAL
void
utf8_encode (SV *scalar)
PPCODE:
if (SvREADONLY (scalar))
croak ("Convert::Scalar::utf8_encode called on read only scalar");
sv_utf8_encode (scalar);
RETCOPY (scalar);
UV
utf8_length (SV *scalar)
CODE:
RETVAL = (UV) utf8_length (SvPV_nolen (scalar), SvEND (scalar));
OUTPUT:
RETVAL
bool
readonly (SV *scalar, SV *on = NO_INIT)
CODE:
RETVAL = SvREADONLY (scalar);
if (items > 1)
{
if (SvTRUE (on))
SvREADONLY_on (scalar);
else
SvREADONLY_off (scalar);
}
OUTPUT:
RETVAL
void
readonly_on (SV *scalar)
CODE:
SvREADONLY_on (scalar);
void
readonly_off (SV *scalar)
CODE:
SvREADONLY_off (scalar);
void
unmagic (SV *scalar, char type)
CODE:
sv_unmagic (scalar, type);
void
weaken (SV *scalar)
CODE:
sv_rvweaken (scalar);
void
taint (SV *scalar)
CODE:
SvTAINTED_on (scalar);
bool
tainted (SV *scalar)
CODE:
RETVAL = !!SvTAINTED (scalar);
OUTPUT:
RETVAL
void
untaint (SV *scalar)
CODE:
SvTAINTED_off (scalar);
STRLEN
len (SV *scalar)
CODE:
if (SvTYPE (scalar) < SVt_PV)
XSRETURN_UNDEF;
RETVAL = SvLEN (scalar);
OUTPUT:
RETVAL
void
grow (SV *scalar, STRLEN newlen)
PPCODE:
sv_grow (scalar, newlen);
if (GIMME_V != G_VOID)
XPUSHs (sv_2mortal (SvREFCNT_inc (scalar)));
void
extend (SV *scalar, STRLEN addlen = 64)
PPCODE:
{
extend (scalar, addlen);
if (GIMME_V != G_VOID)
XPUSHs (sv_2mortal (SvREFCNT_inc (scalar)));
}
SSize_t
extend_read (PerlIO *fh, SV *scalar, STRLEN addlen = 64)
CODE:
{
if (SvUTF8 (scalar))
sv_utf8_downgrade (scalar, 0);
extend (scalar, addlen);
RETVAL = PerlLIO_read (PerlIO_fileno (fh), SvEND (scalar), SvLEN (scalar) - SvCUR (scalar));
if (RETVAL < 0)
XSRETURN_UNDEF;
SvPOK_only (scalar);
SvCUR_set (scalar, SvCUR (scalar) + RETVAL);
( run in 1.417 second using v1.01-cache-2.11-cpan-5735350b133 )