]> diplodocus.org Git - nmh/blobdiff - uip/msh.c
add rmf(1) and folder(1) to one another's SEE ALSO sections
[nmh] / uip / msh.c
index 2fb2b23092553f72dfc69b3de0c0a5b2d5a542e4..86855a4f496775da39fc38b910b2a7892279e5a2 100644 (file)
--- a/uip/msh.c
+++ b/uip/msh.c
@@ -203,13 +203,7 @@ main (int argc, char **argv)
     char *cp, *file = NULL, *folder = NULL;
     char **argp, **arguments, buf[BUFSIZ];
 
-#ifdef LOCALE
-    setlocale(LC_ALL, "");
-#endif
-    invo_name = r1bindex (argv[0], '/');
-
-    /* read user profile/context */
-    context_read();
+    if (nmh_init(argv[0], 1)) { return 1; }
 
     mts_init (invo_name);
     arguments = getarguments (invo_name, argc,argv, 1);
@@ -1085,6 +1079,7 @@ quit (void)
     char map1[BUFSIZ], map2[BUFSIZ];
     struct stat st;
     FILE *dp;
+    int failed_to_lock = 0;
 
     if (!(mp->msgflags & MODIFIED) || is_readonly(mp) || fmsh) {
            if (vmh)
@@ -1095,7 +1090,7 @@ quit (void)
     if (vmh) 
        ttyNaux (NULLCMD, "FAST");
     cp = NULL;
-    if ((dp = lkfopendata (mp->foldpath, "r")) == NULL) {
+    if ((dp = lkfopendata (mp->foldpath, "r", &failed_to_lock)) == NULL) {
        advise (mp->foldpath, "unable to lock");
        if (vmh) {
            ttyR (NULLCMD);
@@ -1120,7 +1115,7 @@ quit (void)
                close (i);
            else
                advise (mp->foldpath, "error zero'ing");
-           unlink (map_name (mp->foldpath));/* XXX */
+           (void) m_unlink (map_name (mp->foldpath));/* XXX */
        }
        goto release;
     }
@@ -1137,8 +1132,8 @@ quit (void)
     for (msgnum = mp->lowmsg; msgnum <= mp->hghmsg; msgnum++)
        if (does_exist(mp, msgnum) && pack (tmpfil, md, msgnum) == NOTOK) {
            mbx_close (tmpfil, md);
-           unlink (tmpfil);
-           unlink (map_name (tmpfil));
+           (void) m_unlink (tmpfil);
+           (void) m_unlink (map_name (tmpfil));
            goto release;
        }
     mbx_close (tmpfil, md);
@@ -1151,8 +1146,8 @@ quit (void)
 
        if (rename (map1, map2) == NOTOK) {
            admonish (map2, "unable to rename %s to", map1);
-           unlink (map1);
-           unlink (map2);
+           (void) m_unlink (map1);
+           (void) m_unlink (map2);
        }
     }