crm_free(op->user_data); crm_free(op->output); crm_free(op->rsc_id); crm_free(op->app_name); crm_free(op);
free_lrm_op(op);
delete_fsa_input(fsa_data_t *fsa_data) {	lrm_op_t *op = NULL;	crm_data_t *foo = NULL;	struct crmd_ccm_data_s *ccm_input = NULL;	if(fsa_data == NULL) {		return;	}	crm_debug_4("About to free %s data",		  fsa_cause2string(fsa_data->fsa_cause));		if(fsa_data->data != NULL) {		switch(fsa_data->data_type) {			case fsa_dt_ha_msg:				delete_ha_msg_input(fsa_data->data);				break;							case fsa_dt_xml:				foo = fsa_data->data;				free_xml(foo);				break;							case fsa_dt_lrm:				op = (lrm_op_t*)fsa_data->data; 				crm_free(op->user_data);				crm_free(op->output);				crm_free(op->rsc_id);				crm_free(op->app_name);				crm_free(op);				break;							case fsa_dt_ccm:				ccm_input = (struct crmd_ccm_data_s *)					fsa_data->data;				crm_free(ccm_input->oc);				crm_free(ccm_input);				break;							case fsa_dt_none:				if(fsa_data->data != NULL) {					crm_err("Dont know how to free %s data from %s",						fsa_cause2string(fsa_data->fsa_cause),						fsa_data->origin);					exit(1);				}				break;		}		crm_debug_4("%s data freed",			  fsa_cause2string(fsa_data->fsa_cause));	}	crm_free(fsa_data);}