X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=examples%2Fcore-browse-services.c;h=53b18eeebb7936191e6561c7ebb6b6a611b6a9ad;hb=1f42fa6815e3de2ca7cd136c7709584c977b3640;hp=50f82bc9ee2ba41df2aad385acff93b7928a123d;hpb=8185ec8431c51946095d3f11e80545e3519f67cf;p=catta diff --git a/examples/core-browse-services.c b/examples/core-browse-services.c index 50f82bc..53b18ee 100644 --- a/examples/core-browse-services.c +++ b/examples/core-browse-services.c @@ -5,7 +5,7 @@ * the embeddable mDNS stack for embedded applications. * * End user applications should *not* use this API and should use - * the DBUS or C APIs, please see + * the D-Bus or C APIs, please see * client-browse-services.c and glib-integration.c * * I repeat, you probably do *not* want to use this example. @@ -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,7 +90,7 @@ 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_RESULT_LOCAL), !!(flags & AVAHI_LOOKUP_RESULT_WIDE_AREA), !!(flags & AVAHI_LOOKUP_RESULT_MULTICAST), !!(flags & AVAHI_LOOKUP_RESULT_CACHED)); @@ -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;