=================================================================== RCS file: /cvs/cvs/blind/blind.c,v retrieving revision 1.8 retrieving revision 1.22 diff -u -p -r1.8 -r1.22 --- blind/blind.c 2022/03/18 19:55:19 1.8 +++ blind/blind.c 2022/04/10 19:35:20 1.22 @@ -16,18 +16,17 @@ #include #include -#include +#include #include +#include #include "blind.h" #include "config.h" #include "log.h" -static void usage(void); +static void usage(void); -int daemonize = 1; -int verbose = 0; -struct blind *bl; +struct blind *bl; static void usage(void) @@ -42,7 +41,9 @@ int main(int argc, char *argv[]) { int ch; + int verbose = 0; int no_action = 0; + int daemonize = 1; const char *config = BL_CONF; while ((ch = getopt(argc, argv, "dhnvf:")) != -1) { @@ -61,7 +62,7 @@ main(int argc, char *argv[]) config = optarg; break; case 'v': - verbose = 1; + verbose = BL_OPT_VERBOSE; break; default: usage(); @@ -73,21 +74,32 @@ main(int argc, char *argv[]) if (argc || *argv) usage(); - log_initialize(daemonize, LOG_DAEMON); - log_setverbose(verbose); - log_info("%s %s starting", BL_TEXT, BL_VERS); - log_debug("verbose mode"); + log_init(daemonize, LOG_DAEMON); + log_info("%s %s", BL_TEXT, BL_VERS); - if ((bl = config_init()) == NULL) - log_fatal("config default"); + if ((bl = config_init()) == NULL) + log_fatal("initialization failed"); - log_debug("ttl=%d", bl->bl_ttl); - - // conf file format + default values + if (verbose) { + bl->bl_opt |= verbose; + log_set(verbose); + log_debug("verbose mode on"); + } - // TAILQ_INIT(&offline_queue) + if (strlcpy(bl->bl_conf, config, PATH_MAX) >= PATH_MAX) + log_fatal("file name exceeds PATH_MAX"); - // parse_config + if (config_load(bl)) + log_fatal("%s", bl->bl_conf); + + 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 + + free(bl); exit(0); }