cl_log(LOG_ERR, "Object (%s) was not for claimed section (%s)." "  CIB update is corrupt, ignoring.", child->name, type_check);
updateList(xmlNodePtr local_cib, xmlNodePtr update_fragment, xmlNodePtr failed,	   int operation, const char *section){	const char *type_check = NULL;	xmlNodePtr cib_updates = NULL, xml_section = NULL, child = NULL;	FNIN();    	cib_updates = find_xml_node(update_fragment, XML_TAG_CIB);	xml_section = get_object_root(section, cib_updates);	set_node_tstamp(get_object_root(section, local_cib));		if (section == NULL || xml_section == NULL) {		cl_log(LOG_ERR, "Section %s not found in message."		       "  CIB update is corrupt, ignoring.", section);		return CIBRES_FAILED_NOSECTION;	}	if(CIB_OP_NONE > operation > CIB_OP_MAX) {		cl_log(LOG_ERR, "Invalid operation on section %s",		       section);	}		if (strcmp(section, XML_CIB_TAG_NODES) == 0)		type_check = XML_CIB_TAG_NODE;	else if (strcmp(section, XML_CIB_TAG_RESOURCES) == 0)		type_check = XML_CIB_TAG_RESOURCE;	else if (strcmp(section, XML_CIB_TAG_CONSTRAINTS) == 0)		type_check = XML_CIB_TAG_CONSTRAINT;	else if (strcmp(section, XML_CIB_TAG_STATUS) == 0)		type_check = XML_CIB_TAG_STATE;	else {		cl_log(LOG_ERR,		       "Unknown section %s.CIB update is corrupt, ignoring.",		       section);		return CIBRES_FAILED_NOTSUPPORTED;	}    	child = xml_section->children;    	while(child != NULL) {		cl_log(LOG_DEBUG, "#-#-# Performing action %d on (%s=%s).",		       operation, child->name, ID(child));			if (strcmp(type_check, child->name) == 0		    && strcmp(XML_CIB_TAG_NODE, child->name) == 0) {			if (operation == CIB_OP_ADD)				conditional_add_failure(					failed, child, operation,					addHaNode(local_cib, child));			else if (operation == CIB_OP_MODIFY)				conditional_add_failure(					failed, child, operation,					updateHaNode(local_cib, child));			else 				conditional_add_failure(					failed, child, operation,					delHaNode(local_cib, ID(child)));		} else if (strcmp(type_check, child->name) == 0			   && strcmp(XML_CIB_TAG_RESOURCE, child->name) == 0) {			if (operation == CIB_OP_ADD)				conditional_add_failure(					failed, child, operation,					addResource(local_cib, child));			else if (operation == CIB_OP_MODIFY)				conditional_add_failure(					failed, child, operation,					updateResource(local_cib, child));			else 				conditional_add_failure(					failed, child, operation,					delResource(local_cib, ID(child)));		} else if (strcmp(type_check, child->name) == 0			   && strcmp(XML_CIB_TAG_CONSTRAINT, child->name) == 0) {			if (operation == CIB_OP_ADD)				conditional_add_failure(					failed, child, operation,					addConstraint(local_cib, child));			else if (operation == CIB_OP_MODIFY)				conditional_add_failure(					failed, child, operation,					updateConstraint(local_cib, child));			else 				conditional_add_failure(					failed, child, operation,					delConstraint(local_cib,						      ID(child)));					} else if (strcmp(type_check, child->name) == 0			   && strcmp(XML_CIB_TAG_STATE, child->name) == 0) {			if (operation == CIB_OP_ADD)				conditional_add_failure(					failed, child, operation,					addStatus(local_cib, child));			else if (operation == CIB_OP_MODIFY)				conditional_add_failure(					failed, child, operation,					updateStatus(local_cib, child));			else 				conditional_add_failure(					failed, child, operation,					delStatus(local_cib,						  ID(child),						  INSTANCE(child)));		} else {			cl_log(LOG_ERR,			       "Object (%s) was not for claimed section (%s)."			       "  CIB update is corrupt, ignoring.",			       child->name, type_check);		}			cl_log(LOG_DEBUG, "#---#---# Action %d on (%s=%s) complete.",		       operation, child->name, ID(child));		child = child->next;	}	if (failed->children != NULL)		return CIBRES_FAILED;	else		return CIBRES_OK;	}