]> git.ipfire.org Git - thirdparty/shadow.git/commitdiff
src/useradd.c: create_home(): Cosmetic
authorAlejandro Colomar <alx@kernel.org>
Wed, 7 Jun 2023 21:56:29 +0000 (23:56 +0200)
committerSerge Hallyn <serge@hallyn.com>
Sat, 10 Jun 2023 00:04:51 +0000 (19:04 -0500)
-  Invert conditional to reduce indentation.

Signed-off-by: Alejandro Colomar <alx@kernel.org>
src/useradd.c

index bde45032ddef4e845f0d7ff684899144fe6ed9b8..928ee0d65b0a95ceaa23e454ee2d398ace6fce9e 100644 (file)
@@ -2317,58 +2317,60 @@ static void create_home (void)
                        strcat(path, "/");
                }
                strcat(path, cp);
-               if (access(path, F_OK) != 0) {
-                       /* Check if parent directory is BTRFS, fail if requesting
-                          subvolume but no BTRFS. The paths could be different by the
-                          trailing slash
-                        */
+               if (access(path, F_OK) == 0) {
+                       continue;
+               }
+
+               /* Check if parent directory is BTRFS, fail if requesting
+                  subvolume but no BTRFS. The paths could be different by the
+                  trailing slash
+                */
 #if WITH_BTRFS
-                       if (subvolflg && (strlen(prefix_user_home) - (int)strlen(path)) <= 1) {
-                               char *btrfs_check = strdup(path);
-
-                               if (!btrfs_check) {
-                                       fprintf(stderr,
-                                               _("%s: error while duplicating string in BTRFS check %s\n"),
-                                               Prog, path);
-                                       fail_exit(E_HOMEDIR);
-                               }
-                               btrfs_check[strlen(path) - strlen(cp) - 1] = '\0';
-                               if (is_btrfs(btrfs_check) <= 0) {
-                                       fprintf(stderr,
-                                               _("%s: home directory \"%s\" must be mounted on BTRFS\n"),
-                                               Prog, path);
-                                       fail_exit(E_HOMEDIR);
-                               }
-                               // make subvolume to mount for user instead of directory
-                               if (btrfs_create_subvolume(path)) {
-                                       fprintf(stderr,
-                                               _("%s: failed to create BTRFS subvolume: %s\n"),
-                                               Prog, path);
-                                       fail_exit(E_HOMEDIR);
-                               }
-                       }
-                       else
-#endif
-                       if (mkdir(path, 0) != 0) {
-                               fprintf(stderr, _("%s: cannot create directory %s\n"),
+               if (subvolflg && (strlen(prefix_user_home) - (int)strlen(path)) <= 1) {
+                       char *btrfs_check = strdup(path);
+
+                       if (!btrfs_check) {
+                               fprintf(stderr,
+                                       _("%s: error while duplicating string in BTRFS check %s\n"),
                                        Prog, path);
-#ifdef WITH_AUDIT
-                               audit_logger(AUDIT_ADD_USER, Prog, "adding home directory",
-                                            user_name, user_id, SHADOW_AUDIT_FAILURE);
-#endif
                                fail_exit(E_HOMEDIR);
                        }
-                       if (chown(path, 0, 0) < 0) {
+                       btrfs_check[strlen(path) - strlen(cp) - 1] = '\0';
+                       if (is_btrfs(btrfs_check) <= 0) {
                                fprintf(stderr,
-                                       _("%s: warning: chown on `%s' failed: %m\n"),
+                                       _("%s: home directory \"%s\" must be mounted on BTRFS\n"),
                                        Prog, path);
+                               fail_exit(E_HOMEDIR);
                        }
-                       if (chmod(path, 0755) < 0) {
+                       // make subvolume to mount for user instead of directory
+                       if (btrfs_create_subvolume(path)) {
                                fprintf(stderr,
-                                       _("%s: warning: chmod on `%s' failed: %m\n"),
+                                       _("%s: failed to create BTRFS subvolume: %s\n"),
                                        Prog, path);
+                               fail_exit(E_HOMEDIR);
                        }
                }
+               else
+#endif
+               if (mkdir(path, 0) != 0) {
+                       fprintf(stderr, _("%s: cannot create directory %s\n"),
+                               Prog, path);
+#ifdef WITH_AUDIT
+                       audit_logger(AUDIT_ADD_USER, Prog, "adding home directory",
+                                    user_name, user_id, SHADOW_AUDIT_FAILURE);
+#endif
+                       fail_exit(E_HOMEDIR);
+               }
+               if (chown(path, 0, 0) < 0) {
+                       fprintf(stderr,
+                               _("%s: warning: chown on `%s' failed: %m\n"),
+                               Prog, path);
+               }
+               if (chmod(path, 0755) < 0) {
+                       fprintf(stderr,
+                               _("%s: warning: chmod on `%s' failed: %m\n"),
+                               Prog, path);
+               }
        }
        free(bhome);