crm_debug("The message is not for this sub-system (%s != %s).",
crm_devel("The message is not for this sub-system (%s != %s).",
validate_crm_message(	HA_Message *msg, const char *sys, const char *uuid, const char *msg_type){	const char *from = NULL;	const char *to = NULL;	const char *type = NULL;	const char *crm_msg_reference = NULL;	HA_Message *action = NULL;	const char *true_sys;			if (msg == NULL) {		return NULL;	}	from = cl_get_string(msg, F_CRM_SYS_FROM);	to   = cl_get_string(msg, F_CRM_SYS_TO);	type = cl_get_string(msg, F_CRM_MSG_TYPE);		crm_msg_reference = cl_get_string(msg, XML_ATTR_REFERENCE);	action = msg;	true_sys = sys;	if (uuid != NULL) { true_sys = generate_hash_key(sys, uuid); }	if (to == NULL) {		crm_info("No sub-system defined.");		action = NULL;	} else if (true_sys != NULL && strcmp(to, true_sys) != 0) {		crm_debug("The message is not for this sub-system (%s != %s).",			  to, true_sys);		action = NULL;	}    	if (type == NULL) {		crm_info("No message type defined.");		return NULL;	} else if (msg_type != NULL && strcmp(msg_type, type) != 0) {		crm_info("Expecting a (%s) message but received a (%s).",		       msg_type, type);		action = NULL;	}	if (crm_msg_reference == NULL) {		crm_info("No message crm_msg_reference defined.");		action = NULL;	}/* 	if(action != NULL) 		crm_debug(		       "XML is valid and node with message type (%s) found.",		       type);	crm_debug("Returning node (%s)", xmlGetNodePath(action));*/		return action;}