/*
Fichier vsourcemail.c
Auteur Bernard Chardonneau
Logiciel libre, droits d'utilisation précisés en français
dans le fichier : licence-fr.txt
Traductions des droits d'utilisation dans les fichiers :
licence-de.txt , licence-en.txt , licence-es.txt ,
licence-it.txt , licence-nl.txt , licence-pt.txt ,
licence-eo.txt , licence-eo-utf.txt
Droits d'utilisation également sur la page web :
http://libremail.tuxfamily.org/voir.php?page=droits
Ce programme affiche un mail en attente de téléchargement
(ou de destruction).
Un fichier de configuration est utilisé pour se connecter à la
boite aux lettres.
Le mail à afficher est repéré par son numéro d'ordre dans la
liste des mails sur le serveur.
*/
#define appli // pour la déclaration de variables globales à l'application
int main (int nbarg, char *varg[])
{
FILE *fconf; // descripteur du fichier de configuration
int numes; // numéro du mail courant
// récupération du nom de l'exécutable
memcom (*varg);
// controle du nombre d'arguments
if (--nbarg == 2)
{
// ouvrir le fichier de configuration
fconf = ouvre_ficonf (varg [2]);
if (fconf)
{
// connexion sur le compte mail du serveur pop
if (connect_pop (fconf))
{
// récupérer le numéro de mail
numes = atoi (varg [1]);
// afficher ce mail si possible
if (numes > 0 && numes <= nbmails ())
affsource (numes);
else if (numes > 0)
// "Numéro de mail trop grand"
affiche_err ("NUMAIL_TROP_GRAND");
else
// "Numéro de mail %s incorrect"
aff_err_arg ("NUMAIL_FAUX", varg [1]);
// se déconnecter proprement du serveur pop
deconnect_pop ();
}
// on n'a plus besoin du fichier de configuration
fclose (fconf);
}
}
else
// "Syntaxe : %s [-(h|H|b|B)] numéro_message fichier_configuration"
psyntaxe ("SYNT_VSOURCEMAIL");
// pour faire plaisir à gcc qui veut une fonction main de type int
return (0);
}
/* lit le mail choisi et l'affiche sans traitement des lignes */