From: Lennart Poettering Date: Mon, 1 Aug 2011 00:45:51 +0000 (+0200) Subject: util: more join() optimizations X-Git-Tag: v33~28 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=cd0ed1db9b58900959866e7b265fae2b153b68c0 util: more join() optimizations --- diff --git a/src/load-dropin.c b/src/load-dropin.c index dbdc6a41d..eafcc2fdf 100644 --- a/src/load-dropin.c +++ b/src/load-dropin.c @@ -100,10 +100,10 @@ static int process_dir(Unit *u, const char *unit_path, const char *name, const c if (!(template = unit_name_template(name))) return -ENOMEM; - r = asprintf(&path, "%s/%s%s", unit_path, template, suffix); + path = join(unit_path, "/", template, suffix, NULL); free(template); - if (r < 0) + if (!path) return -ENOMEM; if (u->meta.manager->unit_path_cache && diff --git a/src/unit.c b/src/unit.c index e494834a6..65ee0cc35 100644 --- a/src/unit.c +++ b/src/unit.c @@ -1772,22 +1772,22 @@ int unit_add_cgroup(Unit *u, CGroupBonding *b) { static char *default_cgroup_path(Unit *u) { char *p; - int r; assert(u); if (u->meta.instance) { char *t; - if (!(t = unit_name_template(u->meta.id))) + t = unit_name_template(u->meta.id); + if (!t) return NULL; - r = asprintf(&p, "%s/%s/%s", u->meta.manager->cgroup_hierarchy, t, u->meta.instance); + p = join(u->meta.manager->cgroup_hierarchy, "/", t, "/", u->meta.instance, NULL); free(t); } else - r = asprintf(&p, "%s/%s", u->meta.manager->cgroup_hierarchy, u->meta.id); + p = join(u->meta.manager->cgroup_hierarchy, "/", u->meta.id, NULL); - return r < 0 ? NULL : p; + return p; } int unit_add_cgroup_from_text(Unit *u, const char *name) {