[BACK]Return to blind.c CVS log [TXT][DIR] Up to [local] / blind

Diff for /blind/blind.c between version 1.3 and 1.24

version 1.3, 2022/03/15 23:31:01 version 1.24, 2022/10/29 06:20:52
Line 16 
Line 16 
   
 #include <stdio.h>  #include <stdio.h>
 #include <stdlib.h>  #include <stdlib.h>
   #include <string.h>
   #include <syslog.h>
 #include <unistd.h>  #include <unistd.h>
   
 #include "blind.h"  #include "blind.h"
   #include "config.h"
   #include "log.h"
   
 static void usage(void);  static void     usage(void);
   
 int     daemonize = 1;  struct blind   *bl;
 int     verbose = 0;  
   
 static void  static void
 usage(void)  usage(void)
Line 38  int
Line 41  int
 main(int argc, char *argv[])  main(int argc, char *argv[])
 {  {
         int              ch;          int              ch;
         int              action = 1;          int              verbose = 0;
         const char      *config = CONFIG;          int              no_action = 0;
           int              daemonize = 1;
           const char      *config = BL_CONF;
   
         while ((ch = getopt(argc, argv, "dhnvf:")) != -1) {          while ((ch = getopt(argc, argv, "dhnvf:")) != -1) {
                 switch (ch) {                  switch (ch) {
Line 47  main(int argc, char *argv[])
Line 52  main(int argc, char *argv[])
                         daemonize = 0;                          daemonize = 0;
                         break;                          break;
                 case 'h':                  case 'h':
                         fprintf(stderr, BLIND_TXT " " BLIND_VER "\n");                          fprintf(stderr, BL_TEXT " " BL_VERS "\n");
                         usage();                          usage();
                         break;                          break;
                 case 'n':                  case 'n':
                         action = 0;                          no_action = 1;
                           daemonize = 0;
                         break;                          break;
                 case 'f':                  case 'f':
                         config = optarg;                          config = optarg;
                         break;                          break;
                 case 'v':                  case 'v':
                         verbose = 1;                          verbose = BL_OPT_VERBOSE;
                         break;                          break;
                 default:                  default:
                         usage();                          usage();
Line 68  main(int argc, char *argv[])
Line 74  main(int argc, char *argv[])
   
         if (argc || *argv)          if (argc || *argv)
                 usage();                  usage();
   
           log_init(daemonize, LOG_DAEMON);
           log_info("%s %s", BL_TEXT, BL_VERS);
   
           if ((bl = config_init()) == NULL)
                   log_fatal("initialization failed");
   
           if (verbose) {
                   bl->bl_opt |= verbose;
                   log_set(verbose);
                   log_debug("verbose mode on");
           }
   
           if (strlcpy(bl->bl_conf, config, PATH_MAX) >= PATH_MAX)
                   log_fatal("file name exceeds PATH_MAX");
   
           if (config_load(bl))
                   log_fatal("%s", bl->bl_conf);
   
           if (no_action) {
                   // check config
                   log_info("configuration ok");
                   free(bl);
                   exit(0);
           }
   
           log_debug("conf=%s", bl->bl_conf);
           log_debug("sock=%s", bl->bl_sock);
           log_debug(" ttl=%d", bl->bl_ttl);
           log_debug(" opt=%d", bl->bl_opt);
   
           // to be continued or not
   
           free(bl);
   
         exit(0);          exit(0);
 }  }

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.24

https://cvs.kroczynski.net