rem: list_tmp = list_struct_accounts;
add: list_tmp = gsb_account_get_list_accounts ();
context: void retrait_devise ( GtkWidget *bouton,		      GtkWidget *liste ){    gint devise_trouvee;    struct struct_devise *devise;    GSList *list_tmp;    if ( ligne_selection_devise == -1 )	return;    devise = gtk_clist_get_row_data ( GTK_CLIST ( liste ),				      ligne_selection_devise );    /*   recherche dans tous les comptes, les opÃ©s et les Ã©chÃ©ances si la devise n'est pas utilisÃ©e */    /* si elle l'est, empÃªche sa suppression */    devise_trouvee = 0;    list_tmp = list_struct_accounts;    while ( list_tmp )    {	gint i;	i = gsb_account_get_no_account ( list_tmp -> data );	if ( gsb_account_get_currency (i) == devise -> no_devise )	{	    devise_trouvee = 1;	    i = gsb_account_get_accounts_amount ();	}	else	{	    GSList *liste_tmp;	    liste_tmp = gsb_account_get_transactions_list (i);	    while ( liste_tmp )	    {		if ( ((struct structure_operation *)(liste_tmp -> data )) -> devise == devise -> no_devise )		{		    devise_trouvee = 1;		    i = gsb_account_get_accounts_amount ();		    liste_tmp = NULL;		}		else		    liste_tmp = liste_tmp -> next;	    }	    if ( !devise )	    {		liste_tmp = liste_struct_echeances;		while ( liste_tmp )		{		    if ( ((struct operation_echeance *)(liste_tmp -> data )) -> devise == devise -> no_devise )		    {			devise_trouvee = 1;			i = gsb_account_get_accounts_amount ();			liste_tmp = NULL;		    }		    else			liste_tmp = liste_tmp -> next;		}	    }	}	list_tmp = list_tmp -> next;    }    if ( devise_trouvee )    {	dialogue_error_hint ( g_strdup_printf ( _("Currency '%s' is used in current account.  Grisbi can't delete it."),						devise -> nom_devise ),			      g_strdup_printf ( _("Impossible to remove currency '%s'"), 						devise -> nom_devise) );	return;    }    gtk_clist_remove ( GTK_CLIST ( liste ), ligne_selection_devise );    liste_struct_devises = g_slist_remove ( liste_struct_devises, devise );    nb_devises--;}