crm_debug("No reply needed for call %s", call_id);
crm_devel("No reply needed for call %s", call_id);
cib_process_command(	const HA_Message *request, HA_Message **reply, gboolean privileged){	crm_data_t *output   = NULL;	crm_data_t *input    = NULL;	int call_type      = 0;	int call_options   = 0;	enum cib_errors rc = cib_ok;	const char *op = NULL;	const char *call_id = NULL;	const char *section = NULL;	const char *tmp = NULL;	CRM_DEV_ASSERT(reply != NULL);	if(reply) { *reply = NULL; }		/* Start processing the request... */	op = cl_get_string(request, F_CIB_OPERATION);	call_id = cl_get_string(request, F_CIB_CALLID);	ha_msg_value_int(request, F_CIB_CALLOPTS, &call_options);	crm_trace("Processing call id: %s", call_id);		rc = cib_get_operation_id(request, &call_type);		if(rc == cib_ok &&	   cib_server_ops[call_type].needs_privileges	   && privileged == FALSE) {		/* abort */		rc = cib_not_authorized;	}		if(rc == cib_ok && cib_server_ops[call_type].needs_section) {		section = cl_get_string(request, F_CIB_SECTION);		crm_trace("Unpacked section as: %s", section);	}	if(rc == cib_ok && cib_server_ops[call_type].needs_data) {		crm_trace("Unpacking data in %s", F_CIB_CALLDATA);		input = get_message_xml(request, F_CIB_CALLDATA);	}			if(rc == cib_ok) {		rc = cib_server_ops[call_type].fn(			op, call_options, section, input, &output);	}	crm_trace("Processing reply cases");	if(call_options & cib_discard_reply) {		crm_debug("No reply needed for call %s", call_id);		return rc;			} else if(reply == NULL) {		crm_debug("No reply possible for call %s", call_id);		return rc;	}	crm_trace("Creating a basic reply");	*reply = ha_msg_new(8);	ha_msg_add(*reply, F_TYPE, T_CIB);	ha_msg_add(*reply, F_CIB_OPERATION, op);	ha_msg_add(*reply, F_CIB_CALLID, call_id);	ha_msg_add_int(*reply, F_CIB_RC, rc);	tmp = cl_get_string(request, F_CIB_CLIENTID);	ha_msg_add(*reply, F_CIB_CLIENTID, tmp);		tmp = cl_get_string(request, F_CIB_CALLOPTS);	ha_msg_add(*reply, F_CIB_CALLOPTS, tmp);		crm_trace("Attaching output if necessary");	if(output != NULL) {		add_message_xml(*reply, F_CIB_CALLDATA, output);	} else {		crm_debug("No output for call %s", call_id);	}		crm_trace("Cleaning up");	free_xml(output);	free_xml(input);	return rc;}