/*
    Fichier numail.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


    Ces 2 fonctions permettent de :
    - connaitre le numéro du dernier mail téléchargé ou créé
    - mettre à jour le fichier qui mémorise ce numéro.

    Les fonctions sont utilisées aussi bien pour le téléchargement
    des mails : chargemail , chargepartaille , chargepartiel
    que pour la création de mails à envoyer : cremail , repmail ,
    trsfmail .
*/


#include <stdio.h>
#include "messages.h"
#include "numail.h"
#include "szchemin.h"



/* retourne le numéro du dernier mail téléchargé */

long num_dermail (char *dirmails)
{
    char ficnmail [szchemin + 7];
    FILE *fnmail;
    long numdermail;


    // accès au fichier contenant le numéro du dernier mail
    sprintf (ficnmail, "%s/%s", dirmails, ficdir ("FIC_NUMAIL"));

    fnmail = fopen (ficnmail, "r");

    if (fnmail)
    {
        // recupération de ce numéro
        fscanf (fnmail, "%ld", &numdermail);
        fclose (fnmail);

        // retour du numéro lu
        return (numdermail);
    }
    else
        // fichier absent : aucun mail n'a encore été téléchargé ou créé
        return (-1L);
}


/* mémorise le numéro du dernier mail téléchargé ou créé */

void sauv_num_dermail (char *dirmails, long numail)
{
    char ficnmail [szchemin + 7];
    FILE *fnmail;


    // accès en écriture du fichier contenant le numéro du dernier mail
    sprintf (ficnmail, "%s/%s", dirmails, ficdir ("FIC_NUMAIL"));

    fnmail = fopen (ficnmail, "w");

    if (fnmail)
    {
        // mise à jour du numéro
        fprintf (fnmail, "%ld", numail);
        fclose (fnmail);
    }
    else
        // "Impossible de mettre à jour le fichier %s"
        aff_err_arg ("IMPOS_MAJ_FICH", ficnmail);
}