svutf8_ro_test.c
text/x-csrc
Filename: svutf8_ro_test.c
Type: text/x-csrc
Part: 1
/*
* compile with gcc -O2 -ggdb `perl -MExtUtils::Embed -e ccopts -e ldopts` svutf8_ro_test.c
*/
#include <EXTERN.h>
#include <perl.h>
int main(void)
{
char *embed[] = { "", "-e", "0" };
int x;
AV *test;
PerlInterpreter *perl;
perl_construct(perl);
perl_parse(perl, NULL, 3, embed, NULL);
perl_run(perl);
eval_pv("my $scalar = 'string';"
"@test = ("
"'string', "
"$scalar, "
"\\$scalar, "
"1, "
"1.5, "
"[], "
"{}, "
"$^V, ,"
"v5.0.0, "
"sub {}, "
"qr//, "
"*STDIN, "
"bless({}, ''), "
");", 1);
test = get_av("test", 0);
for(x=0; x<=av_len(test); x++)
{
char *crap;
STRLEN len;
SV *sv = *av_fetch(test, x, 0);
svtype type = SvTYPE(sv);
SvREADONLY_on(sv);
if (SvREADONLY(sv) &&
type != SVt_IV ||
type != SVt_NV ||
type != SVt_PV)
sv = newSVsv(sv);
crap = SvPVutf8(sv, len);
}
perl_destruct(perl);
perl_free(perl);
return 0;
}