obj_type_parent = ha_strdup("all");
obj_type_parent = strdup("all");
do_work(ll_cluster_t *hb_fd){    /* construct the request */    xmlNodePtr root = NULL;    const char *dest_node = NULL;    if(DO_QUERY == TRUE)    {	cl_log(LOG_DEBUG, "Querying the CIB");	char *obj_type_parent = NULL;	if(obj_type == NULL)	{	    obj_type_parent = ha_strdup("all");	    if (obj_type_parent == NULL) {		    return -1;	    }	}	else	{	    obj_type_parent = (char*)ha_malloc(sizeof(char)*			    (strlen(obj_type)+1));	    if (obj_type_parent == NULL) {		    return -1;	    }	    cl_log(LOG_DEBUG, "Building the request - 0");	    sprintf(obj_type_parent, "%s%c", obj_type, 's');	}	cl_log(LOG_DEBUG, "Building the request - 1");	xmlNodePtr request = createCibRequest(TRUE, "query", obj_type_parent, "false", NULL);	const char *reference = xmlGetProp(request, XML_MSG_ATTR_REFERENCE);	cl_log(LOG_DEBUG, "Building the request - 2");	root = createCrmMsg(reference, "admin", "cib", request, TRUE);	cl_log(LOG_DEBUG, "Building the request - 3");	dest_node = status;    }    else if(DO_CREATE == TRUE)    {	root = handleCreate();    }    else if(DO_DELETE == TRUE)    {	root = handleDelete();    }    else if(DO_MODIFY == TRUE)    {	root = handleModify();    }    else if(DO_HEALTH == TRUE)    {	cl_log(LOG_DEBUG, "Querying the system");/*<!ATTLIST dc_request          dc_operation	(noop|ping|deep_ping|dc_query|cib_op)	'noop'	  reference	#CDATA          timeout       #CDATA          '0'>	*/	if(status != NULL)	{	    const char* ping_type = "ping";	    if(BE_VERBOSE)	    {		ping_type = "ping_deep";		if(status != NULL) expected_responses = 2; // 5; // CRM/DC, LRMD, CIB, PENGINE, TENGINE		else expected_responses = -1; // wait until timeout instead	    }	    	    xmlNodePtr request = NULL;	    if(status != NULL)	    {		request = xmlNewNode(NULL, XML_REQ_TAG_CRM);		xmlSetProp(request, XML_CRM_ATTR_OP, ping_type);	    }	    else	    {		request = xmlNewNode(NULL, XML_REQ_TAG_DC);		xmlSetProp(request, XML_DC_ATTR_OP, ping_type);	    }	    xmlSetProp(request, XML_ATTR_TIMEOUT, "0");	    root = createCrmMsg(NULL, "admin", "crm", request, TRUE);	    dest_node = status;	}	else	    cl_log(LOG_INFO, "Cluster-wide health not available yet");    }        /* send it */    if(root != NULL)    {	cl_log(LOG_DEBUG, "sending: [%s]", dump_xml(root));	xmlSetProp(root, XML_MSG_ATTR_SRCSUBSYS, "admin");	send_xmlha_message(hb_fd, root, dest_node, "crmd");    }    else    {	// no message to send... error	cl_log(LOG_ERR, "No message to send");	return -1;    }    return 1;    }