/*
Fichier comptemail.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 le nombre de mail en attente de téléchargement
(ou de destruction).
Un fichier de configuration est utilisé pour se connecter à la
boite aux lettres.
*/
#define appli // pour la déclaration de variables globales à l'application
#include <stdio.h>
#include <string.h>
#include "messages.h"
#include "buflect.h"
#include "ficonf.h"
#include "pop.h"
/* programme principal */
int main (int nbarg, char *varg[])
{
FILE *fconf; // descripteur du fichier de configuration
int nb_mails; // nombre de mails
int optn; // option d'affichage
// récupération du nom de l'exécutable
memcom (*varg);
// si option -n (affichage du nombre de mails seulement)
if (--nbarg >= 1 && strcmp (varg [1], "-n") == 0)
{
// la mémoriser
optn = 1;
// et passer à l'argument suivant
varg ++;
nbarg --;
}
else
// sinon, pas d'option -n
optn = 0;
if (nbarg == 1)
{
// ouvrir le fichier de configuration
fconf = ouvre_ficonf (varg [1]);
if (fconf)
{
// connexion sur le compte mail du serveur pop
if (connect_pop (fconf))
{
// récupération du nombre de mails
nb_mails = nbmails ();
// affichage du nombre de mails
if (optn)
printf ("%d\n", nb_mails);
else
{
if (nb_mails > 1)
// "%d mails dans %s\n"
printf (message ("COMPTE_MAILS"), nb_mails, varg [1]);
else if (nb_mails == 1)
// "1 mail dans %s\n"
printf (message ("UN_SEUL_MAIL"), varg [1]);
else
// "Aucun mail dans %s\n"
printf (message ("AUCUN_MAIL"), 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 [-n] fichier_configuration"
psyntaxe ("SYNT_COMPTEMAIL");
return (0);
}