X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/de4636bb664106d9932ae7acb517e471b848f1f3..8a260e95d18fbaee659cd6ed662e97e0c10fcdf0:/uip/dist.c?ds=sidebyside diff --git a/uip/dist.c b/uip/dist.c index 29820f30..f846b74d 100644 --- a/uip/dist.c +++ b/uip/dist.c @@ -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;