]> git.meshlink.io Git - catta/commitdiff
* Fix error handling in avahi-client so that it actually reports the
authorTrent Lloyd <lathiat@bur.st>
Mon, 19 Sep 2005 04:01:15 +0000 (04:01 +0000)
committerTrent Lloyd <lathiat@bur.st>
Mon, 19 Sep 2005 04:01:15 +0000 (04:01 +0000)
   error from avahi_client_new, before the ret_error was left untouched.
 * In the case of a NO_DAEMON error, free the dbus error so that the
   NO_DAEMON error takes precidence.

git-svn-id: file:///home/lennart/svn/public/avahi/trunk@601 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe

avahi-client/client.c

index 93d768a85bef970558ccc8959fa57a1110f1991a..cbc3004f645f44b3c60706c2b4bab455d50cf29c 100644 (file)
@@ -233,6 +233,7 @@ static int get_server_state(AvahiClient *client, int *ret_error) {
 
     client_set_state(client, (AvahiServerState) state);
 
+    *ret_error = AVAHI_OK;
     return AVAHI_OK;
 
 fail:
@@ -363,6 +364,10 @@ AvahiClient *avahi_client_new(const AvahiPoll *poll_api, AvahiClientCallback cal
     if (!(dbus_bus_name_has_owner(client->bus, AVAHI_DBUS_NAME, &error)) ||
         dbus_error_is_set(&error)) {
 
+        /* We free the error so its not set, that way the fail target
+         * will return the NO_DAEMON error rather than a DBUS error */
+        dbus_error_free (&error);
+
         if (ret_error)
             *ret_error = AVAHI_ERR_NO_DAEMON;