On Thursday 17 of July 2008 04:07:29 you wrote:
"Piotr Caban" <piotr.caban(a)gmail.com> wrote in message news:200807170041.01333.piotr.caban(a)gmail.com... +/*** LibXML callbacks ***/ +static void libxmlStartDocument(void *ctx) +{ + saxlocator *This = ctx; + HRESULT hr; + + if(This->saxreader->contentHandler) + { + hr = ISAXContentHandler_startDocument(This->saxreader->contentHandler); + if(FAILED(hr)) + { + xmlStopParser(This->pParserCtxt); + This->ret = hr; + } Hi Piotr,
Should This->ret be set on a non-error? When ISAXErrorHandler is not registered ISAXXMLReader_parse stops only when ISAXContentHandler returns negative value. This is why the parser is stopped and return value is set only if FAILED(hr) returns true. I don't know how it works when ISAXErrorHandler is registered. I will check it when adding the interface. When ISAXXMLReader_parse parses whole document S_OK is returned. In this case This->ret should not be changed.
Best Regards Alistair Leslie-Hughes Regards, Piotr Caban