add: if ( !ope_trouvee ) { pointeur_ope = gsliste_echeances;  while ( pointeur_ope ) { struct operation_echeance *echeance;  echeance = pointeur_ope -> data;  if ( echeance -> tiers == tiers -> no_tiers ) { pointeur_ope = NULL; ope_trouvee = 1; } else pointeur_ope = pointeur_ope -> next; } }
context: void supprimer_tiers ( GtkWidget *bouton,		       gpointer null ){  struct struct_tiers *tiers;  GtkCTreeNode *node;  GSList *pointeur_ope;  gint i;  gint ope_trouvee;  node = GTK_CTREE_NODE ( ( GTK_CLIST ( arbre_tiers ) -> selection ) -> data );  tiers = gtk_ctree_node_get_row_data ( GTK_CTREE ( arbre_tiers ),					node );  /* on fait le tour de tous les comptes pour vrifier s'il reste une op  ce tiers */  p_tab_nom_de_compte_variable = p_tab_nom_de_compte;  ope_trouvee = 0;  for ( i = 0 ; i < nb_comptes ; i++ )    {      pointeur_ope = LISTE_OPERATIONS;      while ( pointeur_ope )	{	  struct structure_operation *operation;	      	  operation = pointeur_ope -> data;	  if ( operation -> tiers == tiers -> no_tiers )	    {	      /* une opration associe  ce tiers a t trouve  = > on sort de la recherche */	      pointeur_ope = NULL;	      i = nb_comptes;	      ope_trouvee = 1;	    }	  else	    pointeur_ope = pointeur_ope -> next;	}      p_tab_nom_de_compte_variable++;    }  if ( ope_trouvee )    {      GtkWidget *dialog;      GtkWidget *label;      gint resultat;      GtkWidget *separation;      GtkWidget *hbox;      GtkWidget *bouton_tiers_generique;      GtkWidget *combofix;      GSList *liste_combofix;      GSList *pointeur;      GtkWidget *bouton_transfert;      gint i;      gint nouveau_no;      struct struct_tiers *nouveau_tiers;      dialog = gnome_dialog_new ( _("Suppression d'un tiers"),				  GNOME_STOCK_BUTTON_OK,				  GNOME_STOCK_BUTTON_CANCEL,				  NULL);      gnome_dialog_set_parent ( GNOME_DIALOG ( dialog ),				GTK_WINDOW ( window ));      label = gtk_label_new ( COLON(_("Le tiers slectionn contient encore des oprations.\n\nVous pouvez")) );      gtk_box_pack_start ( GTK_BOX ( GNOME_DIALOG ( dialog ) -> vbox ),			   label,			   FALSE,			   FALSE,			   0 );      separation = gtk_hseparator_new ( );      gtk_box_pack_start ( GTK_BOX ( GNOME_DIALOG ( dialog ) -> vbox ),			   separation,			   FALSE,			   FALSE,			   0 );      /*       mise en place du choix tranfert vers un autre tiers */            hbox = gtk_hbox_new ( FALSE,			    5 );      gtk_box_pack_start ( GTK_BOX ( GNOME_DIALOG ( dialog ) -> vbox ),			   hbox,			   FALSE,			   FALSE,			   0 );      bouton_transfert = gtk_radio_button_new_with_label ( NULL,							   POSTSPACIFY(_("Transfrer les oprations sur le tiers"))  );      gtk_box_pack_start ( GTK_BOX ( hbox ),			   bouton_transfert,			   FALSE,			   FALSE,			   0 );      pointeur = liste_struct_tiers;      liste_combofix = NULL;      while ( pointeur )	{	  if ( ((struct struct_tiers * )( pointeur -> data )) -> no_tiers != tiers -> no_tiers )	    liste_combofix = g_slist_append ( liste_combofix,					      ((struct struct_tiers * )( pointeur -> data )) -> nom_tiers );	  pointeur = pointeur -> next;	}      combofix = gtk_combofix_new ( liste_combofix,				    TRUE,				    TRUE,				    TRUE,				    0 );      gtk_box_pack_start ( GTK_BOX ( hbox ),			   combofix,			   FALSE,			   FALSE,			   0 );      /*       mise en place du choix supprimer le tiers */      hbox = gtk_hbox_new ( FALSE,			    5 );      gtk_box_pack_start ( GTK_BOX ( GNOME_DIALOG ( dialog ) -> vbox ),			   hbox,			   FALSE,			   FALSE,			   0 );      bouton_tiers_generique = gtk_radio_button_new_with_label ( gtk_radio_button_group ( GTK_RADIO_BUTTON ( bouton_transfert )),								 PRESPACIFY(_("Supprimer simplement ce tiers.")) );      gtk_box_pack_start ( GTK_BOX ( hbox ),			   bouton_tiers_generique,			   FALSE,			   FALSE,			   0 );      gtk_widget_show_all ( dialog );    retour_dialogue:      resultat = gnome_dialog_run ( GNOME_DIALOG ( dialog ) );      if ( resultat )	{	  if ( resultat == 1 )	    gnome_dialog_close ( GNOME_DIALOG ( dialog ) );	  return;	}      if ( gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_transfert )) )	{	  if ( !strlen (gtk_combofix_get_text ( GTK_COMBOFIX ( combofix ))))	    {	      dialogue ( _("Veuillez entrer un tiers.") );	      goto retour_dialogue;	    }	  /* recherche du nouveau numro de tiers */	  nouveau_tiers = g_slist_find_custom ( liste_struct_tiers,						gtk_combofix_get_text ( GTK_COMBOFIX ( combofix ) ),						(GCompareFunc) recherche_tiers_par_nom ) -> data;	  nouveau_no = nouveau_tiers -> no_tiers;	}      else	nouveau_no = 0;      /* on fait le tour des ops pour mettre le nouveau numro de tiers */      p_tab_nom_de_compte_variable = p_tab_nom_de_compte;      for ( i = 0 ; i < nb_comptes ; i++ )	{	  pointeur_ope = LISTE_OPERATIONS;	  while ( pointeur_ope )	    {	      struct structure_operation *operation;	      	      operation = pointeur_ope -> data;	      if ( operation -> tiers == tiers -> no_tiers )		operation -> tiers = nouveau_no;	      pointeur_ope = pointeur_ope -> next;	    }	  p_tab_nom_de_compte_variable++;	}      /* fait le tour des chances pour mettre le nouveau numro de tiers */      pointeur_ope = gsliste_echeances;      while ( pointeur_ope )	{	  struct operation_echeance *echeance;	  echeance = pointeur_ope -> data;	  if ( echeance -> tiers == tiers -> no_tiers )	    echeance -> tiers = nouveau_no;	  pointeur_ope = pointeur_ope -> next;	}      demande_mise_a_jour_tous_comptes ();      remplissage_liste_echeance();      gnome_dialog_close ( GNOME_DIALOG ( dialog ) );    }  /* supprime dans la liste des tiers  */  liste_struct_tiers = g_slist_remove ( liste_struct_tiers,					tiers );  nb_enregistrements_tiers--;  mise_a_jour_tiers ();  remplit_arbre_tiers ();  gtk_text_set_editable ( GTK_TEXT ( text_box ),			  FALSE );  modification_fichier(TRUE);}