Index: xmlreader.c =================================================================== RCS file: /cvs/gnome/gnome-xml/xmlreader.c,v retrieving revision 1.91 diff -a -c -p -r1.91 xmlreader.c *** xmlreader.c 16 Feb 2004 07:45:43 -0000 1.91 --- xmlreader.c 23 Feb 2004 16:28:15 -0000 *************** xmlTextReaderClose(xmlTextReaderPtr read *** 2051,2056 **** --- 2051,2057 ---- } if (reader->allocs & XML_TEXTREADER_CTXT) { xmlFreeParserCtxt(reader->ctxt); + reader->ctxt = NULL; reader->allocs -= XML_TEXTREADER_CTXT; } } *************** xmlTextReaderBuildMessage(const char *ms *** 3808,3813 **** --- 3809,3823 ---- return str; } + /* helper for getting the parser context */ + xmlTextReaderLocatorPtr + xmlTextReaderGetLocator( xmlTextReaderPtr reader ) { + if (reader == NULL) + return NULL; + + return (xmlTextReaderLocatorPtr)reader->ctxt; + } + /** * xmlTextReaderLocatorLineNumber: * @locator: the xmlTextReaderLocatorPtr used Index: include/libxml/xmlreader.h =================================================================== RCS file: /cvs/gnome/gnome-xml/include/libxml/xmlreader.h,v retrieving revision 1.27 diff -a -c -p -r1.27 xmlreader.h *** include/libxml/xmlreader.h 3 Feb 2004 08:27:55 -0000 1.27 --- include/libxml/xmlreader.h 23 Feb 2004 16:28:15 -0000 *************** XMLPUBFUN void XMLCALL *** 312,317 **** --- 312,319 ---- xmlTextReaderGetErrorHandler(xmlTextReaderPtr reader, xmlTextReaderErrorFunc *f, void **arg); + XMLPUBFUN xmlTextReaderLocatorPtr XMLCALL + xmlTextReaderGetLocator ( xmlTextReaderPtr reader ); #ifdef __cplusplus }