]> SAFE projects GIT repository - jmp/mailleur/commitdiff
Problemen to recognize local email??
authorJean-Marc Pigeon (Delson) <jmp@safe.ca>
Mon, 30 Jun 2025 01:52:41 +0000 (21:52 -0400)
committerJean-Marc Pigeon (Delson) <jmp@safe.ca>
Mon, 30 Jun 2025 01:52:41 +0000 (21:52 -0400)
lib/devsql.c
lib/geseml.c
lib/unisql.h

index dd340b1cb6ac4960fa2efc2ba64121c8cb5b1802..084c23dd755b0024d6e1b41f65c4c6881885c9f3 100644 (file)
@@ -253,6 +253,7 @@ char *cmd;
 number=-1;
 va_start(args,fmt);
 if ((rou_vasprintf(&cmd,fmt,args))>0) {
+  (void) rou_alert(0,"%s JMPDBG rqst=<%s>",OPEP,cmd);
   switch(sql->sqldb) {
     case db_postgres    :
       number=pos_request(sql->db.psql,cmd);
@@ -836,12 +837,12 @@ if (act!=(ACTTYP *)0) {
   (void) rou_alert(0,"%s Entering!",OPEP);
   goodid=sql_gooddata(sqlptr,act->sessid);
   goodrcpt=sql_gooddata(sqlptr,act->rcptto);
-  if (act->resp==(char **)0)
-    (void) sqlrequest(sqlptr,DELACT,goodid,goodrcpt);
-  else {
+  (void) rou_alert(0,"JMPDBG %s %s code='%c'",act->sessid,act->rcptto,act->code);
+  if (act->resp!=(char **)0) {
     char *field;
 
     field="sessid,rcptto,numline,info";
+    (void) sqlrequest(sqlptr,DELACT,goodid,goodrcpt);
     if (act->resp!=(char **)0) {
       char **resp;
       int num;
@@ -853,7 +854,6 @@ if (act!=(ACTTYP *)0) {
 
         goodinfo=sql_gooddata(sqlptr,*resp);
         (void) sqlrequest(sqlptr,INACT,field,goodid,goodrcpt,num,goodinfo);
-        (void) rou_alert(0,INACT,field,goodid,goodrcpt,num,goodinfo);
         goodinfo=rou_freestr(goodinfo);
         resp++;
         num++;
index 7920d991c45d4d77d0d7d5a6dc17cb1fcb912241..15ff4961362f799d9cdbeeb8da1db465936f74b1 100644 (file)
@@ -562,6 +562,7 @@ if (list!=(TRATYP **)0) {
     switch ((*ptr)->code) {
       case 'C'  :       //email completed 
         toadd=false;
+        (void) eml_freetra_resp(*ptr);  //no need to report actions
         if (eml_countqfile((*ptr)->sessid,-1)==0) {
           char fname[200];
 
@@ -1026,13 +1027,16 @@ if (tra!=(TRATYP **)0) {
         break;
       case 1    :       //checking all transation
         while (*tra!=(TRATYP *)0) {
-          ACTTYP action;
-
-          action.sessid=(*tra)->sessid;
-          action.rcptto=(*tra)->rcptto;
-          action.resp=(*tra)->resp;
-          (void) sql_mngact(sqlptr,sql_delete,&action); 
-          num++;
+          if ((*tra)->resp!=(char **)0) {
+            ACTTYP action;
+
+            action.sessid=(*tra)->sessid;
+            action.code=(*tra)->code;
+            action.rcptto=(*tra)->rcptto;
+            action.resp=(*tra)->resp;
+            (void) sql_mngact(sqlptr,sql_delete,&action); 
+            num++;
+            }
           tra++;
           }
         break;
index 30e8986aec3c1a1503d29fa2979c4b6eafdd004a..a85874054ba9183629b730564d459d0196f858ca 100644 (file)
@@ -41,6 +41,7 @@ typedef struct  {
 //Tructure about email action status (managing email)
 typedef struct  {
         char *sessid;   //session id
+        char code;      //Email status code
         char *rcptto;   //email recipient
         char **resp;    //Multiline status
         }ACTTYP;