diff options
| -rw-r--r-- | avahi-daemon/static-services.c | 13 | 
1 files changed, 10 insertions, 3 deletions
| diff --git a/avahi-daemon/static-services.c b/avahi-daemon/static-services.c index 588ff8a..4c3491f 100644 --- a/avahi-daemon/static-services.c +++ b/avahi-daemon/static-services.c @@ -42,6 +42,7 @@  #include <avahi-common/malloc.h>  #include <avahi-common/alternative.h>  #include <avahi-common/error.h> +#include <avahi-common/domain.h>  #include <avahi-core/log.h>  #include <avahi-core/publish.h> @@ -231,9 +232,15 @@ static void add_static_service_group_to_server(StaticServiceGroup *g) {          avahi_free(g->chosen_name); -        if (g->replace_wildcards) -            g->chosen_name = replacestr(g->name, "%h", avahi_server_get_host_name(avahi_server)); -        else +        if (g->replace_wildcards) { +            char label[AVAHI_LABEL_MAX]; +            const char *p; + +            p = avahi_server_get_host_name(avahi_server); +            avahi_unescape_label(&p, label, sizeof(label)); + +            g->chosen_name = replacestr(g->name, "%h", label); +        } else              g->chosen_name = avahi_strdup(g->name);      } | 
