/* Ouverture en lecture du fichier de configuration */
FILE * ouvre_ficonf (char *nomfich)
{
// fichier de configuration si présent dans le répertoire courant
char ficonf [120];
// fichier de configuration si présent dans le répertoire $libremail_cfg
char chemficonf [szchemin];
FILE *fconf; // descripteur du fichier de configuration
// récupérer le nom du fichier de configuration
strcpy (ficonf, nomfich);
// rajouter le suffixe si nécessaire
if (ficonf [strlen (ficonf) - 4] != '.')
strcat (ficonf, ".cfg");
// tenter d'ouvrir le fichier de configuration
fconf = fopen (ficonf, "r");
// si l'ouverture s'est mal passé et que la
// variable d'environnement libremail_cfg existe
if (!fconf && getenv ("libremail_cfg"))
{
// générer le chemin d'accès au fichier de configuration
sprintf (chemficonf, "%s/%s", getenv ("libremail_cfg"), ficonf);
// et tenter d'ouvrir ce fichier
fconf = fopen (chemficonf, "r");
}
// si toujours pas de fichier de configuration ouvert
if (!fconf)
// message d'erreur
// "Fichier %s non trouvé"
aff_err_arg ("FICH_ABSENT", ficonf);
// retourner le résultat de l'ouverture du fichier
return fconf;
}