rem: ajout_operation ( new_transaction );
add: gsb_transactions_append_transaction ( new_transaction ); gsb_transactions_list_append_new_transaction ( new_transaction );
context: struct structure_operation *  clone_transaction ( struct structure_operation * operation ){    struct structure_operation * new_transaction, * ope_ventilee;    new_transaction = (struct structure_operation *) malloc ( sizeof(struct structure_operation) );    if ( !new_transaction )    {	dialogue_error_memory ();	return(FALSE);    }    memcpy(new_transaction, operation, sizeof(struct structure_operation) );    new_transaction -> no_operation = 0;    new_transaction -> no_rapprochement = 0;    if ( operation -> pointe == OPERATION_RAPPROCHEE ||	 operation -> pointe == OPERATION_TELERAPPROCHEE )    {	new_transaction -> pointe = OPERATION_NORMALE;    }    ajout_operation ( new_transaction );    if ( new_transaction -> relation_no_operation )    {	validation_virement_operation ( new_transaction, 0, gsb_account_get_name (new_transaction -> relation_no_compte) );    }    if ( operation -> operation_ventilee )    {	GSList *liste_tmp;	liste_tmp = gsb_account_get_transactions_list (operation -> no_compte);	while ( liste_tmp )	{	    struct structure_operation *operation_2;	    operation_2 = liste_tmp -> data;	    if ( operation_2 -> no_operation_ventilee_associee == operation -> no_operation )	    {		ope_ventilee = clone_transaction ( operation_2 );		ope_ventilee -> no_operation_ventilee_associee = new_transaction -> no_operation;	    }	    liste_tmp = liste_tmp -> next;	}    }    return new_transaction;}