+ if (!AVAHI_IF_VALID(interface)) {
+ avahi_server_set_errno(server, AVAHI_ERR_INVALID_INTERFACE);
+ return NULL;
+ }
+
+ if (domain && !avahi_is_valid_domain_name(domain)) {
+ avahi_server_set_errno(server, AVAHI_ERR_INVALID_DOMAIN_NAME);
+ return NULL;
+ }
+
+ if (!domain)
+ domain = server->domain_name;
+
+ if (!AVAHI_FLAGS_VALID(flags, AVAHI_LOOKUP_USE_WIDE_AREA|AVAHI_LOOKUP_USE_MULTICAST)) {
+ avahi_server_set_errno(server, AVAHI_ERR_INVALID_FLAGS);
+ return NULL;
+ }
+
+ if (!(b = avahi_new(AvahiSDomainBrowser, 1))) {
+ avahi_server_set_errno(server, AVAHI_ERR_NO_MEMORY);
+ return NULL;
+ }
+