From 38158b920e772ea3a7cc9dfcf705666ce3aa5ce3 Mon Sep 17 00:00:00 2001 From: Zbigniew Jędrzejewski-Szmek Date: Tue, 30 Apr 2013 00:35:38 -0400 Subject: cgls: add --machine/-M cg_get_machine_path is modified to include the escaped machine name + ".nspawn" if the machine argument is nonnull. --- src/shared/cgroup-util.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'src/shared/cgroup-util.c') diff --git a/src/shared/cgroup-util.c b/src/shared/cgroup-util.c index 1366f5865f..8c2ef45530 100644 --- a/src/shared/cgroup-util.c +++ b/src/shared/cgroup-util.c @@ -1146,17 +1146,22 @@ int cg_get_user_path(char **path) { return 0; } -int cg_get_machine_path(char **path) { - _cleanup_free_ char *root = NULL; +int cg_get_machine_path(const char *machine, char **path) { + _cleanup_free_ char *root = NULL, *escaped = NULL; char *p; assert(path); - if (cg_get_root_path(&root) < 0 || streq(root, "/")) - p = strdup("/machine"); - else - p = strappend(root, "/machine"); + if (machine) { + const char *name = strappenda(machine, ".nspawn"); + + escaped = cg_escape(name); + if (!escaped) + return -ENOMEM; + } + p = strjoin(cg_get_root_path(&root) >= 0 && !streq(root, "/") ? root : "", + "/machine", machine ? "/" : "", machine ? escaped : "", NULL); if (!p) return -ENOMEM; -- cgit v1.2.3-54-g00ecf