op_copy->user_data = op->user_data;
if(op->user_data != NULL) { op_copy->user_data = crm_strdup(op->user_data); }
copy_lrm_op(const lrm_op_t *op){	lrm_op_t *op_copy = NULL;	crm_malloc(op_copy, sizeof(lrm_op_t));	op_copy->op_type = crm_strdup(op->op_type); 	/* input fields *//* 	GHashTable*		params; */	op_copy->params    = NULL;	op_copy->timeout   = op->timeout;	op_copy->interval  = op->interval; 	op_copy->target_rc = op->target_rc; 	/* in the CRM, this is always an int */	op_copy->user_data = op->user_data; 	/* output fields */	op_copy->op_status = op->op_status; 	op_copy->rc        = op->rc; 	op_copy->call_id   = op->call_id; 	op_copy->output    = NULL;	if(op->output!= NULL) {		op_copy->output    = crm_strdup(op->output);	}	op_copy->rsc_id    = crm_strdup(op->rsc_id);	op_copy->app_name  = crm_strdup(op->app_name);	/*please notice the client needs release the memory of rsc.*/	op_copy->rsc = copy_lrm_rsc(op->rsc);	if(op_copy->rsc == NULL) {		crm_err("Op callback for %s did not contain a resource",			 op_copy->rsc_id);	}	return op_copy;}