op = xmlGetProp(opts, "operation");
op = xmlGetProp(opts, XML_ATTR_OP);
process_hello_message(xmlNodePtr hello,		      char **uuid,		      char **client_name,		      char **major_version,		      char **minor_version){	xmlNodePtr opts = NULL;	const char *op = NULL;	const char *local_uuid;	const char *local_client_name;	const char *local_major_version;	const char *local_minor_version;	FNIN();	*uuid = NULL;	*client_name = NULL;	*major_version = NULL;	*minor_version = NULL;	opts = find_xml_node(hello, XML_TAG_OPTIONS);		op = xmlGetProp(opts, "operation");	local_uuid = xmlGetProp(opts, "client_uuid");	local_client_name = xmlGetProp(opts, "client_name");	local_major_version = xmlGetProp(opts, "major_version");	local_minor_version = xmlGetProp(opts, "minor_version");	if (op == NULL || strcmp(CRM_OP_HELLO, op) != 0) {		FNRET(FALSE);	} else if (local_uuid == NULL || strlen(local_uuid) == 0) {		cl_log(LOG_ERR,		       "Hello message was not valid (field %s not found)",		       "uuid");		FNRET(FALSE);	} else if (local_client_name==NULL || strlen(local_client_name)==0){		cl_log(LOG_ERR,		       "Hello message was not valid (field %s not found)",		       "client name");		FNRET(FALSE);	} else if(local_major_version == NULL		  || strlen(local_major_version) == 0){		cl_log(LOG_ERR,		       "Hello message was not valid (field %s not found)",		       "major version");		FNRET(FALSE);	} else if (local_minor_version == NULL		   || strlen(local_minor_version) == 0){		cl_log(LOG_ERR,		       "Hello message was not valid (field %s not found)",		       "minor version");		FNRET(FALSE);	}    	*uuid          = crm_strdup(local_uuid);	*client_name   = crm_strdup(local_client_name);	*major_version = crm_strdup(local_major_version);	*minor_version = crm_strdup(local_minor_version);	FNRET(TRUE);}