use lookup array for dns_type_string()
[project/mdnsd.git] / util.c
diff --git a/util.c b/util.c
index 87db94c..e68e9c9 100644 (file)
--- a/util.c
+++ b/util.c
 uint8_t mdns_buf[MDNS_BUF_LEN];
 int debug = 0;
 
-static void
-signal_shutdown(int signal)
-{
-       uloop_end();
-}
-
-void
-signal_setup(void)
-{
-       signal(SIGPIPE, SIG_IGN);
-       signal(SIGTERM, signal_shutdown);
-       signal(SIGKILL, signal_shutdown);
-}
+char mdns_hostname[HOSTNAME_LEN];
+char mdns_hostname_local[HOSTNAME_LEN + 6];
 
 uint32_t
 rand_time_delta(uint32_t t)
@@ -73,15 +62,18 @@ rand_time_delta(uint32_t t)
        return val;
 }
 
-char*
-get_hostname(void)
+void get_hostname(void)
 {
-       static struct utsname utsname;
+       struct utsname utsname;
+
+       mdns_hostname[0] = 0;
+       mdns_hostname_local[0] = 0;
 
        if (uname(&utsname) < 0)
-               return NULL;
+               return;
 
-       return utsname.nodename;
+       snprintf(mdns_hostname, sizeof(mdns_hostname), "%s", utsname.nodename);
+       snprintf(mdns_hostname_local, sizeof(mdns_hostname_local), "%s.local", utsname.nodename);
 }
 
 void*