XML-ED
view release on metacpan or search on metacpan
lib/XML/ED/Bare.xs view on Meta::CPAN
CODE:
rootpos = text;
PERL_HASH(vhash, "value", 5);
PERL_HASH(Vhash, "_value", 6);
PERL_HASH(ahash, "_att", 4);
PERL_HASH(chash, "comment", 7);
PERL_HASH(phash, "_pos", 4);
PERL_HASH(ihash, "_i", 2 );
PERL_HASH(zhash, "_z", 2 );
PERL_HASH(nhash, "_n", 2 );
PERL_HASH(cdhash, "_cdata", 6 );
PERL_HASH(typehash, "_type", 5 );
parser = (struct parserc *) malloc( sizeof( struct parserc ) );
root = parserc_parse( parser, text );
SV *
get_root()
CODE:
RETVAL = newSVuv( PTR2UV( root ) );
OUTPUT:
RETVAL
lib/XML/ED/parser.c view on Meta::CPAN
if (let == '>') {
curnode->vallen = cpos - curnode->value;
cpos++;
curnode = curnode->parent;
goto val_1;
}
cpos++;
goto bang;
cdata:
let = *cpos;
if (!let)
goto done;
if (let == ']' && *(cpos + 1) == ']' && *(cpos + 2) == '>') {
cpos += 3;
goto val_1;
}
cpos++;
goto cdata;
// looking for name after <
name_1:
#ifdef DEBUG
printf("name_1: %c\n", *cpos);
#endif
let = *cpos;
switch (let) {
case '\0':
( run in 0.579 second using v1.01-cache-2.11-cpan-454fe037f31 )