]> git.meshlink.io Git - catta/blobdiff - examples/client-browse-services.c
Complete AVAHI_LOOKUP_NO_ADDRESS fix
[catta] / examples / client-browse-services.c
index d03fa31a76dd152f502cd7a2cd467421ed0a5900..7a6940b2cdbe6c40dfa0d4488f8e582cab8c734b 100644 (file)
@@ -55,12 +55,9 @@ static void resolve_callback(
     /* Called whenever a service has been resolved successfully or timed out */
 
     switch (event) {
-        case AVAHI_RESOLVER_TIMEOUT:
-        case AVAHI_RESOLVER_NOT_FOUND:
         case AVAHI_RESOLVER_FAILURE:
-            fprintf(stderr, "(Resolver) Failed to resolve service '%s' of type '%s' in domain '%s': %s\n", name, type, domain,
-                    event == AVAHI_RESOLVER_TIMEOUT ? "TIMEOUT" : (event == AVAHI_RESOLVER_NOT_FOUND ? "NOT_FOUND" : "FAILURE"));
-
+            fprintf(stderr, "(Resolver) Failed to resolve service '%s' of type '%s' in domain '%s': %s\n", name, type, domain, avahi_strerror(avahi_client_errno(avahi_service_resolver_get_client(r))));
+            break;
 
         case AVAHI_RESOLVER_FOUND: {
             char a[128], *t;
@@ -81,9 +78,9 @@ static void resolve_callback(
                     t,
                     avahi_string_list_get_service_cookie(txt),
                     avahi_client_is_service_local(avahi_service_resolver_get_client(r), interface, protocol, name, type, domain),
-                    !!(flags & AVAHI_LOOKUP_CALLBACK_WIDE_AREA),
-                    !!(flags & AVAHI_LOOKUP_CALLBACK_MULTICAST),
-                    !!(flags & AVAHI_LOOKUP_CALLBACK_CACHED));
+                    !!(flags & AVAHI_LOOKUP_RESULT_WIDE_AREA),
+                    !!(flags & AVAHI_LOOKUP_RESULT_MULTICAST),
+                    !!(flags & AVAHI_LOOKUP_RESULT_CACHED));
                 
             avahi_free(t);
         }
@@ -110,9 +107,8 @@ static void browse_callback(
 
     switch (event) {
         case AVAHI_BROWSER_FAILURE:
-        case AVAHI_BROWSER_NOT_FOUND:
             
-            fprintf(stderr, "(Browser) %s\n", event == AVAHI_BROWSER_FAILURE ? "FAILURE" : "NOT_FOUND");
+            fprintf(stderr, "(Browser) %s\n", avahi_strerror(avahi_client_errno(avahi_service_browser_get_client(b))));
             avahi_simple_poll_quit(simple_poll);
             return;