rem: 3 );
add: 0 );
context: gboolean recuperation_echeances_xml ( xmlNodePtr node_echeances ){    while ( node_echeances )    {	/* on va recuperer ici les generalites des echeances */	if ( !strcmp ( node_echeances -> name,		       "Generalites" ))	{	    xmlNodePtr node_generalites;	    node_generalites = node_echeances -> children;	    while ( node_generalites )	    {		if ( !strcmp ( node_generalites -> name,			       "Nb_echeances" ))		    nb_echeances = my_atoi ( xmlNodeGetContent ( node_generalites ));		if ( !strcmp ( node_generalites -> name,			       "No_derniere_echeance" ))		    no_derniere_echeance = my_atoi ( xmlNodeGetContent ( node_generalites ));		node_generalites = node_generalites -> next;	    }	}	/* on va recuperer ici les echeances */	if ( !strcmp ( node_echeances -> name,		       "Detail_des_echeances" ))	{	    xmlNodePtr node_detail;	    liste_struct_echeances = NULL;	    node_detail = node_echeances -> children;	    while ( node_detail )	    {		struct operation_echeance *operation_echeance;		gchar **pointeur_char;		operation_echeance = calloc ( 1,					      sizeof (struct operation_echeance ));		if ( node_detail -> type != XML_TEXT_NODE )		{		    operation_echeance -> no_operation = my_atoi ( xmlGetProp ( node_detail,										"No" ));		    pointeur_char = g_strsplit ( xmlGetProp ( node_detail ,							      "Date" ),						 "/",						 3 );		    operation_echeance -> jour = my_atoi ( pointeur_char[0] );		    operation_echeance -> mois = my_atoi ( pointeur_char[1] );		    operation_echeance -> annee = my_atoi ( pointeur_char[2] );		    operation_echeance -> date = g_date_new_dmy ( operation_echeance -> jour,								  operation_echeance -> mois,								  operation_echeance -> annee );		    g_strfreev ( pointeur_char );		    operation_echeance -> compte = my_atoi ( xmlGetProp ( node_detail,									  "Compte" ));		    operation_echeance -> montant = my_strtod ( xmlGetProp ( node_detail,									     "Montant" ),								NULL );		    operation_echeance -> devise = my_atoi ( xmlGetProp ( node_detail,									  "Devise" ));		    operation_echeance -> tiers = my_atoi ( xmlGetProp ( node_detail,									 "Tiers" ));		    operation_echeance -> categorie = my_atoi ( xmlGetProp ( node_detail,									     "Categorie" ));		    operation_echeance -> sous_categorie = my_atoi ( xmlGetProp ( node_detail,										  "Sous-categorie" ));		    operation_echeance -> compte_virement = my_atoi ( xmlGetProp ( node_detail,										   "Virement_compte" ));		    operation_echeance -> type_ope = my_atoi ( xmlGetProp ( node_detail,									    "Type" ));		    operation_echeance -> type_contre_ope = my_atoi ( xmlGetProp ( node_detail,										   "Type_contre_ope" ));		    operation_echeance -> contenu_type = xmlGetProp ( node_detail,								      "Contenu_du_type" );		    if ( !strlen ( operation_echeance -> contenu_type ))			operation_echeance -> contenu_type = NULL;		    operation_echeance -> no_exercice = my_atoi ( xmlGetProp ( node_detail,									       "Exercice" ));		    operation_echeance -> imputation = my_atoi ( xmlGetProp ( node_detail,									      "Imputation" ));		    operation_echeance -> sous_imputation = my_atoi ( xmlGetProp ( node_detail,										   "Sous-imputation" ));		    operation_echeance -> notes = xmlGetProp ( node_detail,							       "Notes" );		    if ( !strlen ( operation_echeance -> notes ))			operation_echeance -> notes = NULL;		    operation_echeance -> auto_man = my_atoi ( xmlGetProp ( node_detail,									    "Automatique" ));		    operation_echeance -> periodicite = my_atoi ( xmlGetProp ( node_detail,									       "Periodicite" ));		    operation_echeance -> intervalle_periodicite_personnalisee = my_atoi ( xmlGetProp ( node_detail,													"Intervalle_periodicite" ));		    operation_echeance -> periodicite_personnalisee = my_atoi ( xmlGetProp ( node_detail,											     "Periodicite_personnalisee" ));		    if ( strlen ( xmlGetProp ( node_detail ,					       "Date_limite" )))		    {			pointeur_char = g_strsplit ( xmlGetProp ( node_detail ,								  "Date_limite" ),						     "/",						     3 );			operation_echeance -> jour_limite = my_atoi ( pointeur_char[0] );			operation_echeance -> mois_limite = my_atoi ( pointeur_char[1] );			operation_echeance -> annee_limite = my_atoi ( pointeur_char[2] );			operation_echeance -> date_limite = g_date_new_dmy ( operation_echeance -> jour_limite,									     operation_echeance -> mois_limite,									     operation_echeance -> annee_limite );			g_strfreev ( pointeur_char );		    }		    else		    {			operation_echeance -> jour_limite = 0;			operation_echeance -> mois_limite = 0;			operation_echeance -> annee_limite = 0;			operation_echeance -> date_limite = NULL;		    }		    operation_echeance -> operation_ventilee = my_atoi ( xmlGetProp ( node_detail,										      "Ech_ventilee" ));		    operation_echeance -> no_operation_ventilee_associee = my_atoi ( xmlGetProp ( node_detail,												  "No_ech_associee" ));		    liste_struct_echeances = g_slist_append ( liste_struct_echeances,							      operation_echeance);		}		node_detail = node_detail -> next;	    }	}	node_echeances = node_echeances -> next;    }    return TRUE;}