From: Zbigniew Jędrzejewski-Szmek Date: Fri, 14 Mar 2014 12:43:21 +0000 (-0400) Subject: machine-id-setup: use path_kill_slashes and modernizations X-Git-Tag: v212~174 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=fe970a8a30d611d454cb40025cfc32e29efa34e6;p=elogind.git machine-id-setup: use path_kill_slashes and modernizations --- diff --git a/man/systemd-machine-id-setup.xml b/man/systemd-machine-id-setup.xml index b879b40b9..62630fbca 100644 --- a/man/systemd-machine-id-setup.xml +++ b/man/systemd-machine-id-setup.xml @@ -97,11 +97,12 @@ - + Takes a directory path as an argument. All paths will be - prefixed with the given alternate ROOT - path, including config search paths. + prefixed with the given alternate + root path, + including config search paths. diff --git a/src/core/machine-id-setup.c b/src/core/machine-id-setup.c index f3b1b318e..43720d628 100644 --- a/src/core/machine-id-setup.c +++ b/src/core/machine-id-setup.c @@ -36,6 +36,7 @@ #include "log.h" #include "virt.h" #include "fileio.h" +#include "path-util.h" static int shorten_uuid(char destination[36], const char *source) { unsigned i, j; @@ -160,14 +161,13 @@ int machine_id_setup(const char *root) { bool writable = false; struct stat st; char id[34]; /* 32 + \n + \0 */ - _cleanup_free_ char *etc_machine_id = NULL; - _cleanup_free_ char *run_machine_id = NULL; + char *etc_machine_id, *run_machine_id; - if (asprintf(&etc_machine_id, "%s/etc/machine-id", root) < 0) - return log_oom(); + etc_machine_id = strappenda(root, "/etc/machine-id"); + path_kill_slashes(etc_machine_id); - if (asprintf(&run_machine_id, "%s/run/machine-id", root) < 0) - return log_oom(); + run_machine_id = strappenda(root, "/run/machine-id"); + path_kill_slashes(run_machine_id); RUN_WITH_UMASK(0000) { /* We create this 0444, to indicate that this isn't really diff --git a/src/machine-id-setup/machine-id-setup-main.c b/src/machine-id-setup/machine-id-setup-main.c index a67d436db..1c933ce60 100644 --- a/src/machine-id-setup/machine-id-setup-main.c +++ b/src/machine-id-setup/machine-id-setup-main.c @@ -37,7 +37,7 @@ static int help(void) { "Initialize /etc/machine-id from a random source.\n\n" " -h --help Show this help\n" " --version Show package version\n" - " --root Filesystem root\n", + " --root=ROOT Filesystem root\n", program_invocation_short_name); return 0; @@ -87,7 +87,7 @@ static int parse_argv(int argc, char *argv[]) { } if (optind < argc) { - help(); + log_error("Extraneous arguments"); return -EINVAL; }