X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=avahi-core%2Fquerier.c;h=41acc24bf007c157d23316ceba9697346efd6f7a;hb=461b5328c99ef6af64f8d1313f63af8228ef720d;hp=51b2ce663233c8942d53e1d6c1d75c644aad5779;hpb=1ffedb586bd2fb6daa3970304fac7c5b415cd38f;p=catta diff --git a/avahi-core/querier.c b/avahi-core/querier.c index 51b2ce6..41acc24 100644 --- a/avahi-core/querier.c +++ b/avahi-core/querier.c @@ -58,7 +58,7 @@ void avahi_querier_free(AvahiQuerier *q) { avahi_free(q); } -static void querier_elapse_callback(AvahiTimeEvent *e, void *userdata) { +static void querier_elapse_callback(AVAHI_GCC_UNUSED AvahiTimeEvent *e, void *userdata) { AvahiQuerier *q = userdata; struct timeval tv; @@ -81,7 +81,7 @@ void avahi_querier_add(AvahiInterface *i, AvahiKey *key, struct timeval *ret_cti assert(i); assert(key); - + if ((q = avahi_hashmap_lookup(i->queriers_by_key, key))) { /* Someone is already browsing for records of this RR key */ q->n_used++; @@ -126,6 +126,7 @@ void avahi_querier_remove(AvahiInterface *i, AvahiKey *key) { } assert(q->n_used >= 1); + if ((--q->n_used) <= 0) avahi_querier_free(q); }