/*
 * 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;
}
