From: Lennart Poettering Date: Mon, 28 Jun 2010 18:39:05 +0000 (+0200) Subject: static-services: unescape host name when using it in static service names X-Git-Url: https://git.meshlink.io/?a=commitdiff_plain;h=f529a1851a257d9586310f8c8190b2dcd69087a0;p=catta static-services: unescape host name when using it in static service names --- 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 #include #include +#include #include #include @@ -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); }