rem: gsb_account_set_reconcile_balance ( compte_courant,
add: gsb_account_set_reconcile_balance ( gsb_account_get_current_account (),
context: gboolean fin_equilibrage ( GtkWidget *bouton_ok,		       gpointer data ){    GSList *pointeur_liste_ope;    gchar *text;    gint nb_parametres;    GDate *date;    gint date_releve_jour;    gint date_releve_mois;    gint date_releve_annee;    if ( fabs ( solde_final - solde_initial - operations_pointees ) >= 0.01 )    {	dialogue_warning_hint ( _("There is a variance in balances, check that both final balance and initial balance minus marked transactions are equal."),				_("Reconciliation can't be completed.") );	return FALSE;    }    /* récupération de la date */    text = (char *) gtk_entry_get_text ( GTK_ENTRY ( entree_nouvelle_date_equilibrage ) );    if ( ( nb_parametres = sscanf ( text,				    "%d/%d/%d",				    &date_releve_jour,				    &date_releve_mois,				    &date_releve_annee))	 != 3 )    {	if ( !nb_parametres || nb_parametres == -1 )	{	    dialogue_error_hint ( _("Grisbi can't parse date.  It should be of the form 'dd/mm/yyyy'."),				  g_strdup_printf ( _("Invalid date '%s'"), text ) );	    return FALSE;	}	date = g_date_new ();	g_date_set_time ( date,			  time(NULL));	if ( nb_parametres == 1 )	    date_releve_mois = g_date_month( date );	date_releve_annee = g_date_year( date );    }    if ( !g_date_valid_dmy ( date_releve_jour,			     date_releve_mois,			     date_releve_annee))    {	dialogue_error_hint ( _("Date format looks valid but date is valid according to calendar."),			      g_strdup_printf ( _("Invalid date '%s'"), text ) );	return FALSE;	return FALSE;    }    gsb_account_set_current_reconcile_date ( compte_courant,					     g_date_new_dmy ( date_releve_jour,							      date_releve_mois,							      date_releve_annee ));    gtk_label_set_text ( GTK_LABEL ( label_releve ),			 g_strdup_printf ( _("Last statement: %02d/%02d/%d"), 					   date_releve_jour,					   date_releve_mois,					   date_releve_annee ));    /*   récupération du no de rapprochement, */    /*     s'il n'existe pas,on le crée */    if ( strlen ( g_strstrip ( (char *) gtk_entry_get_text ( GTK_ENTRY ( entree_no_rapprochement )))))    {	struct struct_no_rapprochement *rapprochement;	gchar *rap_txt;	rap_txt = g_strstrip ( (char *) gtk_entry_get_text ( GTK_ENTRY ( entree_no_rapprochement )));		rapprochement = rapprochement_par_nom ( rap_txt );	if ( rapprochement )	{	    /* le rapprochement existe déjà */	    gsb_account_set_reconcile_last_number ( compte_courant,						    rapprochement -> no_rapprochement);	}	else	{	    /* le rapprochement n'existe pas */	    rapprochement = malloc ( sizeof ( struct struct_no_rapprochement ));	    rapprochement -> no_rapprochement = g_slist_length ( liste_struct_rapprochements ) + 1;	    rapprochement -> nom_rapprochement = g_strdup ( rap_txt );	    liste_struct_rapprochements = g_slist_append ( liste_struct_rapprochements,							   rapprochement );	    gsb_account_set_reconcile_last_number ( compte_courant,						    rapprochement -> no_rapprochement);	}    }    else	gsb_account_set_reconcile_last_number ( compte_courant,						0 );    /* met tous les P à R */    pointeur_liste_ope = gsb_account_get_transactions_list (compte_courant);    while ( pointeur_liste_ope )    {	struct structure_operation *operation;	operation = pointeur_liste_ope -> data;	if ( operation -> pointe == OPERATION_POINTEE ||	     operation -> pointe == OPERATION_TELERAPPROCHEE )	{	    operation -> pointe = OPERATION_RAPPROCHEE;	    operation -> no_rapprochement = gsb_account_get_reconcile_last_number (compte_courant);	}	pointeur_liste_ope = pointeur_liste_ope -> next;    }    /* on réaffiche la liste */    modification_fichier( TRUE );    gsb_account_set_reconcile_balance ( compte_courant,					solde_final );    /*     on remet tout normal pour les opérations */    annuler_equilibrage ();    /* Update account list */    mise_a_jour_liste_comptes_accueil = 1;    return FALSE;}