Module: wine Branch: master Commit: e47cbd1e5de2d8d28cc8bd316ffb581b877b1548 URL: http://source.winehq.org/git/wine.git/?a=commit;h=e47cbd1e5de2d8d28cc8bd316f...
Author: Piotr Caban piotr.caban@gmail.com Date: Thu Jul 17 00:41:52 2008 +0200
msxml3: Added ISAXContentHandler_putDocumentLocator event.
---
dlls/msxml3/saxreader.c | 18 ++++++++++++++++++ 1 files changed, 18 insertions(+), 0 deletions(-)
diff --git a/dlls/msxml3/saxreader.c b/dlls/msxml3/saxreader.c index 41c419c..16f1f23 100644 --- a/dlls/msxml3/saxreader.c +++ b/dlls/msxml3/saxreader.c @@ -246,6 +246,23 @@ static void libxmlCharacters( } }
+static void libxmlSetDocumentLocator( + void *ctx, + xmlSAXLocatorPtr loc) +{ + saxlocator *This = ctx; + HRESULT hr; + + hr = ISAXContentHandler_putDocumentLocator(This->saxreader->contentHandler, + (ISAXLocator*)&This->lpSAXLocatorVtbl); + + if(FAILED(hr)) + { + xmlStopParser(This->pParserCtxt); + This->ret = hr; + } +} + /*** ISAXLocator interface ***/ /*** IUnknown methods ***/ static HRESULT WINAPI isaxlocator_QueryInterface(ISAXLocator* iface, REFIID riid, void **ppvObject) @@ -1049,6 +1066,7 @@ HRESULT SAXXMLReader_create(IUnknown *pUnkOuter, LPVOID *ppObj) reader->sax.startElementNs = libxmlStartElementNS; reader->sax.endElementNs = libxmlEndElementNS; reader->sax.characters = libxmlCharacters; + reader->sax.setDocumentLocator = libxmlSetDocumentLocator;
*ppObj = &reader->lpVtbl;