]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
validatefs: shorten and reindent code
authorZbigniew Jędrzejewski-Szmek <zbyszek@amutable.com>
Tue, 24 Mar 2026 10:40:12 +0000 (11:40 +0100)
committerZbigniew Jędrzejewski-Szmek <zbyszek@amutable.com>
Wed, 25 Mar 2026 01:02:24 +0000 (02:02 +0100)
src/validatefs/validatefs.c

index 2b760a285b14a38d3403decf368038c66f3054b7..c507e4d98a472a5f39a35f4be8b77d41d02d81e5 100644 (file)
@@ -74,22 +74,15 @@ static int parse_argv(int argc, char *argv[]) {
                         return version();
 
                 OPTION_LONG("root", "PATH|auto", "Operate relative to the specified path"):
-                        if (streq(arg, "auto")) {
-                                arg_root = mfree(arg_root);
-
-                                if (in_initrd()) {
-                                        arg_root = strdup("/sysroot");
-                                        if (!arg_root)
-                                                return log_oom();
-                                }
-
-                                break;
+                        if (streq(arg, "auto"))
+                                r = free_and_strdup_warn(&arg_root, in_initrd() ? "/sysroot" : NULL);
+                        else {
+                                if (!path_is_absolute(arg))
+                                        return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
+                                                               "--root= argument must be 'auto' or absolute path, got: %s", arg);
+
+                                r = parse_path_argument(arg, /* suppress_root= */ true, &arg_root);
                         }
-
-                        if (!path_is_absolute(arg))
-                                return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "--root= argument must be 'auto' or absolute path, got: %s", arg);
-
-                        r = parse_path_argument(arg, /* suppress_root= */ true, &arg_root);
                         if (r < 0)
                                 return r;
                         break;
@@ -107,8 +100,9 @@ static int parse_argv(int argc, char *argv[]) {
                 return log_oom();
 
         if (arg_root && !path_startswith(arg_target, arg_root))
-                return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Specified path '%s' does not start with specified root '%s', refusing.", arg_target, arg_root);
-
+                return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
+                                       "Specified path '%s' does not start with specified root '%s', refusing.",
+                                       arg_target, arg_root);
         return 1;
 }