]> diplodocus.org Git - nmh/blobdiff - uip/dist.c
Alter HasSuffixC()'s char * to be const.
[nmh] / uip / dist.c
index 29820f300bad5d784315aea246c393763a2765b2..f846b74da7f1b11c67f156b403c8f768de883481 100644 (file)
@@ -64,7 +64,7 @@ static struct swit aqrl[] = {
     { "replace", 0, YESW },
     { "list", 0, LISTDSW },
     { "refile +folder", 0, REFILSW },
-    { NULL, 0 }
+    { NULL, 0, 0 }
 };
 
 
@@ -83,13 +83,7 @@ main (int argc, char **argv)
     struct msgs *mp = NULL;
     struct stat st;
 
-#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; }
 
     arguments = getarguments (invo_name, argc, argv, 1);
     argp = arguments;
@@ -224,7 +218,7 @@ main (int argc, char **argv)
        }
     }
 
-    cwd = getcpy (pwd ());
+    cwd = mh_xstrdup(pwd ());
 
     if (!context_find ("path"))
        free (path ("./", TFOLDER));
@@ -238,7 +232,8 @@ try_it_again:
     if (stat (drft, &st) != NOTOK) {
        printf ("Draft \"%s\" exists (%ld bytes).", drft, (long) st.st_size);
        for (i = LISTDSW; i != YESW;) {
-           if (!(argp = getans ("\nDisposition? ", isdf ? aqrnl : aqrl)))
+           if (!(argp = read_switch_multiword ("\nDisposition? ",
+                                               isdf ? aqrnl : aqrl)))
                done (1);
            switch (i = smatch (*argp, isdf ? aqrnl : aqrl)) {
                case NOSW: 
@@ -281,7 +276,7 @@ try_it_again:
            adios (maildir, "unable to change directory to");
 
        /* read folder and create message structure */
-       if (!(mp = folder_read (folder)))
+       if (!(mp = folder_read (folder, 1)))
            adios (NULL, "unable to read folder %s", folder);
 
        /* check for empty folder */
@@ -297,7 +292,7 @@ try_it_again:
            adios (NULL, "only one message at a time!");
     }
 
-    msgnam = file ? file : getcpy (m_name (mp->lowsel));
+    msgnam = file ? file : mh_xstrdup(m_name (mp->lowsel));
 
     dat[0] = mp ? mp->lowsel : 0;
     dat[1] = 0;