X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=examples%2Fcore-browse-services.c;h=a34281ec9ed8c154b004aab5ffbcd6b7228945cc;hb=b95ccf4806b9820f9e61a6a43ea3710817f3dfc4;hp=86b18a007aef8172b30899afa5b8181e62112dd0;hpb=bf7f48d6f58f28681b81915ddc4723950b947346;p=catta diff --git a/examples/core-browse-services.c b/examples/core-browse-services.c index 86b18a0..a34281e 100644 --- a/examples/core-browse-services.c +++ b/examples/core-browse-services.c @@ -50,8 +50,8 @@ static AvahiServer *server = NULL; static void resolve_callback( AvahiSServiceResolver *r, - AvahiIfIndex interface, - AvahiProtocol protocol, + AVAHI_GCC_UNUSED AvahiIfIndex interface, + AVAHI_GCC_UNUSED AvahiProtocol protocol, AvahiResolverEvent event, const char *name, const char *type, @@ -61,23 +61,21 @@ static void resolve_callback( uint16_t port, AvahiStringList *txt, AvahiLookupResultFlags flags, - void* userdata) { + AVAHI_GCC_UNUSED void* userdata) { assert(r); /* 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, "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_server_errno(server))); + break; case AVAHI_RESOLVER_FOUND: { - char a[128], *t; + char a[AVAHI_ADDRESS_STR_MAX], *t; - fprintf(stderr, "Service '%s' of type '%s' in domain '%s':\n", name, type, domain); + fprintf(stderr, "(Resolver) Service '%s' of type '%s' in domain '%s':\n", name, type, domain); avahi_address_snprint(a, sizeof(a), address); t = avahi_string_list_to_string(txt); @@ -92,10 +90,10 @@ static void resolve_callback( host_name, port, a, t, avahi_string_list_get_service_cookie(txt), - avahi_server_is_service_local(server, 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_LOCAL), + !!(flags & AVAHI_LOOKUP_RESULT_WIDE_AREA), + !!(flags & AVAHI_LOOKUP_RESULT_MULTICAST), + !!(flags & AVAHI_LOOKUP_RESULT_CACHED)); avahi_free(t); } } @@ -111,7 +109,7 @@ static void browse_callback( const char *name, const char *type, const char *domain, - AvahiLookupResultFlags flags, + AVAHI_GCC_UNUSED AvahiLookupResultFlags flags, void* userdata) { AvahiServer *s = userdata; @@ -122,9 +120,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_server_errno(server))); avahi_simple_poll_quit(simple_poll); return; @@ -152,9 +149,9 @@ static void browse_callback( } } -int main(int argc, char*argv[]) { +int main(AVAHI_GCC_UNUSED int argc, AVAHI_GCC_UNUSED char*argv[]) { AvahiServerConfig config; - AvahiSServiceBrowser *sb; + AvahiSServiceBrowser *sb = NULL; int error; int ret = 1; @@ -198,9 +195,7 @@ int main(int argc, char*argv[]) { } /* Run the main loop */ - for (;;) - if (avahi_simple_poll_iterate(simple_poll, -1) != 0) - break; + avahi_simple_poll_loop(simple_poll); ret = 0;