rem: doc = xmlParseFile ( nom_fichier_comptes );
add: if ( doc ) {  xmlNodePtr root = xmlDocGetRootElement(doc);
context: gboolean charge_operations ( void ){  struct stat buffer_stat;  xmlDocPtr doc;  /* vrification de la permission du fichier */  stat ( nom_fichier_comptes,	 &buffer_stat);  if ( buffer_stat.st_mode != 33152 && etat.alerte_permission )    propose_changement_permissions();   /* on commence par ouvrir le fichier en xml */  /*   si marche pas, essaye d'ouvrir la version 0.3.1 */  doc = xmlParseFile ( nom_fichier_comptes );  if ( doc )    {      /* vrifications d'usage */      xmlNodePtr root = xmlDocGetRootElement(doc);      if ( !root	   ||	   !root->name	   ||	   g_strcasecmp ( root->name,			  "Grisbi" ))	{	  dialogue ( _("Invalid accounts file") );	  xmlFreeDoc ( doc );	  return ( FALSE );	}      /* rcupre la version de fichier */        if (( !strcmp (  xmlNodeGetContent ( root->childs->childs ),			 "0.3.2" )))	  return ( charge_operations_version_0_3_2 ( doc ));        if (( !strcmp (  xmlNodeGetContent ( root->childs->childs ),			 "0.3.3" )))	  return ( charge_operations_version_0_3_2 ( doc ));        if (( !strcmp (  xmlNodeGetContent ( root->childs->childs ),			 "0.4.0" )))	  return ( charge_operations_version_0_4_0 ( doc ));        if (( !strcmp (  xmlNodeGetContent ( root->childs->childs ),			 "0.4.1" )))	  return ( charge_operations_version_0_4_1 ( doc ));        if (( !strcmp (  xmlNodeGetContent ( root->childs->childs ),			 "0.5.0" )))	  return ( charge_operations_version_0_5_0 ( doc ));	/* 	 ce niveau, c'est que que la version n'est pas connue de grisbi, on donne alors */	/* la version ncessaire pour l'ouvrir */	dialogue ( g_strdup_printf ( _("Grisbi version %s is needed to open this file"),				     xmlNodeGetContent ( root->childs->childs->next )));	xmlFreeDoc ( doc );	return ( FALSE );    }  else    {      dialogue ( _("Invalid accounts file") );      return ( FALSE );    }      dialogue ( _("Invalid accounts file or file version prior to 0.3.1.") );  return ( FALSE );}