XML-TinyXML
view release on metacpan or search on metacpan
strncpy(comment, mark, p-mark);
err = XmlExtraNodeHandler(xml, comment, XML_NODETYPE_COMMENT);
free(comment);
p+=3;
} else if(strncmp(p, "![", 2) == 0) {
mark = p;
p += 2; /* skip ![ */
SKIP_WHITESPACES(p);
//mark = p;
if(strncmp(p, "CDATA", 5) == 0) {
char *cdata = NULL;
p+=5;
SKIP_WHITESPACES(p);
if(*p != '[') {
fprintf(stderr, "Unsupported entity type at \"... -->%15s\"", mark);
err = XML_PARSER_GENERIC_ERR;
goto _parser_err;
}
mark = ++p;
p = strstr(mark, "]]>");
if(!p) {
/* XXX - TODO - This error condition must be handled asap */
}
cdata = (char *)calloc(1, p-mark+1);
if(!cdata) {
err = XML_MEMORY_ERR;
goto _parser_err;
}
strncpy(cdata, mark, p-mark);
err = XmlExtraNodeHandler(xml, cdata, XML_NODETYPE_CDATA);
free(cdata);
p+=3;
} else {
fprintf(stderr, "Unsupported entity type at \"... -->%15s\"", mark);
err = XML_PARSER_GENERIC_ERR;
goto _parser_err;
}
} else if(*p =='?') { /* head */
char *encoding = NULL;
p++;
mark = p;
( run in 0.519 second using v1.01-cache-2.11-cpan-454fe037f31 )