 if(pemsg_strm == NULL) { pemsg_strm = fopen(DEVEL_DIR"/pe.log", "w"); } 
process_pe_message(HA_Message *msg, xmlNodePtr xml_data, IPC_Channel *sender){	char *msg_buffer = NULL;	const char *sys_to = cl_get_string(msg, F_CRM_SYS_TO);	const char *op = cl_get_string(msg, F_CRM_TASK);	const char *ref = cl_get_string(msg, XML_ATTR_REFERENCE);	crm_verbose("Processing %s op (ref=%s)...", op, ref);	if(pemsg_strm == NULL) {		pemsg_strm = fopen(DEVEL_DIR"/pe.log", "w");	}		if(op == NULL){		/* error */	} else if(strcmp(op, CRM_OP_HELLO) == 0) {		/* ignore */			} else if(safe_str_eq(cl_get_string(msg, F_CRM_MSG_TYPE),			      XML_ATTR_RESPONSE)) {		/* ignore */			} else if(sys_to == NULL || strcmp(sys_to, CRM_SYSTEM_PENGINE) != 0) {		crm_verbose("Bad sys-to %s", crm_str(sys_to));		return FALSE;			} else if(strcmp(op, CRM_OP_PECALC) == 0) {		xmlNodePtr output = NULL;				msg_buffer = dump_xml_formatted(xml_data);		fprintf(pemsg_strm, "%s: %s\n", "[in ]", msg_buffer);		fflush(pemsg_strm);		crm_free(msg_buffer);		output = do_calculations(xml_data);		msg_buffer = dump_xml_formatted(output);		fprintf(pemsg_strm, "%s: %s\n", "[out ]", msg_buffer);		fflush(pemsg_strm);		crm_free(msg_buffer);		if (send_ipc_reply(sender, msg, output) ==FALSE) {			crm_warn("Answer could not be sent");		}		free_xml(output);	} else if(strcmp(op, CRM_OP_QUIT) == 0) {		crm_err("Received quit message, terminating");		exit(0);	}		return TRUE;}
8182	/local/tlutelli/issta_data/temp/c/2005_temp/2005/8182/c7c5fc7c53a15eefc2aea4bf8ccaf2175307f9f5/pengine.c/buggy/crm/pengine/pengine.c