rem: while ( liste_tmp )
add: liste_tmp = LISTE_OPERATIONS;  while ( liste_tmp )
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 ( _("Cannot allocate memory, bad things will happen soon") );      return;    }  bcopy ( operation, new_transaction, sizeof(struct structure_operation) );  new_transaction -> no_operation = 0;  ajout_operation ( new_transaction );  if ( operation -> relation_no_compte != -1 )    {      p_tab_nom_de_compte_variable = p_tab_nom_de_compte + operation -> relation_no_compte;      validation_virement_operation ( operation, 0, NOM_DU_COMPTE );    }  if ( operation -> operation_ventilee )    {      GSList *liste_tmp;            p_tab_nom_de_compte_variable = p_tab_nom_de_compte + operation -> no_compte;      liste_tmp = LISTE_OPERATIONS;      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;}