X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=examples%2Fcore-publish-service.c;h=6370383488462bdee0f1d848ccaced33cde72e02;hb=c3ebaaeee7eae6f54b4bb9a349f248e6aaa98fba;hp=dc5170b773dc06984f42ba52d5fb6ed1ea108909;hpb=f17d2832301b0f2fcd50fdcc6fec77666178158f;p=catta diff --git a/examples/core-publish-service.c b/examples/core-publish-service.c index dc5170b..6370383 100644 --- a/examples/core-publish-service.c +++ b/examples/core-publish-service.c @@ -41,7 +41,7 @@ static char *name = NULL; static void create_services(AvahiServer *s); -static void entry_group_callback(AvahiServer *s, AvahiSEntryGroup *g, AvahiEntryGroupState state, void *userdata) { +static void entry_group_callback(AvahiServer *s, AvahiSEntryGroup *g, AvahiEntryGroupState state, AVAHI_GCC_UNUSED void *userdata) { assert(s); assert(g == group); @@ -72,6 +72,8 @@ static void entry_group_callback(AvahiServer *s, AvahiSEntryGroup *g, AvahiEntry case AVAHI_ENTRY_GROUP_FAILURE : + fprintf(stderr, "Entry group failure: %s\n", avahi_strerror(avahi_server_errno(s))); + /* Some kind of failure happened while we were registering our services */ avahi_simple_poll_quit(simple_poll); break; @@ -129,7 +131,7 @@ fail: avahi_simple_poll_quit(simple_poll); } -static void server_callback(AvahiServer *s, AvahiServerState state, void * userdata) { +static void server_callback(AvahiServer *s, AvahiServerState state, AVAHI_GCC_UNUSED void * userdata) { assert(s); /* Called whenever the server state changes */ @@ -140,7 +142,7 @@ static void server_callback(AvahiServer *s, AvahiServerState state, void * userd /* The serve has startup successfully and registered its host * name on the network, so it's time to create our services */ - if (group) + if (!group) create_services(s); break; @@ -162,14 +164,19 @@ static void server_callback(AvahiServer *s, AvahiServerState state, void * userd return; } - /* Let's drop our registered services. When the server is back + } + + /* Fall through */ + + case AVAHI_SERVER_REGISTERING: + + /* Let's drop our registered services. When the server is back * in AVAHI_SERVER_RUNNING state we will register them * again with the new host name. */ if (group) avahi_s_entry_group_reset(group); break; - } case AVAHI_SERVER_FAILURE: @@ -180,12 +187,11 @@ static void server_callback(AvahiServer *s, AvahiServerState state, void * userd break; case AVAHI_SERVER_INVALID: - case AVAHI_SERVER_REGISTERING: ; } } -int main(int argc, char*argv[]) { +int main(AVAHI_GCC_UNUSED int argc, AVAHI_GCC_UNUSED char*argv[]) { AvahiServerConfig config; AvahiServer *server = NULL; int error;