rem: nom_ib, strerror ( errno ),
add: nom_ib, latin2utf8 (strerror ( errno )),
context: gboolean enregistre_ib ( gchar *nom_ib ){  xmlDocPtr doc;  xmlNodePtr node;  gint resultat;  GSList *pointeur_liste;  /* creation de l'arbre xml en memoire */  doc = xmlNewDoc("1.0");  /* la racine est grisbi */  doc->root = xmlNewDocNode ( doc,			      NULL,			      "Grisbi_ib",			      NULL );  /* on commence  ajouter les generalites */  node = xmlNewChild ( doc->root,		       NULL,		       "Generalites",		       NULL );  xmlNewTextChild ( node,		    NULL,		    "Version_fichier_ib",		    VERSION_FICHIER_IB );  xmlNewTextChild ( node,		    NULL,		    "Version_grisbi",		    VERSION );  node = xmlNewChild ( doc->root,		       NULL,		       "Details_des_ib",		       NULL );  pointeur_liste = liste_struct_imputation;  while ( pointeur_liste )    {      struct struct_imputation *ib;      xmlNodePtr node_ib;      GSList *pointeur_sous_ib;      ib = pointeur_liste -> data;      node_ib = xmlNewChild ( node,				 NULL,				 "Imputation",				 NULL );      xmlSetProp ( node_ib,		   "Nom",		   ib -> nom_imputation );      xmlSetProp ( node_ib,		   "Type",		   itoa ( ib -> type_imputation ));      xmlSetProp ( node_ib,		   "No_derniere_sous_imputation",		   itoa ( ib -> no_derniere_sous_imputation ));      /* on ajoute les sous ib */      pointeur_sous_ib = ib -> liste_sous_imputation;      while ( pointeur_sous_ib )	{	  struct struct_sous_imputation *sous_ib;	  xmlNodePtr node_sous_ib;	  sous_ib = pointeur_sous_ib -> data;	  node_sous_ib = xmlNewChild ( node_ib,				       NULL,				       "Sous-imputation",				       NULL );	  xmlSetProp ( node_sous_ib,		       "No",		       itoa ( sous_ib -> no_sous_imputation ));	  xmlSetProp ( node_sous_ib,		       "Nom",		       sous_ib -> nom_sous_imputation );	  pointeur_sous_ib = pointeur_sous_ib -> next;	}      pointeur_liste = pointeur_liste -> next;    }  /* l'arbre est fait, on sauvegarde */  resultat = xmlSaveFile ( nom_ib,			   doc );  /* on libre la memoire */  xmlFreeDoc ( doc );  if ( resultat == -1 )    {      dialogue ( g_strconcat ( _("Error saving the file: %s\n\nError:\n"),			       nom_ib, strerror ( errno ),			       NULL ));      return ( FALSE );    }  return ( TRUE );}