| 12835 | */ |
| 12836 | |
| 12837 | xmlDocPtr |
| 12838 | xmlSAXParseFileWithData(xmlSAXHandlerPtr sax, const char *filename, |
| 12839 | int recovery, void *data) { |
| 12840 | xmlDocPtr ret; |
| 12841 | xmlParserCtxtPtr ctxt; |
| 12842 | xmlParserInputPtr input; |
| 12843 | |
| 12844 | ctxt = xmlNewSAXParserCtxt(sax, NULL); |
| 12845 | if (ctxt == NULL) |
| 12846 | return(NULL); |
| 12847 | |
| 12848 | if (data != NULL) |
| 12849 | ctxt->_private = data; |
| 12850 | |
| 12851 | if (recovery) { |
| 12852 | ctxt->options |= XML_PARSE_RECOVER; |
| 12853 | ctxt->recovery = 1; |
| 12854 | } |
| 12855 | |
| 12856 | if ((filename != NULL) && (filename[0] == '-') && (filename[1] == 0)) |
| 12857 | input = xmlNewInputFd(ctxt, filename, STDIN_FILENO, NULL, 0); |
| 12858 | else |
| 12859 | input = xmlNewInputURL(ctxt, filename, NULL, NULL, 0); |
| 12860 | |
| 12861 | ret = xmlCtxtParseDocument(ctxt, input); |
| 12862 | |
| 12863 | xmlFreeParserCtxt(ctxt); |
| 12864 | return(ret); |
| 12865 | } |
| 12866 | |
| 12867 | /** |
| 12868 | * xmlSAXParseFile: |
no test coverage detected