CRM_DEBUG2("Returning [%s]", local_node->name);
CRM_DEBUG("Returning [%s]", local_node->name);
copy_xml_node_recursive(xmlNodePtr src_node){#if XML_TRACE	const char *local_name = NULL;	xmlNodePtr local_node = NULL, node_iter = NULL, local_child = NULL;	xmlAttrPtr prop_iter = NULL;	FNIN();		if(src_node != NULL && src_node->name != NULL) {		local_node = create_xml_node(NULL, src_node->name);		prop_iter = src_node->properties;		while(prop_iter != NULL) {			const char *local_prop_name = prop_iter->name;			const char *local_prop_value =				xmlGetProp(src_node, local_prop_name);			set_xml_property_copy(local_node,					      local_prop_name,					      local_prop_value);						prop_iter = prop_iter->next;					}		node_iter = src_node->children;		while(node_iter != NULL) {			local_child = copy_xml_node_recursive(node_iter);			if(local_child != NULL) {				xmlAddChild(local_node, local_child);				CRM_DEBUG3("Copied node [%s [%s]", local_name, local_child->name);			} 							node_iter = node_iter->next;		}		CRM_DEBUG2("Returning [%s]", local_node->name);		FNRET(local_node);	}	CRM_DEBUG("Returning null");	FNRET(NULL);#else	return xmlCopyNode(src_node, 1);#endif}