summaryrefslogtreecommitdiff
path: root/src/core/machine-id-setup.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2014-06-17 03:25:02 +0200
committerLennart Poettering <lennart@poettering.net>2014-06-17 03:26:40 +0200
commit489388fbc0be89e2b978258d277b5ff2da573174 (patch)
treeae22b8d4fbf776dce07a5c45688693eaacedaced /src/core/machine-id-setup.c
parentc47fc1f025dd4b4c22d4650385748dc8486df0b6 (diff)
machine-id-setup: allow passing NULL as function argument, for simplicity
Diffstat (limited to 'src/core/machine-id-setup.c')
-rw-r--r--src/core/machine-id-setup.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/core/machine-id-setup.c b/src/core/machine-id-setup.c
index 3efcd5fac..e2e6d0226 100644
--- a/src/core/machine-id-setup.c
+++ b/src/core/machine-id-setup.c
@@ -157,18 +157,23 @@ static int generate(char id[34], const char *root) {
}
int machine_id_setup(const char *root) {
+ const char *etc_machine_id, *run_machine_id;
_cleanup_close_ int fd = -1;
- int r;
bool writable = false;
struct stat st;
char id[34]; /* 32 + \n + \0 */
- char *etc_machine_id, *run_machine_id;
+ int r;
- etc_machine_id = strappenda(root, "/etc/machine-id");
- path_kill_slashes(etc_machine_id);
+ if (isempty(root)) {
+ etc_machine_id = "/etc/machine-id";
+ run_machine_id = "/run/machine-id";
+ } else {
+ etc_machine_id = strappenda(root, "/etc/machine-id");
+ path_kill_slashes((char*) etc_machine_id);
- run_machine_id = strappenda(root, "/run/machine-id");
- path_kill_slashes(run_machine_id);
+ run_machine_id = strappenda(root, "/run/machine-id");
+ path_kill_slashes((char*) run_machine_id);
+ }
RUN_WITH_UMASK(0000) {
/* We create this 0444, to indicate that this isn't really