[MSXML3] Sync with Wine Staging 1.7.47. CORE-9924

svn path=/trunk/; revision=68465
This commit is contained in:
Amine Khaldi 2015-07-19 23:07:13 +00:00
parent 8d9feb25c4
commit f756c9c7a0
6 changed files with 41 additions and 5 deletions

View file

@ -2120,7 +2120,13 @@ static HRESULT WINAPI domdoc_load(
case 1:
/* Only takes UTF-8 strings.
* NOT NULL-terminated. */
SafeArrayAccessData(psa, (void**)&str);
hr = SafeArrayAccessData(psa, (void**)&str);
if (FAILED(hr))
{
This->error = hr;
WARN("failed to access array data, 0x%08x\n", hr);
break;
}
SafeArrayGetUBound(psa, 1, &len);
if ((xmldoc = doparse(This, str, ++len, XML_CHAR_ENCODING_UTF8)))

View file

@ -1598,7 +1598,29 @@ static HRESULT WINAPI unknode_get_nodeType(
FIXME("(%p)->(%p)\n", This, domNodeType);
*domNodeType = This->node.node->type;
switch (This->node.node->type)
{
case XML_ELEMENT_NODE:
case XML_ATTRIBUTE_NODE:
case XML_TEXT_NODE:
case XML_CDATA_SECTION_NODE:
case XML_ENTITY_REF_NODE:
case XML_ENTITY_NODE:
case XML_PI_NODE:
case XML_COMMENT_NODE:
case XML_DOCUMENT_NODE:
case XML_DOCUMENT_TYPE_NODE:
case XML_DOCUMENT_FRAG_NODE:
case XML_NOTATION_NODE:
/* we only care about this set of types, libxml2 type values are
exactly what we need */
*domNodeType = (DOMNodeType)This->node.node->type;
break;
default:
*domNodeType = NODE_INVALID;
break;
}
return S_OK;
}
@ -1997,9 +2019,11 @@ IXMLDOMNode *create_node( xmlNodePtr node )
pUnk = create_doc_fragment( node );
break;
case XML_DTD_NODE:
case XML_DOCUMENT_TYPE_NODE:
pUnk = create_doc_type( node );
break;
default: {
case XML_ENTITY_NODE:
case XML_NOTATION_NODE: {
unknode *new_node;
FIXME("only creating basic node for type %d\n", node->type);
@ -2012,7 +2036,11 @@ IXMLDOMNode *create_node( xmlNodePtr node )
new_node->ref = 1;
init_xmlnode(&new_node->node, node, &new_node->IXMLDOMNode_iface, NULL);
pUnk = (IUnknown*)&new_node->IXMLDOMNode_iface;
break;
}
default:
ERR("Called for unsupported node type %d\n", node->type);
return NULL;
}
hr = IUnknown_QueryInterface(pUnk, &IID_IXMLDOMNode, (LPVOID*)&ret);

View file

@ -646,7 +646,7 @@ static void format_error_message_from_id(saxlocator *This, HRESULT hr)
{
WCHAR msg[1024];
if(!FormatMessageW(FORMAT_MESSAGE_FROM_SYSTEM,
NULL, hr, 0, msg, sizeof(msg), NULL))
NULL, hr, 0, msg, sizeof(msg)/sizeof(msg[0]), NULL))
{
FIXME("MSXML errors not yet supported.\n");
msg[0] = '\0';

View file

@ -152,6 +152,7 @@ ANY (.)
%%
xmlChar* XSLPattern_to_XPath(xmlXPathContextPtr, xmlChar const*) DECLSPEC_HIDDEN;
xmlChar* XSLPattern_to_XPath(xmlXPathContextPtr ctxt, xmlChar const* xslpat_str)
{
parser_param p;

View file

@ -2211,6 +2211,7 @@ void xslpattern_free (void * ptr , yyscan_t yyscanner)
xmlChar* XSLPattern_to_XPath(xmlXPathContextPtr, xmlChar const*) DECLSPEC_HIDDEN;
xmlChar* XSLPattern_to_XPath(xmlXPathContextPtr ctxt, xmlChar const* xslpat_str)
{
parser_param p;

View file

@ -134,7 +134,7 @@ reactos/dll/win32/msvfw32 # Synced to WineStaging-1.7.37
reactos/dll/win32/msvidc32 # Synced to WineStaging-1.7.37
reactos/dll/win32/msxml # Synced to WineStaging-1.7.37
reactos/dll/win32/msxml2 # Synced to WineStaging-1.7.37
reactos/dll/win32/msxml3 # Synced to WineStaging-1.7.37
reactos/dll/win32/msxml3 # Synced to WineStaging-1.7.47
reactos/dll/win32/msxml4 # Synced to WineStaging-1.7.37
reactos/dll/win32/msxml6 # Synced to WineStaging-1.7.37
reactos/dll/win32/nddeapi # Synced to WineStaging-1.7.37