X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=examples%2Fbrowse-services.c;h=c58d230299464c7b8f2d6d8073218f7af30c9702;hb=0632e854728e8e64552ae08f90852d4a2658539e;hp=bb8eed82f761b52cd7f0555c5c08d588b7d9e250;hpb=d76069e946b4e89c828c96340677e40f583080c9;p=catta diff --git a/examples/browse-services.c b/examples/browse-services.c index bb8eed8..c58d230 100644 --- a/examples/browse-services.c +++ b/examples/browse-services.c @@ -77,6 +77,8 @@ int main(int argc, char*argv[]) { AvahiServerConfig config; AvahiServer *server = NULL; AvahiServiceBrowser *sb; + gint error; + int ret = 1; /* Do not publish any local records */ avahi_server_config_init(&config); @@ -86,11 +88,17 @@ int main(int argc, char*argv[]) { config.publish_domain = FALSE; /* Allocate a new server */ - server = avahi_server_new(NULL, &config, NULL, NULL); + server = avahi_server_new(NULL, &config, NULL, NULL, &error); /* Free the configuration data */ avahi_server_config_free(&config); + /* Check wether creating the server object succeeded */ + if (!server) { + g_message("Failed to create server: %s", avahi_strerror(error)); + goto fail; + } + /* Create the service browser */ sb = avahi_service_browser_new(server, AVAHI_IF_UNSPEC, AVAHI_PROTO_UNSPEC, "_http._tcp", NULL, browse_callback, server); @@ -98,6 +106,10 @@ int main(int argc, char*argv[]) { main_loop = g_main_loop_new(NULL, FALSE); g_main_loop_run(main_loop); + ret = 0; + +fail: + /* Cleanup things */ if (sb) avahi_service_browser_free(sb); @@ -108,5 +120,5 @@ int main(int argc, char*argv[]) { if (main_loop) g_main_loop_unref(main_loop); - return 0; + return ret; }