depre

Afficher la date et l'heure hexadécimale
git clone git://git.asteride.xyz/depre.git
Journaux | Fichiers | Références | LISEZ-MOI | LICENCE

commit 9cc3b4c1bebeb77d877266a7ef7ae0d1f80e6096
parent 529ddcc274bb59c0603130af2278b9876ce2b2ff
Auteur: ldp <ldp@asteride.xyz>
Date:   Mon,  8 Dec 2025 19:07:15 -0500

[bog] Améliorer la portabilité

Diffstat:
Mdepre.c | 21++++++++++++++++++---
1 fichier modifié, 18 insertions(+), 3 suppressions(-)

diff --git a/depre.c b/depre.c @@ -13,9 +13,16 @@ /* nombre de secondes entre le zéro Unix et zéro depre, par défaut */ #define ZERO_DEF (11138 * 60 * 60 * 24 + 3600 * 4) +/* nombre de secondes dans une journée */ +#define SEC_JOUR 86400 + +/* nombre de barres dans une journée */ +#define BAR_JOUR (16 * 16 * 16) + static void utilisation(FILE *f); static void version(void); static int ccvt(char *cc, time_t *rep); +static int secbar(time_t sec); char *nom_prog; @@ -87,12 +94,12 @@ main(int argc, char **argv) signe = ""; } /* nombre de jours complets écoulés */ - jours = secondes / 86400; + jours = secondes / SEC_JOUR; /* nombre de secondes écoulées aujourd'hui */ - secondes -= jours * 86400; + secondes -= jours * SEC_JOUR; /* afficher la date d'aujourd'hui */ - printf("%s%x.%lx\n", signe, jours, secondes * (16 * 16 * 16) / 86400); + printf("%s%x.%x\n", signe, jours, secbar(secondes)); return 0; @@ -138,3 +145,11 @@ ccvt(char *cc, time_t *rep) return 0; } + +/* convertir secondes en barres */ +/* renvoie un int, car il y a 4096 barres dans une journée */ +static int +secbar(time_t sec) +{ + return (int) (sec * BAR_JOUR / SEC_JOUR); +}