const char *section_name = section;
char *section_name = NULL;
cib_process_modify(	const char *op, int options, const char *section, xmlNodePtr input,	xmlNodePtr *answer){	gboolean verbose = FALSE;	enum cib_errors result = cib_ok;	const char *section_name = section;	xmlNodePtr failed = NULL;	xmlNodePtr cib_update = NULL;	xmlNodePtr the_update = NULL;		int cib_update_op = CIB_OP_NONE;	xmlNodePtr tmpCib  = NULL;	char *xml_text  = NULL;/* 	if(msg_cibup_strm == NULL) { *//* 		msg_cibup_strm = fopen(DEVEL_DIR"/cibup.log", "w"); *//* 	} */		crm_debug("Processing \"%s\" event", op);	failed  = create_xml_node(NULL, XML_TAG_FAILED);	if (strcmp(CRM_OP_CIB_CREATE, op) == 0) {		cib_update_op = CIB_OP_ADD;			} else if (strcmp(CRM_OP_CIB_UPDATE, op) == 0		   || strcmp(CRM_OP_JOINACK, op) == 0		   || strcmp(CRM_OP_SHUTDOWN_REQ, op) == 0) {		cib_update_op = CIB_OP_MODIFY;			} else if (strcmp(CRM_OP_CIB_DELETE, op) == 0) {		cib_update_op = CIB_OP_DELETE;			} else {		crm_err("Incorrect request handler invoked for \"%s\" op",			crm_str(op));		return cib_operation;	}	result = cib_ok;	if (options & cib_verbose) {		verbose = TRUE;	}		if(safe_str_eq(XML_CIB_TAG_SECTION_ALL, section)) {		section = NULL;	}	if(input == NULL) {		crm_err("Cannot perform modification with no data");		return cib_NOOBJECT;	}		tmpCib = copy_xml_node_recursive(get_the_CIB());	cib_update = find_xml_node(input, XML_TAG_CIB, TRUE);		/* do logging */				the_update = get_object_root(section, cib_update);	cib_pre_notify(op, get_object_root(section, get_the_CIB()), the_update);	result = revision_check(the_update, tmpCib, options);			copy_in_properties(tmpCib, cib_update);		/* make changes to a temp copy then activate */	if(section == NULL) {		/* order is no longer important here */		section_name = tmpCib->name;			if(result == cib_ok) {			result = updateList(				tmpCib, input, failed, cib_update_op,				XML_CIB_TAG_NODES);		}				if(result == cib_ok) {			result = updateList(				tmpCib, input, failed,				cib_update_op, XML_CIB_TAG_RESOURCES);		}		if(result == cib_ok) {			result = updateList(				tmpCib, input, failed,				cib_update_op, XML_CIB_TAG_CONSTRAINTS);		}		if(result == cib_ok) {			result = updateList(tmpCib, input, failed,					    cib_update_op, XML_CIB_TAG_STATUS);		}	} else {		result = updateList(tmpCib, input, failed,				     cib_update_op, section);	}	crm_trace("Activating temporary CIB");	cib_update_counter(tmpCib, XML_ATTR_NUMUPDATES, FALSE);	if (result == cib_ok && activateCibXml(tmpCib, CIB_FILENAME) < 0) {		result = cib_ACTIVATION;				} else if (result != cib_ok || failed->children != NULL) {		if(result == cib_ok) {			result = cib_unknown;		}		crm_xml_info(failed, "CIB Update failures");				xml_text = dump_xml_formatted(failed);		crm_free(xml_text);	}	if (verbose || failed->children != NULL || result != cib_ok) {		*answer = createCibFragmentAnswer(section, failed);	}	cib_post_notify(op, the_update, result,			get_object_root(section, get_the_CIB()));	free_xml(failed);	return result;}