Piotr Caban : msxml3: Added support for SafeArrays in ISAXXMLReader_parse.
Alexandre Julliard
julliard at winehq.org
Mon Jul 21 08:51:38 CDT 2008
Module: wine
Branch: master
Commit: 75681ef314461517052af38c2a533138e049b05b
URL: http://source.winehq.org/git/wine.git/?a=commit;h=75681ef314461517052af38c2a533138e049b05b
Author: Piotr Caban <piotr.caban at gmail.com>
Date: Sat Jul 19 22:41:39 2008 +0200
msxml3: Added support for SafeArrays in ISAXXMLReader_parse.
---
dlls/msxml3/saxreader.c | 19 +++++++++++++++++++
1 files changed, 19 insertions(+), 0 deletions(-)
diff --git a/dlls/msxml3/saxreader.c b/dlls/msxml3/saxreader.c
index 9250c61..f0d1ef5 100644
--- a/dlls/msxml3/saxreader.c
+++ b/dlls/msxml3/saxreader.c
@@ -1064,6 +1064,25 @@ static HRESULT WINAPI isaxxmlreader_parse(
if(xmlParseDocument(locator->pParserCtxt)) hr = E_FAIL;
else hr = locator->ret;
break;
+ case VT_ARRAY|VT_UI1:
+ locator->pParserCtxt = xmlNewParserCtxt();
+ if(!locator->pParserCtxt)
+ {
+ hr = E_FAIL;
+ break;
+ }
+
+ hr = SafeArrayAccessData(V_ARRAY(&varInput), (void**)&data);
+ if(hr != S_OK) break;
+ xmlSetupParserForBuffer(locator->pParserCtxt, data, NULL);
+ SafeArrayUnaccessData(V_ARRAY(&varInput));
+
+ locator->pParserCtxt->sax = &locator->saxreader->sax;
+ locator->pParserCtxt->userData = locator;
+
+ if(xmlParseDocument(locator->pParserCtxt)) hr = E_FAIL;
+ else hr = locator->ret;
+ break;
default:
hr = E_NOTIMPL;
}
More information about the wine-cvs
mailing list