Use a single function to create all IXMLDOMNode implementations.
diff --git a/dlls/msxml3/domdoc.c b/dlls/msxml3/domdoc.c
index fd96b28..be85aba 100644
--- a/dlls/msxml3/domdoc.c
+++ b/dlls/msxml3/domdoc.c
@@ -729,7 +729,7 @@
if ( !xmldoc )
return S_FALSE;
- This->node = create_domdoc_node( xmldoc );
+ This->node = create_node( (xmlNodePtr) xmldoc );
if ( !This->node )
{
*isSuccessful = VARIANT_FALSE;
@@ -847,7 +847,7 @@
xmldoc = doparse( str, len );
HeapFree( GetProcessHeap(), 0, str );
- This->node = create_domdoc_node( xmldoc );
+ This->node = create_node( (xmlNodePtr) xmldoc );
if( !This->node )
return S_FALSE;
diff --git a/dlls/msxml3/element.c b/dlls/msxml3/element.c
index 7a153e8..81fdbf4 100644
--- a/dlls/msxml3/element.c
+++ b/dlls/msxml3/element.c
@@ -580,7 +580,7 @@
return NULL;
This->lpVtbl = &domelem_vtbl;
- This->node = create_element_node( element );
+ This->node = create_node( element );
This->ref = 1;
if ( !This->node )
diff --git a/dlls/msxml3/msxml_private.h b/dlls/msxml3/msxml_private.h
index 788343c..7398c1e 100644
--- a/dlls/msxml3/msxml_private.h
+++ b/dlls/msxml3/msxml_private.h
@@ -30,15 +30,12 @@
#endif
/* constructors */
-extern IXMLDOMNode *create_domdoc_node( xmlDocPtr node );
extern IUnknown *create_domdoc( void );
-extern IXMLDOMNode *create_attribute_node( xmlAttrPtr attr );
extern IUnknown *create_xmldoc( void );
+extern IXMLDOMNode *create_node( xmlNodePtr node );
extern IXMLDOMElement *create_element( xmlNodePtr element );
-extern IXMLDOMNode *create_element_node( xmlNodePtr element );
-extern IXMLDOMNamedNodeMap *create_nodemap( IXMLDOMNode *node );
-extern IXMLDOMNode *create_generic_node( xmlNodePtr node );
extern IXMLDOMNodeList *create_nodelist( xmlNodePtr node );
+extern IXMLDOMNamedNodeMap *create_nodemap( IXMLDOMNode *node );
/* data accessors */
xmlNodePtr xmlNodePtr_from_domnode( IXMLDOMNode *iface, xmlElementType type );
diff --git a/dlls/msxml3/node.c b/dlls/msxml3/node.c
index 657b16c..3fc0b86 100644
--- a/dlls/msxml3/node.c
+++ b/dlls/msxml3/node.c
@@ -624,7 +624,7 @@
xmlnode_transformNodeToObject,
};
-static IXMLDOMNode *create_node( xmlNodePtr node )
+IXMLDOMNode *create_node( xmlNodePtr node )
{
xmlnode *This;
@@ -670,24 +670,4 @@
return (IXMLDOMNode*) &This->lpVtbl;
}
-IXMLDOMNode *create_domdoc_node( xmlDocPtr node )
-{
- return create_node( (xmlNodePtr) node );
-}
-
-IXMLDOMNode *create_attribute_node( xmlAttrPtr node )
-{
- return create_node( (xmlNodePtr) node );
-}
-
-IXMLDOMNode *create_element_node( xmlNodePtr element )
-{
- return create_node( element );
-}
-
-IXMLDOMNode *create_generic_node( xmlNodePtr node )
-{
- return create_node( node );
-}
-
#endif
diff --git a/dlls/msxml3/nodemap.c b/dlls/msxml3/nodemap.c
index 6659bfc..9062353 100644
--- a/dlls/msxml3/nodemap.c
+++ b/dlls/msxml3/nodemap.c
@@ -168,7 +168,7 @@
if ( !attr )
return E_FAIL;
- *namedItem = create_attribute_node( attr );
+ *namedItem = create_node( (xmlNodePtr) attr );
return S_OK;
}