]> git.meshlink.io Git - catta/blobdiff - avahi-core/browse.c
2008-06-24 Dimitris Glezos <dimitris@glezos.com> (via glezos@fedoraproject.org)
[catta] / avahi-core / browse.c
index 5fd3a011b55f2f218ccdb3e7d11fe1dcbac1a4e5..16d89548442ac1c3ed8f813f04170314718103c5 100644 (file)
@@ -35,6 +35,8 @@
 #include "browse.h"
 #include "log.h"
 #include "querier.h"
+#include "domain-util.h"
+#include "rr-util.h"
 
 #define AVAHI_LOOKUPS_PER_BROWSER_MAX 15
 
@@ -193,7 +195,6 @@ static void browser_cancel(AvahiSRecordBrowser *b) {
     }
 }
 
-
 static void lookup_wide_area_callback(
     AvahiWideAreaLookupEngine *e,
     AvahiBrowserEvent event,
@@ -206,6 +207,7 @@ static void lookup_wide_area_callback(
 
     assert(e);
     assert(l);
+    assert(l->ref >= 1);
 
     b = l->record_browser;
 
@@ -278,7 +280,6 @@ static void lookup_multicast_callback(
                 lookup_handle_cname(l, interface, protocol, b->flags, r);
             else {
                 /* It's a normal record, so let's call the user callback */
-                assert(avahi_key_equal(b->key, l->key));
 
                 if (avahi_server_is_record_local(b->server, interface, protocol, r))
                     flags |= AVAHI_LOOKUP_RESULT_LOCAL;
@@ -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;