]> git.meshlink.io Git - catta/blobdiff - avahi-core/iface.c
DBUS: implement ServiceBrowser
[catta] / avahi-core / iface.c
index fb491c9b534568e648e6ef7caaa05da96be5b043..070ef6a33620366f585349b36e5cd2798e0d213a 100644 (file)
@@ -102,7 +102,7 @@ static void update_hw_interface_rr(AvahiInterfaceMonitor *m, AvahiHwInterface *h
             g_free(t);
             
             hw->entry_group = avahi_entry_group_new(m->server, avahi_host_rr_entry_group_callback, NULL);
-            if (avahi_server_add_service(m->server, hw->entry_group, hw->index, AVAHI_PROTO_UNSPEC, "_workstation._tcp", name, NULL, NULL, 9, NULL) < 0) { 
+            if (avahi_server_add_service(m->server, hw->entry_group, hw->index, AVAHI_PROTO_UNSPEC, name, "_workstation._tcp", NULL, NULL, 9, NULL) < 0) { 
                 avahi_log_warn(__FILE__": avahi_server_add_service() failed.");
                 avahi_entry_group_free(hw->entry_group);
                 hw->entry_group = NULL;
@@ -429,7 +429,6 @@ static void callback(AvahiNetlink *nl, struct nlmsghdr *n, gpointer userdata) {
             addr->prefix_len = ifaddrmsg->ifa_prefixlen;
 
             update_address_rr(m, addr, FALSE);
-            check_interface_relevant(m, i);
         } else {
             AvahiInterfaceAddress *addr;
             
@@ -438,10 +437,10 @@ static void callback(AvahiNetlink *nl, struct nlmsghdr *n, gpointer userdata) {
 
             update_address_rr(m, addr, TRUE);
             free_address(m, addr);
-
-            check_interface_relevant(m, i);
         }
-                
+
+        check_interface_relevant(m, i);
+        
     } else if (n->nlmsg_type == NLMSG_DONE) {
         
         if (m->list == LIST_IFACE) {