#include #include void errorHandler(void *ctx, xmlErrorPtr error) { puts("error handler"); } int main(int argc, char **argv) { char buf[] = "Invalid XML string"; int ret; xmlParserInputBufferPtr inputPtr; inputPtr = xmlAllocParserInputBuffer(XML_CHAR_ENCODING_NONE); xmlTextReaderPtr reader = xmlNewTextReader(inputPtr, NULL); /* * set error handlers * FIXME setting either is ok, setting both seg-faults */ xmlTextReaderSetStructuredErrorHandler(reader, errorHandler, NULL); xmlSetStructuredErrorFunc(NULL, errorHandler); xmlReaderNewMemory(reader, buf, sizeof(buf), NULL, "utf-8", 0); xmlTextReaderRead(reader); return (0); }