summaryrefslogtreecommitdiffstats
path: root/avahi-client/browser.c
diff options
context:
space:
mode:
Diffstat (limited to 'avahi-client/browser.c')
-rw-r--r--avahi-client/browser.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/avahi-client/browser.c b/avahi-client/browser.c
index bf9c15f..c9af43f 100644
--- a/avahi-client/browser.c
+++ b/avahi-client/browser.c
@@ -125,7 +125,7 @@ AvahiDomainBrowser* avahi_domain_browser_new(
dbus_error_init (&error);
- if (client->state == AVAHI_CLIENT_FAILURE) {
+ if (!avahi_client_is_connected(client)) {
avahi_client_set_errno(client, AVAHI_ERR_BAD_STATE);
goto fail;
}
@@ -150,8 +150,10 @@ AvahiDomainBrowser* avahi_domain_browser_new(
AVAHI_LLIST_PREPEND(AvahiDomainBrowser, domain_browsers, client->domain_browsers, db);
- parse_environment(db);
- parse_domain_file(db);
+ if (!(client->flags & AVAHI_CLIENT_IGNORE_USER_CONFIG)) {
+ parse_environment(db);
+ parse_domain_file(db);
+ }
db->static_browse_domains = avahi_string_list_reverse(db->static_browse_domains);
@@ -248,7 +250,7 @@ int avahi_domain_browser_free (AvahiDomainBrowser *b) {
client = b->client;
- if (b->path && client->state != AVAHI_CLIENT_FAILURE)
+ if (b->path && avahi_client_is_connected(b->client))
r = avahi_client_simple_method_call(client, b->path, AVAHI_DBUS_INTERFACE_DOMAIN_BROWSER, "Free");
AVAHI_LLIST_REMOVE(AvahiDomainBrowser, domain_browsers, client->domain_browsers, b);
@@ -367,7 +369,7 @@ AvahiServiceTypeBrowser* avahi_service_type_browser_new(
dbus_error_init(&error);
- if (client->state == AVAHI_CLIENT_FAILURE) {
+ if (!avahi_client_is_connected(client)) {
avahi_client_set_errno(client, AVAHI_ERR_BAD_STATE);
goto fail;
}
@@ -473,7 +475,7 @@ int avahi_service_type_browser_free (AvahiServiceTypeBrowser *b) {
assert(b);
client = b->client;
- if (b->path && client->state != AVAHI_CLIENT_FAILURE)
+ if (b->path && avahi_client_is_connected(b->client))
r = avahi_client_simple_method_call(client, b->path, AVAHI_DBUS_INTERFACE_SERVICE_TYPE_BROWSER, "Free");
AVAHI_LLIST_REMOVE(AvahiServiceTypeBrowser, service_type_browsers, b->client->service_type_browsers, b);
@@ -583,7 +585,7 @@ AvahiServiceBrowser* avahi_service_browser_new(
dbus_error_init(&error);
- if (client->state == AVAHI_CLIENT_FAILURE) {
+ if (!avahi_client_is_connected(client)) {
avahi_client_set_errno(client, AVAHI_ERR_BAD_STATE);
goto fail;
}
@@ -694,7 +696,7 @@ int avahi_service_browser_free (AvahiServiceBrowser *b) {
assert(b);
client = b->client;
- if (b->path && client->state != AVAHI_CLIENT_FAILURE)
+ if (b->path && avahi_client_is_connected(b->client))
r = avahi_client_simple_method_call(client, b->path, AVAHI_DBUS_INTERFACE_SERVICE_BROWSER, "Free");
AVAHI_LLIST_REMOVE(AvahiServiceBrowser, service_browsers, b->client->service_browsers, b);