#ifdef USE_FAKE_LRM process_fake_event(msg); #else  #endif } else if(strcmp(op, CRM_OPERATION_CREATE) == 0 || strcmp(op, CRM_OPERATION_DELETE) == 0 || strcmp(op, CRM_OPERATION_REPLACE) == 0 || strcmp(op, CRM_OPERATION_WELCOME) == 0 || strcmp(op, CRM_OPERATION_SHUTDOWN_REQ) == 0 || strcmp(op, CRM_OPERATION_ERASE) == 0) { 
cl_log(LOG_ERR, "Illegal update, the original operation must be specified"); send_abort();  } else if(strcmp(true_op, CRM_OPERATION_CREATE) == 0 || strcmp(true_op, CRM_OPERATION_DELETE) == 0 || strcmp(true_op, CRM_OPERATION_REPLACE) == 0 || strcmp(true_op, CRM_OPERATION_WELCOME) == 0 || strcmp(true_op, CRM_OPERATION_SHUTDOWN_REQ) == 0 || strcmp(true_op, CRM_OPERATION_ERASE) == 0) { 
process_te_message(xmlNodePtr msg, IPC_Channel *sender){	const char *op = get_xml_attr (msg, XML_TAG_OPTIONS,				       XML_ATTR_OP, TRUE);	const char *sys_to = xmlGetProp(msg, XML_ATTR_SYSTO);	cl_log(LOG_DEBUG, "Processing %s message", op);		if(op == NULL){		// error	} else if(sys_to == NULL || strcmp(sys_to, "tengine") != 0) {		CRM_DEBUG("Bad sys-to %s", sys_to);		return FALSE;			} else if(strcmp(op, "transition") == 0) {		CRM_DEBUG("Initializing graph...");		initialize_graph();		xmlNodePtr graph = find_xml_node(msg, "transition_graph");		CRM_DEBUG("Unpacking graph...");		unpack_graph(graph);		CRM_DEBUG("Initiating transition...");		if(initiate_transition() == FALSE) {			// nothing to be done.. means we're done.			cl_log(LOG_INFO, "No actions to be taken..."			       " transition compelte.");			send_success();				}		CRM_DEBUG("Processing complete...");					} else if(strcmp(op, "event") == 0) {		const char *true_op = get_xml_attr (msg, XML_TAG_OPTIONS,						    "true_op", TRUE);		if(true_op == NULL) {#ifdef USE_FAKE_LRM			process_fake_event(msg);#else			// error#endif		} else if(strcmp(op, CRM_OPERATION_CREATE) == 0		   || strcmp(op, CRM_OPERATION_DELETE) == 0		   || strcmp(op, CRM_OPERATION_REPLACE) == 0		   || strcmp(op, CRM_OPERATION_WELCOME) == 0		   || strcmp(op, CRM_OPERATION_SHUTDOWN_REQ) == 0		   || strcmp(op, CRM_OPERATION_ERASE) == 0) {			// these are always unexpected, trigger the PE			send_abort();					} else if(strcmp(op, CRM_OPERATION_UPDATE) == 0) {			// this may not be un-expected			extract_event(msg);					} else {			cl_log(LOG_ERR,			       "Did not expect copy of action %s", op);		}			} else if(strcmp(op, "abort") == 0) {		initialize_graph();	} else if(strcmp(op, "quit") == 0) {		cl_log(LOG_WARNING, "Received quit message, terminating");		exit(0);	}		return TRUE;}
8182	/local/tlutelli/issta_data/temp/c/2005_temp/2005/8182/5417303c61d3329e75a03ade53bb9420578bc7ec/tengine.c/buggy/crm/tengine/tengine.c