]> git.meshlink.io Git - catta/blobdiff - avahi-client/resolver.c
* Add custom user-specific configure flags to bootstrap.sh
[catta] / avahi-client / resolver.c
index 889088f3a2b772ecf771443d2ed0230f4054e131..14d6acadee4d1178f2b57394880ccf2b16811510 100644 (file)
@@ -140,12 +140,13 @@ DBusHandlerResult avahi_service_resolver_event (AvahiClient *client, AvahiResolv
             dbus_message_iter_get_basic(&iter, &flags);
                                     
             assert(address);
-            if (!avahi_address_parse(address, (AvahiProtocol) aprotocol, &a)) {
-                fprintf(stderr, "Failed to parse address\n");
-                goto fail;
-            }
+
+            if (address[0] == 0)
+                address = NULL;
+           else
+               avahi_address_parse(address, (AvahiProtocol) aprotocol, &a);
     
-            r->callback(r, (AvahiIfIndex) interface, (AvahiProtocol) protocol, AVAHI_RESOLVER_FOUND, name, type, domain, host, &a, port, strlst, (AvahiLookupResultFlags) flags, r->userdata);
+            r->callback(r, (AvahiIfIndex) interface, (AvahiProtocol) protocol, AVAHI_RESOLVER_FOUND, name, type, domain, host, address ? &a : NULL, port, strlst, (AvahiLookupResultFlags) flags, r->userdata);
         
             avahi_string_list_free(strlst);
             break;
@@ -617,7 +618,7 @@ AvahiAddressResolver * avahi_address_resolver_new_a(
     AvahiAddressResolverCallback callback,
     void *userdata) {
 
-    char addr[64];
+    char addr[AVAHI_ADDRESS_STR_MAX];
 
     assert (a);