#include <config.h>
#endif
+#include <stdlib.h>
+
#include <avahi-common/timeval.h>
#include <avahi-common/malloc.h>
#include <avahi-common/error.h>
+#include <avahi-common/domain.h>
#include "browse.h"
assert(rr);
assert(r);
-
switch (event) {
case AVAHI_BROWSER_NEW:
assert(record);
AvahiSAddressResolver *r;
AvahiKey *k;
- char *n;
+ char n[AVAHI_DOMAIN_NAME_MAX];
assert(server);
assert(address);
return NULL;
}
- if (address->proto == AVAHI_PROTO_INET)
- n = avahi_reverse_lookup_name_ipv4(&address->data.ipv4);
- else
- n = avahi_reverse_lookup_name_ipv6_arpa(&address->data.ipv6);
-
- if (!n) {
- avahi_server_set_errno(server, AVAHI_ERR_NO_MEMORY);
- return NULL;
- }
-
- k = avahi_key_new(n, AVAHI_DNS_CLASS_IN, AVAHI_DNS_TYPE_PTR);
- avahi_free(n);
+ avahi_reverse_lookup_name(address, n, sizeof(n));
- if (!k) {
+ if (!(k = avahi_key_new(n, AVAHI_DNS_CLASS_IN, AVAHI_DNS_TYPE_PTR))) {
avahi_server_set_errno(server, AVAHI_ERR_NO_MEMORY);
return NULL;
}