rem: 3 );
add: 0 );
context: gboolean recuperation_devises_xml ( xmlNodePtr node_devises ){        while ( node_devises )    {	/* on va recuperer ici les generalites des devises */	if ( !strcmp ( node_devises -> name,		       "Generalites" ))	{	    xmlNodePtr node_generalites;	    node_generalites = node_devises -> children;	    while ( node_generalites )	    {		if ( node_generalites -> type != XML_TEXT_NODE )		{		    if ( !strcmp ( node_generalites -> name,				   "Nb_devises" ))			nb_devises = my_atoi ( xmlNodeGetContent ( node_generalites ));		    if ( !strcmp ( node_generalites -> name,				   "No_derniere_devise" ))			no_derniere_devise = my_atoi ( xmlNodeGetContent ( node_generalites ));		}		node_generalites = node_generalites -> next;	    }	}	/* on va recuperer ici les devises */	if ( !strcmp ( node_devises -> name,		       "Detail_des_devises" ))	{	    xmlNodePtr node_detail;	    liste_struct_devises = NULL;	    node_detail = node_devises -> children;	    while ( node_detail )	    {		struct struct_devise *devise;		devise = calloc ( 1,				  sizeof ( struct struct_devise ));		if ( node_detail -> type != XML_TEXT_NODE )		{		    devise -> no_devise = my_atoi ( xmlGetProp ( node_detail,								 "No" ));		    devise -> nom_devise = xmlGetProp ( node_detail,							"Nom" );		    devise -> code_iso4217_devise = xmlGetProp ( node_detail,								 "IsoCode" );		    devise -> code_devise = xmlGetProp ( node_detail,							 "Code" );		    if ( !strlen ( devise -> code_devise ))			devise -> code_devise = NULL;		    if (! devise -> code_iso4217_devise ||			!strlen ( devise -> code_iso4217_devise ))			devise -> code_iso4217_devise = NULL;		    /* 	   la suite n'est utile que pour les anciennes devises qui sont passées à l'euro */		    /* 	non utilisées pour les autres */		    devise -> passage_euro = my_atoi ( xmlGetProp ( node_detail,								    "Passage_euro" ));		    if ( strlen ( xmlGetProp ( node_detail,					       "Date_dernier_change" )))		    {			gchar **pointeur_char;			pointeur_char = g_strsplit ( xmlGetProp ( node_detail,								  "Date_dernier_change" ),						     "/",						     3 );			devise -> date_dernier_change = g_date_new_dmy ( my_atoi ( pointeur_char[0] ),									 my_atoi ( pointeur_char[1] ),									 my_atoi ( pointeur_char[2] ));			g_strfreev ( pointeur_char );		    }		    else			devise -> date_dernier_change = NULL;		    devise -> une_devise_1_egale_x_devise_2 = my_atoi ( xmlGetProp ( node_detail,										     "Rapport_entre_devises" ));		    devise -> no_devise_en_rapport = my_atoi ( xmlGetProp ( node_detail,									    "Devise_en_rapport" ));		    devise -> change = my_strtod ( xmlGetProp ( node_detail,								"Change" ),						   NULL );		    liste_struct_devises = g_slist_append ( liste_struct_devises,							    devise );		}		node_detail = node_detail -> next;	    }	}	node_devises = node_devises -> next;    }    return TRUE;}