clear_shutdown = TRUE;  } else if(strcmp(local_prop_name, "replace") == 0) { replace = local_prop_value; any_updates = TRUE;
clear_shutdown = TRUE;
update_node_state(xmlNodePtr target, xmlNodePtr update){	const char *source	= NULL;	const char *replace     = NULL;		xmlAttrPtr prop_iter    = NULL;	gboolean any_updates    = FALSE;	gboolean clear_stonith  = FALSE;	gboolean clear_shutdown = FALSE;			prop_iter = update->properties;	while(prop_iter != NULL) {		const char *local_prop_name = prop_iter->name;		const char *local_prop_value =			xmlGetProp(update, local_prop_name);		if(local_prop_name == NULL) {			// error					} else if(strcmp(local_prop_name, XML_ATTR_ID) == 0) {					} else if(strcmp(local_prop_name, XML_ATTR_TSTAMP) == 0) {		} else if(strcmp(local_prop_name, XML_CIB_ATTR_CLEAR_SHUTDOWN) == 0) {			clear_shutdown = TRUE;					} else if(strcmp(local_prop_name, XML_CIB_ATTR_CLEAR_STONITH) == 0) {			clear_stonith = TRUE;			clear_shutdown = TRUE;					} else if(strcmp(local_prop_name, "replace") == 0) {			replace = local_prop_value;			any_updates = TRUE;					} else if(strcmp(local_prop_name, "source") == 0) {			source = local_prop_value;					} else {			any_updates = TRUE;			set_xml_property_copy(target,					      local_prop_name,					      local_prop_value);		}			  		prop_iter = prop_iter->next;	}		if(clear_shutdown) {		// unset XML_CIB_ATTR_SHUTDOWN 		crm_verbose("Clearing %s", XML_CIB_ATTR_SHUTDOWN);		xmlUnsetProp(target, XML_CIB_ATTR_SHUTDOWN);		any_updates = TRUE;	}	if(clear_stonith) {		// unset XML_CIB_ATTR_STONITH		crm_verbose("Clearing %s", XML_CIB_ATTR_STONITH);		xmlUnsetProp(target, XML_CIB_ATTR_STONITH);		any_updates = TRUE;	}		if(replace != NULL) {		xmlNodePtr lrm = find_xml_node(target, replace);		xmlUnlinkNode(lrm);		lrm->doc = NULL;		free_xml(lrm);		}		if(any_updates) {		set_node_tstamp(target);		set_xml_property_copy(target, "source", source);	}	}