Nikolay Sivov (@nsivov) commented about dlls/msxml3/tests/domdoc.c:
ok(attr_out != NULL, "removeAttributeNode expected to set attr_out, but got NULL pointer\n");
+}
if (attr_out)
{
/* remove the same attribute again returns invalid arg */
hr = IXMLDOMElement_removeAttributeNode( element, attr, NULL );
ok(hr == E_INVALIDARG, "removeAttributeNode removed an already removed node, unexpected hr %#lx.\n", hr);
/* readd removed attribute to recover previous state */
hr = IXMLDOMElement_setAttributeNode(element, attr_out, NULL);
ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
IXMLDOMAttribute_Release(attr_out);
}
IXMLDOMAttribute_Release(attr);
}
Please get rid of this nesting, no need to check for nulls for something that's not expected to be null. The 'attr_out' check should stay of course, until it's implemented in wine.