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)))
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;
}
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);
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);
{
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';
%%
+xmlChar* XSLPattern_to_XPath(xmlXPathContextPtr, xmlChar const*) DECLSPEC_HIDDEN;
xmlChar* XSLPattern_to_XPath(xmlXPathContextPtr ctxt, xmlChar const* xslpat_str)
{
parser_param p;
+xmlChar* XSLPattern_to_XPath(xmlXPathContextPtr, xmlChar const*) DECLSPEC_HIDDEN;
xmlChar* XSLPattern_to_XPath(xmlXPathContextPtr ctxt, xmlChar const* xslpat_str)
{
parser_param p;
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