CRM_DEBUG2("Updating " XML_CIB_TAG_RESOURCE " (%s)...", ID(anXmlNode));  res = findResource(cib, id);  if (res == NULL) { CRM_DEBUG2("Update: " XML_CIB_TAG_RESOURCE " (%s) did not exist, adding.", id);  addResource(cib, anXmlNode); } else { copy_in_properties(res, anXmlNode);  CRM_DEBUG2("Update: Copying in children for " XML_CIB_TAG_RESOURCE " (%s).", id);  handle_object_children(res, anXmlNode->children, XML_CIB_ATTR_NODEREF); } FNRET(0);
xmlNodePtr root = get_object_root(XML_CIB_TAG_RESOURCES, cib); return update_cib_object(root, anXmlNode, FALSE);
updateResource(xmlNodePtr cib, cibResource *anXmlNode){	const char *id = ID(anXmlNode);	xmlNodePtr res = NULL;		FNIN();	CRM_DEBUG2("Updating " XML_CIB_TAG_RESOURCE " (%s)...",		   ID(anXmlNode));    	res = findResource(cib, id);	if (res == NULL) {		CRM_DEBUG2("Update: " XML_CIB_TAG_RESOURCE			   " (%s) did not exist, adding.",			   id);				addResource(cib, anXmlNode);	} else {		copy_in_properties(res, anXmlNode);			CRM_DEBUG2("Update: Copying in children for "			   XML_CIB_TAG_RESOURCE " (%s).",			   id);		handle_object_children(res,				       anXmlNode->children,				       XML_CIB_ATTR_NODEREF);	}	FNRET(0);    }