diff options
| -rw-r--r-- | compat-bonjour/compat.c | 26 | ||||
| -rw-r--r-- | compat-bonjour/funcs.txt | 2 | ||||
| -rw-r--r-- | compat-bonjour/unsupported.c | 11 | 
3 files changed, 26 insertions, 13 deletions
| diff --git a/compat-bonjour/compat.c b/compat-bonjour/compat.c index 6f129d0..0938842 100644 --- a/compat-bonjour/compat.c +++ b/compat-bonjour/compat.c @@ -35,6 +35,7 @@  #include <avahi-common/simple-watch.h>  #include <avahi-common/malloc.h>  #include <avahi-common/error.h> +#include <avahi-common/domain.h>  #include <avahi-client/client.h>  #include "warn.h" @@ -460,13 +461,18 @@ static void service_resolver_callback(      switch (event) {          case AVAHI_RESOLVER_FOUND: { +            char full_name[kDNSServiceMaxDomainName]; +            int ret;              char *p = NULL;              size_t l = 0;              if ((p = avahi_new0(char, (l = avahi_string_list_serialize(txt, NULL, 0))+1)))                  avahi_string_list_serialize(txt, p, l); + +            ret = avahi_service_name_snprint(full_name, sizeof(full_name), name, type, domain); +            assert(ret == AVAHI_OK); -            sdref->service_resolver_callback(sdref, 0, interface, kDNSServiceErr_NoError, "blaa", host_name, htons(port), l, p, sdref->context); +            sdref->service_resolver_callback(sdref, 0, interface, kDNSServiceErr_NoError, full_name, host_name, htons(port), l, p, sdref->context);              avahi_free(p);              break; @@ -543,3 +549,21 @@ finish:      return ret;  } +int DNSSD_API DNSServiceConstructFullName ( +    char *fullName, +    const char *service,    +    const char *regtype, +    const char *domain) { + +    AVAHI_WARN_LINKAGE; + +    assert(fullName); +    assert(regtype); +    assert(domain); + +    if (avahi_service_name_snprint(fullName, kDNSServiceMaxDomainName, service, regtype, domain) < 0) +        return -1; +     +    return 0; +} + diff --git a/compat-bonjour/funcs.txt b/compat-bonjour/funcs.txt index 2226aeb..85aa9e6 100644 --- a/compat-bonjour/funcs.txt +++ b/compat-bonjour/funcs.txt @@ -9,7 +9,7 @@ DNSServiceEnumerateDomains  DNSServiceRegister  x DNSServiceBrowse  x DNSServiceResolve -DNSServiceConstructFullName +x DNSServiceConstructFullName  x TXTRecordCreate  x TXTRecordDeallocate diff --git a/compat-bonjour/unsupported.c b/compat-bonjour/unsupported.c index 972f3e5..2afbae2 100644 --- a/compat-bonjour/unsupported.c +++ b/compat-bonjour/unsupported.c @@ -57,17 +57,6 @@ DNSServiceErrorType DNSSD_API DNSServiceRegister (      return kDNSServiceErr_Unsupported;  } -int DNSSD_API DNSServiceConstructFullName ( -    char *fullName, -    const char *service,    -    const char *regtype, -    const char *domain) { - -    AVAHI_WARN_UNSUPPORTED; - -    return kDNSServiceErr_Unsupported; -} -  DNSServiceErrorType DNSSD_API DNSServiceRegisterRecord (      DNSServiceRef sdRef,      DNSRecordRef *RecordRef, | 
