xmlDocPtr hello_doc = xmlParseMemory(
hello_doc = xmlParseMemory(
process_hello_message(IPC_Message *hello_message,		      char **uuid,		      char **client_name,		      char **major_version,		      char **minor_version){	FNIN();	*uuid = NULL;	*client_name = NULL;	*major_version = NULL;	*minor_version = NULL;	if (hello_message == NULL || hello_message->msg_body == NULL) {		FNRET(FALSE);	}	xmlDocPtr hello_doc = xmlParseMemory(		hello_message->msg_body,		strlen(hello_message->msg_body));	if (hello_doc == NULL) {		cl_log(LOG_ERR,		       "Expected a Hello message, Got: %s",		       (char*)hello_message->msg_body);		FNRET(FALSE);	}    	xmlNodePtr hello = xmlDocGetRootElement(hello_doc);	if (hello == NULL) {		FNRET(FALSE);	} else if (strcmp("hello", hello->name) != 0) {		FNRET(FALSE);	}	char *local_uuid = xmlGetProp(hello, "client_uuid");	char *local_client_name = xmlGetProp(hello, "client_name");	char *local_major_version = xmlGetProp(hello, "major_version");	char *local_minor_version = xmlGetProp(hello, "minor_version");	if (local_uuid == NULL || strlen(local_uuid) == 0) {		cl_log(LOG_ERR,		       "Hello message was not valid (field %s not found): %s",		       "uuid", (char*)hello_message->msg_body);		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): %s",		       "client name", (char*)hello_message->msg_body);		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): %s",		       "major version", (char*)hello_message->msg_body);		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): %s",		       "minor version", (char*)hello_message->msg_body);		FNRET(FALSE);	}    	*uuid           = cl_strdup(local_uuid);	*client_name   = cl_strdup(local_client_name);	*major_version = cl_strdup(local_major_version);	*minor_version = cl_strdup(local_minor_version);	FNRET(TRUE);}