summaryrefslogtreecommitdiff
path: root/src/hibernate-resume
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2022-04-13 16:13:10 +0200
committerLennart Poettering <lennart@poettering.net>2022-04-13 16:26:31 +0200
commitec61371fe656dff339024e0d843c36fc2f36cf8b (patch)
tree311b3ce9d5e7d3bc2f8baafb4d657eb79586250c /src/hibernate-resume
parent7176f06c9efea4b86f3f55e448fc80e16d43e54b (diff)
downloadsystemd-ec61371fe656dff339024e0d843c36fc2f36cf8b.tar.gz
devnum-util: define helper macros for formatting devnum major/minor pairs
And port some parts over.
Diffstat (limited to 'src/hibernate-resume')
-rw-r--r--src/hibernate-resume/hibernate-resume.c13
1 files changed, 4 insertions, 9 deletions
diff --git a/src/hibernate-resume/hibernate-resume.c b/src/hibernate-resume/hibernate-resume.c
index 58e35e403e..1c7d9179d8 100644
--- a/src/hibernate-resume/hibernate-resume.c
+++ b/src/hibernate-resume/hibernate-resume.c
@@ -5,6 +5,7 @@
#include <sys/stat.h>
#include "alloc-util.h"
+#include "devnum-util.h"
#include "fileio.h"
#include "log.h"
#include "util.h"
@@ -12,7 +13,6 @@
int main(int argc, char *argv[]) {
struct stat st;
const char *device;
- _cleanup_free_ char *major_minor = NULL;
int r;
if (argc != 2) {
@@ -40,14 +40,9 @@ int main(int argc, char *argv[]) {
return EXIT_FAILURE;
}
- if (asprintf(&major_minor, "%d:%d", major(st.st_rdev), minor(st.st_rdev)) < 0) {
- log_oom();
- return EXIT_FAILURE;
- }
-
- r = write_string_file("/sys/power/resume", major_minor, WRITE_STRING_FILE_DISABLE_BUFFER);
+ r = write_string_file("/sys/power/resume", FORMAT_DEVNUM(st.st_rdev), WRITE_STRING_FILE_DISABLE_BUFFER);
if (r < 0) {
- log_error_errno(r, "Failed to write '%s' to /sys/power/resume: %m", major_minor);
+ log_error_errno(r, "Failed to write '" DEVNUM_FORMAT_STR "' to /sys/power/resume: %m", DEVNUM_FORMAT_VAL(st.st_rdev));
return EXIT_FAILURE;
}
@@ -58,6 +53,6 @@ int main(int argc, char *argv[]) {
* no hibernation image).
*/
- log_info("Could not resume from '%s' (%s).", device, major_minor);
+ log_info("Could not resume from '%s' (" DEVNUM_FORMAT_STR ").", device, DEVNUM_FORMAT_VAL(st.st_rdev));
return EXIT_SUCCESS;
}