X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=avahi-daemon%2Fstatic-services.c;h=e402a9853de94b07c70118e340b5d25554718282;hb=298a8cdb7b369d80a1d8bad2bd315d2a38c5a38f;hp=c0fbea5e61342ccba0f6432e85d9f91fb902c848;hpb=fb50ec96bf059d9d1edf6fa6993fbcec51c3544b;p=catta diff --git a/avahi-daemon/static-services.c b/avahi-daemon/static-services.c index c0fbea5..e402a98 100644 --- a/avahi-daemon/static-services.c +++ b/avahi-daemon/static-services.c @@ -35,6 +35,8 @@ #include #include +#include +#include #include #include "main.h" @@ -199,14 +201,15 @@ static void add_static_service_group_to_server(StaticServiceGroup *g) { /* This service group is already registered in the server */ return; - if (g->chosen_name) - avahi_free(g->chosen_name); - - if (g->replace_wildcards) - g->chosen_name = replacestr(g->name, "%h", avahi_server_get_host_name(avahi_server)); - else - g->chosen_name = avahi_strdup(g->name); + if (!g->chosen_name) { + + if (g->replace_wildcards) + g->chosen_name = replacestr(g->name, "%h", avahi_server_get_host_name(avahi_server)); + else + g->chosen_name = avahi_strdup(g->name); + } + if (!g->entry_group) g->entry_group = avahi_s_entry_group_new(avahi_server, entry_group_callback, g);