+ } else
+ set_timeout(a, NULL);
+}
+
+static void new_announcement(AvahiServer *s, AvahiInterface *i, AvahiEntry *e) {
+ AvahiAnnouncement *a;
+/* char *t; */
+
+ assert(s);
+ assert(i);
+ assert(e);
+ assert(!e->dead);
+
+/* avahi_log_debug("NEW ANNOUNCEMENT: %s.%i [%s]", i->hardware->name, i->protocol, t = avahi_record_to_string(e->record)); */
+/* avahi_free(t); */
+
+ if (!avahi_interface_match(i, e->interface, e->protocol) || !i->announcing || !avahi_entry_is_commited(e))
+ return;
+
+ /* We don't want duplicate announcements */
+ if (avahi_get_announcement(s, e, i))
+ return;
+
+ if ((!(a = avahi_new(AvahiAnnouncement, 1)))) {
+ avahi_log_error(__FILE__": Out of memory.");
+ return;