From ddf4b49c84dd4cc0d75d3d45c2ed0177f44a4f79 Mon Sep 17 00:00:00 2001 From: "Jean-Marc Pigeon (Delson)" Date: Tue, 27 May 2025 14:10:09 -0400 Subject: [PATCH] Starting to remove data file once in "C" completed mode --- .gitignore | 3 +++ Makefile | 32 ++++++++++++++++++++++++-------- app/sorter.c | 17 ++++++----------- lib/geseml.c | 22 +++++++++------------- lib/geseml.h | 4 ++-- 5 files changed, 44 insertions(+), 34 deletions(-) diff --git a/.gitignore b/.gitignore index c21bc90..d79af10 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,7 @@ test_area/ data-queue/ +data-sender/ +data-sorter/ +data-sorter2/ *.swp lib/numver.h diff --git a/Makefile b/Makefile index 014cb57..1bbe724 100644 --- a/Makefile +++ b/Makefile @@ -39,24 +39,35 @@ TESTITER= 4 #-------------------------------------------------------------------- #To test sorter sorter : clean debug + @ rm -fr $(TESTDIR)/var/spool/$(APPNAME)/queue @ mkdir -p $(TESTDIR)/var/spool/$(APPNAME)/queue @ cp -a \ - data-queue/* \ + data-$@/* \ $(TESTDIR)/var/spool/$(APPNAME)/queue @ bin/sorter \ -f \ -d 2 \ -c ./conf/mailleur.conf.dvl \ -r $(TESTDIR) - @ cp -a \ - $(TESTDIR)/var/spool/$(APPNAME)/queue/* \ - ./data-queue/ +sorter2 : clean debug newtest + @ rm -fr $(TESTDIR)/var/spool/$(APPNAME)/queue + @ mkdir -p $(TESTDIR)/var/spool/$(APPNAME)/queue + @ cp -a \ + ./data-$@/* \ + $(TESTDIR)/var/spool/$(APPNAME)/queue/ + @ ./bin/sorter \ + -f \ + -d 2 \ + -c ./conf/mailleur.conf.dvl \ + -r $(TESTDIR) + dbgsorter: clean debug + @ rm -fr $(TESTDIR)/var/spool/$(APPNAME)/queue @ mkdir -p $(TESTDIR)/var/spool/$(APPNAME)/queue @ cp -a \ - data-queue/* \ + data-sorter/* \ $(TESTDIR)/var/spool/$(APPNAME)/queue @ gdb \ --args \ @@ -69,17 +80,22 @@ dbgsorter: clean debug #-------------------------------------------------------------------- #To test sender sender : clean debug newtest + @ rm -fr $(TESTDIR)/var/spool/$(APPNAME)/queue + @ mkdir -p $(TESTDIR)/var/spool/$(APPNAME)/queue @ cp -a \ - ./data-queue/* \ - $(TESTDIR)/var/spool/$(APPNAME)/queue + ./data-$@/* \ + $(TESTDIR)/var/spool/$(APPNAME)/queue/ @ ./bin/$@ \ -d 2 \ -c ./conf/mailleur.conf.dvl \ -r $(TESTDIR) \ - `basename -a data-queue/*.todo | \ + `basename -a data-sender/*.todo | \ tr '\\n' ' ' ` dbgsend : clean debug + @ cp -a \ + ./data-$@/* \ + $(TESTDIR)/var/spool/$(APPNAME)/queue/ @ gdb \ --args \ bin/sender \ diff --git a/app/sorter.c b/app/sorter.c index e07bc6b..768d0e1 100644 --- a/app/sorter.c +++ b/app/sorter.c @@ -25,24 +25,22 @@ /* procedure to scan all files */ /* */ /********************************************************/ -static _Bool scantrans(const char *ext,_Bool todo) +static void scantrans(const char *ext,_Bool todo) { #define OPEP "sorter.c:scantrans," -_Bool status; char **fname; TRATYP **trans; int phase; _Bool proceed; -status=false; fname=(char **)0; trans=(TRATYP **)0; phase=0; proceed=true; while (proceed==true) { - //(void) fprintf(stdout,"%s JMPDBG phase='%d'\n",OPEP,phase); + (void) fprintf(stdout,"%s JMPDBG phase='%d' ext=<%s>\n",OPEP,phase,ext); switch (phase) { case 0 : //Getting the list of file fname=eml_getqfilelist(fname,ext); @@ -71,10 +69,10 @@ while (proceed==true) { case 2 : //scanning translit switch (todo) { case true : //Doing todo file - status=eml_todoqfile(trans); + (void) eml_todoqfile(trans); break; case false : - status=eml_doneqfile(trans); + (void) eml_doneqfile(trans); break; } trans=(TRATYP **)rou_freelist((void **)trans,(genfree_t)eml_freetra); @@ -85,7 +83,6 @@ while (proceed==true) { } phase++; } -return status; #undef OPEP } /* @@ -133,12 +130,10 @@ while (proceed==true) { phase=999; //Process break; case 3 : //Scanning all ".trans" file - if (scantrans(EXTRANS,true)==false) - phase=999; + (void) scantrans(EXTRANS,true); break; case 4 : //Scanning all ".done" file - if (scantrans(EXDONE,false)==false) - phase=999; + (void) scantrans(EXDONE,false); break; case 5 : //one shot deal?? if (foreground==false) { diff --git a/lib/geseml.c b/lib/geseml.c index 0f074bc..f4a4d2f 100644 --- a/lib/geseml.c +++ b/lib/geseml.c @@ -245,16 +245,14 @@ return list; /* sender MTA. */ /* */ /********************************************************/ -PUBLIC _Bool eml_todoqfile(TRATYP **list) +PUBLIC void eml_todoqfile(TRATYP **list) { #define OPEP "geseml.c:eml_todoqfile," #define EXTOBE "tobedone" -_Bool done; REFTYP **domlist; -done=false; domlist=(REFTYP **)0; if (list!=(TRATYP **)0) { while (*list!=(TRATYP *)0) { @@ -298,7 +296,6 @@ if (domlist!=(REFTYP **)0) { break; case 3 : //file ready, renaming file, (void) eml_renameqfile(qname,EXTOBE,EXTODO); - done=true; break; default : //SAFE Guard proceed=false; @@ -312,7 +309,6 @@ if (domlist!=(REFTYP **)0) { } (void) free(domlist); } -return done; #undef EXTOBE #undef OPEP @@ -325,30 +321,31 @@ return done; /* Procedure to clean/remove 'done' file. */ /* */ /********************************************************/ -PUBLIC _Bool eml_doneqfile(TRATYP **list) +PUBLIC void eml_doneqfile(TRATYP **list) { #define OPEP "geseml.c:eml_doneqfile," -_Bool check; SIDTYP **sids; -check=true; sids=(SIDTYP **)0; (void) rou_alert(0,"%s JMPDBG trying check",OPEP); if (list!=(TRATYP **)0) { - while (*list!=(TRATYP *)0) { + TRATYP **ptr; + + ptr=list; + while (*ptr!=(TRATYP *)0) { SIDTYP *found; - found=eml_addsid(&sids,(*list)->sessid); - switch ((*list)->code) { + found=eml_addsid(&sids,(*ptr)->sessid); + switch ((*ptr)->code) { case 'C' : //completed break; default : found->count++; break; } - list++; + ptr++; } } if (sids!=(SIDTYP **)0) { @@ -364,7 +361,6 @@ if (sids!=(SIDTYP **)0) { } sids=eml_freesid(sids); } -return check; #undef OPEP } diff --git a/lib/geseml.h b/lib/geseml.h index 787e37f..cd7a4d3 100644 --- a/lib/geseml.h +++ b/lib/geseml.h @@ -31,10 +31,10 @@ extern TRATYP *eml_freetra(TRATYP *tra); extern TRATYP **eml_scanqfile(TRATYP **list,FILE *qfile); //procedure to Generate todolist file within queue -extern _Bool eml_todoqfile(TRATYP **list); +extern void eml_todoqfile(TRATYP **list); //procedure to clean/remove done file within queue -extern _Bool eml_doneqfile(TRATYP **list); +extern void eml_doneqfile(TRATYP **list); //procedure to store an email to the local email storage area extern _Bool eml_store_email(TRATYP *tra); -- 2.47.3