]> git.meshlink.io Git - catta/blobdiff - avahi-core/browse.c
work around KDE misbehaviour. (Patch from Martin Putt; Closes #135)
[catta] / avahi-core / browse.c
index cb2d326defae10aada5dcb8cb520d0caf14efd58..16d89548442ac1c3ed8f813f04170314718103c5 100644 (file)
@@ -36,6 +36,7 @@
 #include "log.h"
 #include "querier.h"
 #include "domain-util.h"
+#include "rr-util.h"
 
 #define AVAHI_LOOKUPS_PER_BROWSER_MAX 15
 
@@ -194,7 +195,6 @@ static void browser_cancel(AvahiSRecordBrowser *b) {
     }
 }
 
-
 static void lookup_wide_area_callback(
     AvahiWideAreaLookupEngine *e,
     AvahiBrowserEvent event,
@@ -207,6 +207,7 @@ static void lookup_wide_area_callback(
 
     assert(e);
     assert(l);
+    assert(l->ref >= 1);
 
     b = l->record_browser;
 
@@ -421,6 +422,7 @@ static void lookup_handle_cname(AvahiSRBLookup *l, AvahiIfIndex interface, Avahi
     l->cname_lookups = avahi_rlist_prepend(l->cname_lookups, lookup_ref(n));
 
     lookup_go(n);
+    lookup_unref(n);
 }
 
 static void lookup_drop_cname(AvahiSRBLookup *l, AvahiIfIndex interface, AvahiProtocol protocol, AvahiLookupFlags flags, AvahiRecord *r) {
@@ -453,7 +455,7 @@ static void lookup_drop_cname(AvahiSRBLookup *l, AvahiIfIndex interface, AvahiPr
     }
 }
 
-static void defer_callback(AvahiTimeEvent *e, void *userdata) {
+static void defer_callback(AVAHI_GCC_UNUSED AvahiTimeEvent *e, void *userdata) {
     AvahiSRecordBrowser *b = userdata;
     int n;