summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2005-10-13 14:29:13 +0000
committerLennart Poettering <lennart@poettering.net>2005-10-13 14:29:13 +0000
commit37053daacb2152b4e8de6ab60705e7254df31df7 (patch)
treea4c34ce624380911b10e7399946bb330ec3f497b
parent0433169ea9c6906f31b1a78e9a118858dd776dad (diff)
* handle AVAHI_LOOKUP_NO_ADDRESS over DBUS correctly
git-svn-id: file:///home/lennart/svn/public/avahi/trunk@755 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
-rw-r--r--avahi-client/resolver.c3
-rw-r--r--avahi-daemon/dbus-protocol.c6
2 files changed, 7 insertions, 2 deletions
diff --git a/avahi-client/resolver.c b/avahi-client/resolver.c
index 889088f..c548f01 100644
--- a/avahi-client/resolver.c
+++ b/avahi-client/resolver.c
@@ -144,6 +144,9 @@ DBusHandlerResult avahi_service_resolver_event (AvahiClient *client, AvahiResolv
fprintf(stderr, "Failed to parse address\n");
goto fail;
}
+
+ if (address[0] == 0)
+ address = NULL;
r->callback(r, (AvahiIfIndex) interface, (AvahiProtocol) protocol, AVAHI_RESOLVER_FOUND, name, type, domain, host, &a, port, strlst, (AvahiLookupResultFlags) flags, r->userdata);
diff --git a/avahi-daemon/dbus-protocol.c b/avahi-daemon/dbus-protocol.c
index 25a9e8e..bec97cd 100644
--- a/avahi-daemon/dbus-protocol.c
+++ b/avahi-daemon/dbus-protocol.c
@@ -1558,8 +1558,10 @@ static void async_service_resolver_callback(
/* avahi_log_debug(__FILE__": [%s] Successfully resolved service <%s.%s.%s>", i->path, name, type, domain); */
- assert(a);
- avahi_address_snprint(t, sizeof(t), a);
+ if (a)
+ avahi_address_snprint(t, sizeof(t), a);
+ else
+ t[0] = 0;
if (!name)
name = "";