]> SAFE projects GIT repository - jmp/mailleur/commitdiff
Improving rou_dbglive procedure
authorJean-Marc Pigeon <jmp@safe.c>
Sun, 16 Nov 2025 20:03:28 +0000 (15:03 -0500)
committerJean-Marc Pigeon <jmp@safe.c>
Sun, 16 Nov 2025 20:03:28 +0000 (15:03 -0500)
app/receiver.c
app/scanner.c
app/sender.c
app/sorter.c
lib/subrou.c
lib/subrou.h
lib/unipar.c
sysconfig/mailleur

index 46137d3e3115617ea8be0518e5b31a0a2bb5484a..f126022fe2a00fd8027590f1c03a2789762eceb6 100644 (file)
@@ -50,7 +50,7 @@ proceed=true;
 while (proceed==true) {
   switch (phase) {
     case 0      :       //checking parameters
-      if ((params=par_getparams(argc,argv,"c:d:fhr:v"))==(ARGTYP *)0) {
+      if ((params=par_getparams(argc,argv,"c:d:D:fhr:v"))==(ARGTYP *)0) {
         phase=999;      //no need to go further
         }
       break;
index 2e578ecd7475d6b4cf4a5ecbae9f4c16cbe27403..a9a566ac93f1a2c1e48c67206c741488a407bb7f 100644 (file)
@@ -356,7 +356,7 @@ while (proceed==true) {
   //(void) rou_alert(0,"%s JMPDBG phase='%d'",OPEP,phase);
   switch (phase) {
     case 0      :       //checking parameters
-      if ((params=par_getparams(argc,argv,"c:d:fhi:r:v"))==(ARGTYP *)0) {
+      if ((params=par_getparams(argc,argv,"c:d:D:fhi:r:v"))==(ARGTYP *)0) {
         proceed=false;      //no need to go further
         }
       break;
index a7b73f0a342085dc070104d6b16ab5170adb839e..c519459c3e102cdde3269ce877c345f13d0331f9 100644 (file)
@@ -329,7 +329,7 @@ while (proceed==true) {
   //(void) fprintf(stdout,"%s (pid=%08d) JMPDBG phase='%d'\n",OPEP,getpid(),phase);
   switch (phase) {
     case 0      :       //checking parameters
-      if ((params=par_getparams(argc,argv,"c:d:fh:r:v"))==(ARGTYP *)0) {
+      if ((params=par_getparams(argc,argv,"c:d:D:fh:r:v"))==(ARGTYP *)0) {
         proceed=false;      //no need to go further
         }
       break;
index 818df7276d99baaeeee01a0073f80907cc7188ca..2c0e19fe4baf66bc1f9b456ad29b3a6a516654d2 100644 (file)
@@ -194,7 +194,7 @@ while (proceed==true) {
   //(void) rou_alert(0,"%s JMPDBG phase='%d'",OPEP,phase);
   switch (phase) {
     case 0      :       //checking parameters
-      if ((params=par_getparams(argc,argv,"c:d:fhi:r:v"))==(ARGTYP *)0) {
+      if ((params=par_getparams(argc,argv,"c:d:D:fhi:r:v"))==(ARGTYP *)0) {
         proceed=false;      //no need to go further
         }
       break;
index f94972238a48493724048df9ea36d157026bb35d..449d894e99130da4f6321ee76f85c72085094ea9 100644 (file)
@@ -23,6 +23,7 @@
 
 //Public variables
 PUBLIC  int debug=0;            //debug level
+PUBLIC  char *dbglive;          //procedure reference to be debugged live
 
 PUBLIC  _Bool foreground=false; //process is always started in background mode
 PUBLIC  char *rootdir=(char *)0;//working directory (debugging)
@@ -639,11 +640,10 @@ PUBLIC void rou_dbglive(const int dlevel,const char *prcref,const char *fmt,...)
 {
 #define DBG  "DBGLIVE"
 
-char *ptr;
-
-if ((debug>=dlevel)&&((ptr=getenv(DBG))!=(char *)0)) {
-  (void) rou_alert(0,"Bigre ptr=<%s>",ptr);
-  if (strstr(ptr,prcref)!=(char *)0) {
+(void) rou_alert(0,"BIGRE Bigre dbglive=<%s>",dbglive);
+if ((debug>=dlevel)&&(dbglive!=(char *)0)) {
+  (void) rou_alert(0,"Bigre dbglive=<%s>",dbglive);
+  if (strstr(dbglive,prcref)!=(char *)0) {
     char *nstr;
     va_list args;
 
index 18a7f79adbee8046a34b053bb2be7ad10adf331f..c7318a236a648872414b9dc651050e3ce99d4eb6 100644 (file)
@@ -33,6 +33,7 @@ typedef struct timespec TIMESPEC;
 extern int             debug;  //application debug mode
 extern _Bool       foreground;  //process is in foreground mode
 
+extern char          *dbglive;  //string to check for live debugging
 extern char          *rootdir;  //application root directory
 extern char          *appname;  //application "official" name
 extern char        execname[];  //Application exec/binary name
index 11e7d7387284000a39e0a5528a35c8b50d397911..52feeb94ee3fd674d4580d411540709c1cfd3c8f 100644 (file)
@@ -49,6 +49,7 @@ static void usage_aid(char *name,const char *select)
 static char *options[]={
               "c[-c config]",
               "d[-d debug]",
+              "D[-D dbglive]",
               "f[-f]",
               "h[-h]",
               "i[-i IP]",
@@ -60,6 +61,7 @@ static char *options[]={
 static char *details[]={
               "-c config\t: set config file\n",
               "-d level\t: debug level [1-10]\n",
+              "-D dbglive\t: Procedure name to use with live debug\n",
               "-f\t\t: start program in foreground (CLI) mode\n",
               "-h\t\t: print this help message\n",
               "-i IP\t\t: IP to be used as source IP\n",
@@ -119,6 +121,8 @@ if (params!=(ARGTYP *)0) {
     }  
   (void) free(params);
   params=(ARGTYP *)0;
+  rou_freestr(dbglive);
+  dbglive=(char *)0;
   }
 return params;
 }
@@ -156,6 +160,10 @@ while (((c=getopt(argc,argv,optstring))!=EOF)&&(params!=(ARGTYP *)0)) {
       debug=atoi(optarg);
       (void) rou_alert(1,"debug level is now '%d'",debug);
       break;
+    case 'D'   :       //debug level
+      dbglive=strdup(optarg);
+      (void) rou_alert(1,"debug live string=<%s>",dbglive);
+      break;
     case 'f'   :       //background/daemon mode
       foreground=true;
       (void) fprintf(stdout,"%s-%s, foreground mode requested\n",
index 03cb8bbc5ab3f64487c4a258d4c0f353761bfe2a..9c599db1ff3d7064df7b1032634de03000c12eeb 100644 (file)
@@ -2,6 +2,6 @@
 #options available to debug mailleur
 #OPTIONS="-d9"
 #this is to debug a specific function within a specific module
-#DBGLIV="lvleml.c:checkto,modrec.c:docontact"
+#OPTIONS="-d9 -Dlvleml.c:checkto,modrec.c:docontact
 #-------------------------------------------