From: Jean-Marc Pigeon (Delson) Date: Wed, 4 Jun 2025 09:04:47 +0000 (-0400) Subject: "sorter" and "sender" seems to be working fine X-Git-Tag: tag-0.8~71 X-Git-Url: https://jmp-git.ovh.safe.ca/?a=commitdiff_plain;h=44ae66cb52ddba96ddf5ed116b115cf09723c949;p=jmp%2Fmailleur "sorter" and "sender" seems to be working fine --- diff --git a/app/sender.c b/app/sender.c index 367fca1..922afde 100644 --- a/app/sender.c +++ b/app/sender.c @@ -48,10 +48,10 @@ if (tra!=(TRATYP **)0) { (void) rou_alert(0,"%s JMPDBG date='%ld' isnow='%ld'",OPEP,(*ptr)->date,isnow); if (((*ptr)->date+(*ptr)->delay)<=isnow) { (void) rou_alert(0,"%s JMPDBG action delay='%d'",OPEP,(*ptr)->delay); + (void) eml_add_delay(isnow,*ptr); switch ((*ptr)->code) { case 'L' : //local delivery (*ptr)->code='C'; //delivery done 'C'ompleted - (void) eml_add_delay(*ptr); if (eml_store_email(*ptr)==false) { (*ptr)->code='L'; //delivery done 'D'elayed (void) rou_alert(0,"%s Unable to deliver email <%s> to <%s>", @@ -60,7 +60,6 @@ if (tra!=(TRATYP **)0) { break; case 'R' : //remote delivery //JMPDBG set as the remote email was not succesful - (void) eml_add_delay(*ptr); (void) rou_alert(0,"%s JMPDBG delay='%d'",OPEP,(*ptr)->delay); break; default : diff --git a/lib/geseml.c b/lib/geseml.c index d4568d9..fb6a77b 100644 --- a/lib/geseml.c +++ b/lib/geseml.c @@ -272,7 +272,7 @@ while ((ptr=fgets(line,sizeof(line),qfile))!=(char *)0) { break; case 1 : //scanning line contents if (sscanf(line,"%c %ld %d %s %s %s",&code,&date,&delay,id,from,to)!=6) { - (void) rou_alert(0,"%s, Unable to scan <%s> (config?)",OPEP,line); + (void) rou_alert(0,"%s Unable to scan (config?)",OPEP,line); phase=999; //No data within line } break; @@ -566,7 +566,7 @@ return done; /* Return true if succesfull, false otherwise */ /* */ /********************************************************/ -PUBLIC _Bool eml_add_delay(TRATYP *tra) +PUBLIC _Bool eml_add_delay(time_t isnow,TRATYP *tra) { _Bool status; @@ -574,6 +574,7 @@ _Bool status; status=false; (void) rou_alert(0,"eml_add_delay, JMPDBG"); if (tra!=(TRATYP *)0) { + tra->date=isnow; tra->delay=(tra->delay*2)+60; status=true; } diff --git a/lib/geseml.h b/lib/geseml.h index ba68bf1..3c97f42 100644 --- a/lib/geseml.h +++ b/lib/geseml.h @@ -10,6 +10,7 @@ #include #include +#include #define EXTOBE "tobedone" //directive enxtension in progress @@ -45,7 +46,7 @@ extern void eml_doneqfile(TRATYP **list); extern _Bool eml_store_email(TRATYP *tra); //procedure to add execution delay to an email sending -extern _Bool eml_add_delay(TRATYP *tra); +extern _Bool eml_add_delay(time_t isnow,TRATYP *tra); //procedure to fork a process and start the "sender" process extern _Bool eml_start_sender(char *todo); diff --git a/lib/unieml.c b/lib/unieml.c index 31f6bc8..0a89356 100644 --- a/lib/unieml.c +++ b/lib/unieml.c @@ -466,15 +466,16 @@ while (proceed==true) { register char *ptr; ptr=data->d_name; - if (taille>0) { + if (*ptr=='.') + continue; //hidden file + if (taille>0) ptr=strstr(data->d_name,ext); - if ((ptr!=(char *)0)&&(strlen(ptr)!=taille)&&(*(ptr-1)!='.')) - ptr=(char *)0; - } - if (ptr!=(char *)0) { - (void) rou_alert(0,"%s JMPDBG got <%s>",OPEP,data->d_name); - dnames=(char **)rou_addlist((void **)dnames,(void *)strdup(data->d_name)); - } + if (ptr==(char *)0) + continue; //extension not found + if ((strlen(ptr)!=taille)&&(*(ptr-1)!='.')) + continue; //Not the right extension + (void) rou_alert(0,"%s JMPDBG got <%s>",OPEP,data->d_name); + dnames=(char **)rou_addlist((void **)dnames,(void *)strdup(data->d_name)); } break; case 2 : //closing directory