chiark / gitweb /
treewide: use log_*_errno whenever %m is in the format string
[elogind.git] / src / hibernate-resume / hibernate-resume-generator.c
index f40721662e5bf1a88cb4c70970ecf5f392671de9..25cefc2b247d466cd14a0f24da6883e3152444bc 100644 (file)
@@ -45,6 +45,9 @@ static int parse_proc_cmdline_item(const char *key, const char *value) {
 static int process_resume(void) {
         _cleanup_free_ char *name = NULL, *lnk = NULL;
 
+        if (!arg_resume_dev)
+                return 0;
+
         name = unit_name_from_path_instance("systemd-hibernate-resume", arg_resume_dev, ".service");
         if (!name)
                 return log_oom();
@@ -55,7 +58,7 @@ static int process_resume(void) {
 
         mkdir_parents_label(lnk, 0755);
         if (symlink(SYSTEM_DATA_UNIT_PATH "/systemd-hibernate-resume@.service", lnk) < 0) {
-                log_error("Failed to create symlink %s: %m", lnk);
+                log_error_errno(errno, "Failed to create symlink %s: %m", lnk);
                 return -errno;
         }
 
@@ -83,12 +86,11 @@ int main(int argc, char *argv[]) {
         if (!in_initrd())
                 return EXIT_SUCCESS;
 
-        if (parse_proc_cmdline(parse_proc_cmdline_item) < 0)
-                return EXIT_FAILURE;
-
-        if (arg_resume_dev != NULL)
-                r = process_resume();
+        r = parse_proc_cmdline(parse_proc_cmdline_item);
+        if (r < 0)
+                log_warning_errno(r, "Failed to parse kernel command line, ignoring: %m");
 
+        r = process_resume();
         free(arg_resume_dev);
 
         return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;