From 89f7c8465cd1ab37347dd0c15920bce31e8225df Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 11 Feb 2014 17:15:38 +0100 Subject: machined: optionally, allow registration of pre-existing units (scopes or services) as machine with machined --- src/login/sd-login.c | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) (limited to 'src/login') diff --git a/src/login/sd-login.c b/src/login/sd-login.c index c795765620..ef67040ebc 100644 --- a/src/login/sd-login.c +++ b/src/login/sd-login.c @@ -630,7 +630,32 @@ _public_ int sd_get_uids(uid_t **users) { } _public_ int sd_get_machine_names(char ***machines) { - return get_files_in_directory("/run/systemd/machines/", machines); + char **l = NULL, **a, **b; + int r; + + r = get_files_in_directory("/run/systemd/machines/", &l); + if (r < 0) + return r; + + if (l) { + r = 0; + + /* Filter out the unit: symlinks */ + for (a = l, b = l; *a; a++) { + if (startswith(*a, "unit:")) + free(*a); + else { + *b = *a; + b++; + r++; + } + } + + *b = NULL; + } + + *machines = l; + return r; } static inline int MONITOR_TO_FD(sd_login_monitor *m) { -- cgit v1.2.3-54-g00ecf