]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Displaced bird_name to log.c where it rightfully belongs
authorMaria Matejka <mq@ucw.cz>
Mon, 26 Aug 2024 15:54:59 +0000 (17:54 +0200)
committerMaria Matejka <mq@ucw.cz>
Sun, 23 Feb 2025 09:14:41 +0000 (10:14 +0100)
lib/birdlib.h
sysdep/unix/log.c
sysdep/unix/main.c
sysdep/unix/unix.h
test/birdtest.c

index bc7c334cb36bfc68c8ff5f433fa0a934dd625cb1..eac0fc4d8c331ad15916b81bd98e7ff3aab994d4 100644 (file)
@@ -216,6 +216,9 @@ void die(const char *msg, ...) NORET;
 void bug(const char *msg, ...) NORET;
 void vlog(int class, const char *msg, va_list args);
 
+void set_daemon_name(char *path, char *def);
+
+
 #define L_DEBUG "\001"                 /* Debugging messages */
 #define L_TRACE "\002"                 /* Protocol tracing */
 #define L_INFO "\003"                  /* Informational messages */
index 384da303d79626af24213733c8ca84c86f0ff9bf..5dbc0e2d50164562dbe4122dcbe0809feeb7cc37 100644 (file)
@@ -36,6 +36,7 @@ static pool *log_pool;
 
 static struct rfile *dbg_rf;
 static char *current_syslog_name = NULL; /* NULL -> syslog closed */
+const char *bird_name = NULL;
 
 _Atomic uint max_thread_id = 1;
 _Thread_local uint this_thread_id;
@@ -837,6 +838,7 @@ resolve_fail:
 void
 log_init_debug(char *f)
 {
+  ASSERT_DIE(bird_name);
   clock_gettime(CLOCK_MONOTONIC, &dbg_time_start);
 
   if (dbg_rf && dbg_rf != &rf_stderr)
@@ -853,3 +855,26 @@ log_init_debug(char *f)
     exit(1);
   }
 }
+
+/*
+ *     Setting BIRD name
+ */
+
+static inline char *
+get_bird_name(char *s, char *def)
+{
+  char *t;
+  if (!s)
+    return def;
+  t = strrchr(s, '/');
+  if (!t)
+    return s;
+  if (!t[1])
+    return def;
+  return t+1;
+}
+
+void set_daemon_name(char *path, char *def)
+{
+  bird_name = get_bird_name(path, def);
+}
index 2e5987f97f0f5c6f5b8220768830b1edc2e39ea6..4c38cf0f2f71eeca0eef26ea943df212934d9805 100644 (file)
@@ -836,7 +836,6 @@ signal_init(void)
 
 static char *opt_list = "bc:dD:ps:P:u:g:flRh";
 int parse_and_exit;
-char *bird_name;
 static char *use_user;
 static char *use_group;
 static int run_in_foreground = 0;
@@ -881,20 +880,6 @@ display_version(void)
   exit(0);
 }
 
-static inline char *
-get_bird_name(char *s, char *def)
-{
-  char *t;
-  if (!s)
-    return def;
-  t = strrchr(s, '/');
-  if (!t)
-    return s;
-  if (!t[1])
-    return def;
-  return t+1;
-}
-
 static inline uid_t
 get_uid(const char *s)
 {
@@ -948,7 +933,8 @@ parse_args(int argc, char **argv)
   int socket_changed = 0;
   int c;
 
-  bird_name = get_bird_name(argv[0], "bird");
+  set_daemon_name(argv[0], "bird");
+
   if (argc == 2)
     {
       if (!strcmp(argv[1], "--version"))
index c4130edf63e8acbcc0c9ef253697b0ce3a6057e4..4132c6333adbcb698eeb0738d7d884bf9f756d81 100644 (file)
@@ -25,7 +25,7 @@ struct config;
 
 /* main.c */
 
-extern char *bird_name;
+extern const char *bird_name;
 extern int parse_and_exit;
 void async_config(void);
 void async_dump(void);
index 76bae76d54e9227faf582d99ea8426f309e8cc77..a8b87fc204793c0fb05a218201f70db45e8a7c01 100644 (file)
@@ -76,6 +76,8 @@ bt_init(int argc, char *argv[])
   bt_test_id = NULL;
   is_terminal = isatty(fileno(stdout));
 
+  set_daemon_name(argv[0], "birdtest");
+
   while ((c = getopt(argc, argv, "lcdftv")) >= 0)
     switch (c)
     {
@@ -539,7 +541,6 @@ bt_is_char(byte c)
  */
 
 int parse_and_exit;
-char *bird_name;
 void async_config(void) {}
 void async_dump(void) {}
 void async_shutdown(void) {}