]> SAFE projects GIT repository - jmp/mailleur/commitdiff
Code to update event tables seems to be working
authorJean-Marc Pigeon (Delson) <jmp@safe.ca>
Wed, 13 Aug 2025 19:24:36 +0000 (15:24 -0400)
committerJean-Marc Pigeon (Delson) <jmp@safe.ca>
Wed, 13 Aug 2025 19:24:36 +0000 (15:24 -0400)
lib/devlog.c
lib/gessql.c
lib/gessql.h
lib/lvleml.c

index 8918a843ab281e7d4b0903e08bbad08b742084ca..c58aa14a758ed4a59fba5228c4f74ecdff95aa51 100644 (file)
@@ -126,7 +126,6 @@ while (proceed==true) {
     case 5      :       //Setting file position
       (void) fseek(fevent,(long)0,SEEK_END);
       *debut=ftell(fevent);     //First char position
-      (void) rou_alert(0,"%s JMPDBG debut='%d'",OPEP,*debut);
       break;
     case 6      :  {    //merging file
       char ch;
@@ -137,7 +136,6 @@ while (proceed==true) {
     case 7      :       //unlocking file
       (void) flock(fileno(fevent),LOCK_UN);
       *fin=ftell(fevent)-1;     //Last char Position
-      (void) rou_alert(0,"%s JMPDBG fin='%d'",OPEP,*fin);
       (void) fclose(fevent);
       (void) fclose(flog);
       }
index 972115729cff6ad1078f075e0d24bb3b6b20d548..24d6f6e2c727fb0047ff4e651ef936b2e48fa222 100644 (file)
@@ -17,6 +17,7 @@
 #define RMTTBL  "remotes"       //Table about remotes site
 #define ACTTBL  "actions"       //action tables
 #define SESTBL  "sessions"      //session tables
+#define EVTTBL  "events"        //events tables 
 
 //field available in table "remotes"
 static const FLDTYP usrfield[]={
@@ -831,7 +832,6 @@ return isok;
 
 #undef  OPEP
 }
-
 /*
 \f
 */
@@ -900,3 +900,32 @@ return rmtip;
 #undef  DATLIM
 #undef  OPEP
 }
+/*
+\f
+*/
+/********************************************************/
+/*                                                      */
+/*      Procedure to add an event reference within the  */
+/*      data-base event table.                          */
+/*                                                      */
+/********************************************************/
+PUBLIC int sql_addevent(SQLPTR *sqlptr,char *session,int debut,int fin)
+
+{
+static char *ins="INSERT INTO "EVTTBL" (sessid,start,stop) values(%s)";
+
+int done;
+
+done=-1;
+if (sqlptr!=(SQLPTR *)0) {
+  char *goodses;
+  char *values;
+
+  goodses=sql_gooddata(sqlptr,session);
+  (void) rou_asprintf(&values,"%s,%d,%d",goodses,debut,fin);
+  done=sql_request(sqlptr,ins,values);
+  values=rou_freestr(values);
+  goodses=rou_freestr(goodses);
+  }
+return done;
+}
index a0e224b5d1a2bf14997fcf84152feafcd299da8d..0454130cd6e84cd8d88397d63af16fd9f41a9920 100644 (file)
@@ -32,4 +32,8 @@ extern _Bool sql_mngremote(SQLPTR *sqlptr,SQLENUM action,char *key,SRVTYP **srv)
 
 //procedure to collect a list of "to be checked" remote IP
 extern char **sql_getnewrmtip(SQLPTR *sqlptr,int frequency);
+
+//procedure to create a new event entry
+extern int sql_addevent(SQLPTR *sqlptr,char *session,int debut,int fin);
+
 #endif
index 24cc377deec2870f0d8ccfe5c6b611528a14405f..7824c28ed38fc164509a36ad5381537d96136de8 100644 (file)
@@ -113,9 +113,10 @@ if (contact!=(CONTYP *)0) {
   debut=0;
   fin=0;
   (void) freesessid(contact);
-  contact->termend=rou_freestr(contact->termend);
   contact->logptr=log_closelog(contact->logptr,&debut,&fin);
+  (void) sql_addevent(contact->sqlptr,contact->mainsesid,debut,fin);
   contact->sqlptr=sql_closesql(contact->sqlptr);
+  contact->termend=rou_freestr(contact->termend);
   contact->relayok=(AFNTYP **)rou_freelist((void **)contact->relayok,
                                          (genfree_t)afn_freeipnum);
   contact->recipients=(RCPTYP **)rou_freelist((void **)contact->recipients,