]> diplodocus.org Git - nmh/blobdiff - uip/install-mh.c
lock_file.c: close(2) file descriptor on failure, avoiding leak.
[nmh] / uip / install-mh.c
index 48bde2500393040c16d238563e502f56103000ae..e3eab12f55354a312a7c30b9a4382deccf31b14c 100644 (file)
@@ -7,8 +7,10 @@
 
 #include <h/mh.h>                              /* mh internals */
 #include <h/utils.h>
-#include "../sbr/m_maildir.h"
+#include "sbr/m_maildir.h"
+#include "sbr/makedir.h"
 #include <pwd.h>                               /* structure for getpwuid() results */
+#include "sbr/read_line.h"
 
 #define INSTALLMH_SWITCHES \
     X("auto", 0, AUTOSW) \
@@ -83,8 +85,7 @@ main (int argc, char **argv)
     if ((mypath = getenv("HOME")) == NULL) {
        if ((pw = getpwuid(getuid())) == NULL || *pw->pw_dir == '\0')
            adios(NULL, "cannot determine your home directory");
-       else
-           mypath = pw->pw_dir;
+        mypath = pw->pw_dir;
     }
 
     /*
@@ -108,15 +109,12 @@ main (int argc, char **argv)
     if (stat (defpath, &st) != NOTOK) {
        if (check)
            done(0);
-
-       else if (autof)
+       if (autof)
            adios (NULL, "invocation error");
-       else
-           adios (NULL, "You already have an nmh profile, use an editor to modify it");
+        adios (NULL, "You already have an nmh profile, use an editor to modify it");
     }
-    else if (check) {
+    if (check)
        done(1);
-    }
 
     if (!autof && read_switch ("Do you want help? ", anoyes)) {
        (void)printf(
@@ -131,16 +129,13 @@ main (int argc, char **argv)
 
     cp = concat (mypath, "/", "Mail", NULL);
     if (stat (cp, &st) != NOTOK) {
-       if (S_ISDIR(st.st_mode)) {
-           cp = concat ("You already have the standard nmh directory \"",
-                   cp, "\".\nDo you want to use it for nmh? ", NULL);
-           if (read_switch (cp, anoyes))
-               pathname = "Mail";
-           else
-               goto query;
-       } else {
+       if (!S_ISDIR(st.st_mode))
            goto query;
-       }
+        cp = concat ("You already have the standard nmh directory \"",
+                cp, "\".\nDo you want to use it for nmh? ", NULL);
+        if (!read_switch (cp, anoyes))
+            goto query;
+        pathname = "Mail";
     } else {
        if (autof)
            puts("I'm going to create the standard nmh path for you.");
@@ -221,7 +216,7 @@ query:
     fclose (out);
 
     puts ("\nPlease see the nmh(7) man page for an introduction to nmh.\n");
-    print_intro (stdout, FALSE);
+    print_intro (stdout, false);
 
     /* Initialize the saved nmh version.  The Path profile entry was added
        above, that's all this needs. */