From 5a2898db8a532481c024c41bf0b94e39b34ac29e Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 30 Apr 2009 02:37:05 +0200 Subject: zeroconf: use pa_get_{user|host}_name_malloc() where applicable --- src/modules/module-zeroconf-publish.c | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/modules/module-zeroconf-publish.c b/src/modules/module-zeroconf-publish.c index a5bc620c..4f382c80 100644 --- a/src/modules/module-zeroconf-publish.c +++ b/src/modules/module-zeroconf-publish.c @@ -339,7 +339,7 @@ finish: static struct service *get_service(struct userdata *u, pa_object *device) { struct service *s; - char hn[64], un[64]; + char *hn, *un; const char *n; pa_assert(u); @@ -361,11 +361,13 @@ static struct service *get_service(struct userdata *u, pa_object *device) { n = PA_SOURCE(device)->name; } - s->service_name = pa_truncate_utf8(pa_sprintf_malloc("%s@%s: %s", - pa_get_user_name(un, sizeof(un)), - pa_get_host_name(hn, sizeof(hn)), - n), - AVAHI_LABEL_MAX-1); + hn = pa_get_host_name_malloc(); + un = pa_get_user_name_malloc(); + + s->service_name = pa_truncate_utf8(pa_sprintf_malloc("%s@%s: %s", un, hn, n), AVAHI_LABEL_MAX-1); + + pa_xfree(un); + pa_xfree(hn); pa_hashmap_put(u->services, s->device, s); @@ -605,7 +607,7 @@ int pa__init(pa_module*m) { struct userdata *u; pa_modargs *ma = NULL; - char hn[256], un[256]; + char *hn, *un; int error; if (!(ma = pa_modargs_new(m->argument, valid_modargs))) { @@ -631,7 +633,11 @@ int pa__init(pa_module*m) { u->main_entry_group = NULL; - u->service_name = pa_truncate_utf8(pa_sprintf_malloc("%s@%s", pa_get_user_name(un, sizeof(un)), pa_get_host_name(hn, sizeof(hn))), AVAHI_LABEL_MAX); + un = pa_get_user_name_malloc(); + hn = pa_get_host_name_malloc(); + u->service_name = pa_truncate_utf8(pa_sprintf_malloc("%s@%s", un, hn), AVAHI_LABEL_MAX-1); + pa_xfree(un); + pa_xfree(hn); if (!(u->client = avahi_client_new(u->avahi_poll, AVAHI_CLIENT_NO_FAIL, client_callback, u, &error))) { pa_log("avahi_client_new() failed: %s", avahi_strerror(error)); -- cgit