+ if (aprotocol == AVAHI_PROTO_INET || aprotocol == AVAHI_PROTO_UNSPEC) {
+ k = avahi_key_new(host_name, AVAHI_DNS_CLASS_IN, AVAHI_DNS_TYPE_A);
+ r->record_browser_a = avahi_s_record_browser_new(server, interface, protocol, k, record_browser_callback, r);
+ avahi_key_unref(k);
+
+ if (!r->record_browser_a)
+ goto fail;
+ }
+
+ if (aprotocol == AVAHI_PROTO_INET6 || aprotocol == AVAHI_PROTO_UNSPEC) {
+ k = avahi_key_new(host_name, AVAHI_DNS_CLASS_IN, AVAHI_DNS_TYPE_AAAA);
+ r->record_browser_aaaa = avahi_s_record_browser_new(server, interface, protocol, k, record_browser_callback, r);
+ avahi_key_unref(k);
+
+ if (!r->record_browser_aaaa)
+ goto fail;
+ }
+
+ assert(r->record_browser_aaaa || r->record_browser_a);
+