X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=avahi-core%2Fresolve-address.c;h=07cbef4f403bd89dd536722ae3de2e09c87ac5eb;hb=219241ab5223b705ade51485ea9227b0a6089c0d;hp=a4870aa0d3b8856400b1591c44e59373c553de7e;hpb=22a61b042376903deada022e7585e0585aaa7d43;p=catta diff --git a/avahi-core/resolve-address.c b/avahi-core/resolve-address.c index a4870aa..07cbef4 100644 --- a/avahi-core/resolve-address.c +++ b/avahi-core/resolve-address.c @@ -23,7 +23,7 @@ #include #endif -#include "resolve.h" +#include "browse.h" #include "util.h" struct AvahiAddressResolver { @@ -46,8 +46,10 @@ static void finish(AvahiAddressResolver *r, gint interface, guchar protocol, Ava avahi_record_browser_free(r->record_browser); r->record_browser = NULL; - avahi_time_event_queue_remove(r->server->time_event_queue, r->time_event); - r->time_event = NULL; + if (r->time_event) { + avahi_time_event_queue_remove(r->server->time_event_queue, r->time_event); + r->time_event = NULL; + } r->callback(r, interface, protocol, event, &r->address, record ? record->data.ptr.name : NULL, r->userdata); } @@ -94,6 +96,11 @@ AvahiAddressResolver *avahi_address_resolver_new(AvahiServer *server, gint inter r->callback = callback; r->userdata = userdata; + avahi_elapse_time(&tv, 1000, 0); + r->time_event = avahi_time_event_queue_add(server->time_event_queue, &tv, time_event_callback, r); + + AVAHI_LLIST_PREPEND(AvahiAddressResolver, resolver, server->address_resolvers, r); + if (address->family == AF_INET) n = avahi_reverse_lookup_name_ipv4(&address->data.ipv4); else @@ -104,11 +111,6 @@ AvahiAddressResolver *avahi_address_resolver_new(AvahiServer *server, gint inter r->record_browser = avahi_record_browser_new(server, interface, protocol, k, record_browser_callback, r); avahi_key_unref(k); - - avahi_elapse_time(&tv, 1000, 0); - r->time_event = avahi_time_event_queue_add(server->time_event_queue, &tv, time_event_callback, r); - - AVAHI_LLIST_PREPEND(AvahiAddressResolver, resolver, server->address_resolvers, r); return r; }