X-Git-Url: http://git.openwrt.org/?p=project%2Fmdnsd.git;a=blobdiff_plain;f=util.c;h=f5cfdb864cc08857bf90a61d36ea7c3d4109599c;hp=05f02b2061181e03c167aa3737b8fbd8d797c091;hb=0e8b948ff8dd1cb1763180c99b522390529c7841;hpb=444987db98c88dfef6b3965051bf2aba6114aaa2 diff --git a/util.c b/util.c index 05f02b2..f5cfdb8 100644 --- a/util.c +++ b/util.c @@ -16,8 +16,6 @@ #include #include #include -#include -#include #include #include @@ -29,6 +27,7 @@ #include #include +#include #include "dns.h" #include "util.h" @@ -36,23 +35,9 @@ uint8_t mdns_buf[MDNS_BUF_LEN]; int debug = 0; -char mdns_hostname[HOSTNAME_LEN]; +char umdns_host_label[HOSTNAME_LEN]; char mdns_hostname_local[HOSTNAME_LEN + 6]; -static void -signal_shutdown(int signal) -{ - uloop_end(); -} - -void -signal_setup(void) -{ - signal(SIGPIPE, SIG_IGN); - signal(SIGTERM, signal_shutdown); - signal(SIGKILL, signal_shutdown); -} - uint32_t rand_time_delta(uint32_t t) { @@ -80,23 +65,19 @@ void get_hostname(void) { struct utsname utsname; - mdns_hostname[0] = 0; + umdns_host_label[0] = 0; mdns_hostname_local[0] = 0; if (uname(&utsname) < 0) return; - snprintf(mdns_hostname, sizeof(mdns_hostname), "%s", utsname.nodename); + snprintf(umdns_host_label, sizeof(umdns_host_label), "%s", utsname.nodename); snprintf(mdns_hostname_local, sizeof(mdns_hostname_local), "%s.local", utsname.nodename); } -void* -memdup(const void *d, int l) +time_t monotonic_time(void) { - void *r = malloc(l); - if (!r) - return NULL; - memcpy(r, d, l); - return r; + struct timespec ts; + clock_gettime(CLOCK_MONOTONIC, &ts); + return ts.tv_sec; } -