diff options
author | Sven Eden <yamakuzure@gmx.net> | 2017-05-24 13:51:31 +0200 |
---|---|---|
committer | Sven Eden <yamakuzure@gmx.net> | 2017-06-16 10:12:58 +0200 |
commit | c733f9b08d9eadc5e671185112567ada81116bdf (patch) | |
tree | 5755965b950423eae4b3c8f462acaf940a9ad684 /src/basic/util.c | |
parent | c6edc23d5f8a483e93a891bf7eb76b5f4caf2fb4 (diff) |
Prep v230: Apply missing upstream fixes and updates (2/8) src/basic.
Diffstat (limited to 'src/basic/util.c')
-rw-r--r-- | src/basic/util.c | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/src/basic/util.c b/src/basic/util.c index 68097b46a..1ef6f5f2b 100644 --- a/src/basic/util.c +++ b/src/basic/util.c @@ -785,16 +785,25 @@ uint64_t physical_memory(void) { } #if 0 /// UNNEEDED by elogind -int update_reboot_param_file(const char *param) { - int r = 0; +int update_reboot_parameter_and_warn(const char *param) { + int r; + + if (isempty(param)) { + if (unlink("/run/systemd/reboot-param") < 0) { + if (errno == ENOENT) + return 0; + + return log_warning_errno(errno, "Failed to unlink reboot parameter file: %m"); + } - if (param) { - RUN_WITH_UMASK(0022) - r = write_string_file(REBOOT_PARAM_FILE, param, WRITE_STRING_FILE_CREATE); + return 0; + } + + RUN_WITH_UMASK(0022) { + r = write_string_file("/run/systemd/reboot-param", param, WRITE_STRING_FILE_CREATE); if (r < 0) - return log_error_errno(r, "Failed to write reboot param to "REBOOT_PARAM_FILE": %m"); - } else - (void) unlink(REBOOT_PARAM_FILE); + return log_warning_errno(r, "Failed to write reboot parameter file: %m"); + } return 0; } |