X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/2b83f27e1980a6c5de752bd55c0ff76f53ec15f6..ec173fd2c:/uip/whom.c?ds=inline diff --git a/uip/whom.c b/uip/whom.c index 76f434e4..ca94d3e1 100644 --- a/uip/whom.c +++ b/uip/whom.c @@ -5,10 +5,22 @@ * complete copyright information. */ -#include +#include "h/mh.h" +#include "distsbr.h" +#include "sbr/getarguments.h" +#include "sbr/smatch.h" +#include "sbr/closefds.h" +#include "sbr/m_draft.h" +#include "sbr/context_find.h" +#include "sbr/brkstring.h" +#include "sbr/ambigsw.h" +#include "sbr/path.h" +#include "sbr/print_version.h" +#include "sbr/print_help.h" +#include "sbr/error.h" #include "h/done.h" -#include -#include +#include "h/utils.h" +#include "h/signals.h" #include "sbr/m_maildir.h" #include "sbr/m_mktemp.h" @@ -66,7 +78,7 @@ main (int argc, char **argv) char *msg = NULL, **ap, **argp, backup[BUFSIZ]; char buf[BUFSIZ], **arguments, *vec[MAXARGS]; - if (nmh_init(argv[0], 2)) { return 1; } + if (nmh_init(argv[0], true, false)) { return 1; } arguments = getarguments (invo_name, argc, argv, 1); argp = arguments; @@ -74,7 +86,7 @@ main (int argc, char **argv) vec[vecp++] = invo_name; vec[vecp++] = "-whom"; vec[vecp++] = "-library"; - vec[vecp++] = getcpy (m_maildir ("")); + vec[vecp++] = mh_xstrdup(m_maildir("")); if ((cp = context_find ("credentials"))) { /* post doesn't read context so need to pass credentials. */ @@ -92,7 +104,7 @@ main (int argc, char **argv) ambigsw (cp, switches); done (1); case UNKWNSW: - adios (NULL, "-%s unknown", cp); + die("-%s unknown", cp); case HELPSW: snprintf (buf, sizeof(buf), "%s [switches] [file]", invo_name); @@ -118,17 +130,17 @@ main (int argc, char **argv) case DFOLDSW: if (dfolder) - adios (NULL, "only one draft folder at a time!"); + die("only one draft folder at a time!"); if (!(cp = *argp++) || *cp == '-') - adios (NULL, "missing argument to %s", argp[-2]); + die("missing argument to %s", argp[-2]); dfolder = path (*cp == '+' || *cp == '@' ? cp + 1 : cp, *cp != '@' ? TFOLDER : TSUBCWF); continue; case DMSGSW: if (dmsg) - adios (NULL, "only one draft message at a time!"); + die("only one draft message at a time!"); if (!(dmsg = *argp++) || *dmsg == '-') - adios (NULL, "missing argument to %s", argp[-2]); + die("missing argument to %s", argp[-2]); continue; case NDFLDSW: dfolder = NULL; @@ -144,13 +156,13 @@ main (int argc, char **argv) case MTSSW: vec[vecp++] = --cp; if (!(cp = *argp++) || *cp == '-') - adios (NULL, "missing argument to %s", argp[-2]); + die("missing argument to %s", argp[-2]); vec[vecp++] = cp; continue; } } if (msg) - adios (NULL, "only one draft at a time!"); + die("only one draft at a time!"); vec[vecp++] = msg = cp; } @@ -165,7 +177,7 @@ main (int argc, char **argv) } if (msg == NULL) { - cp = getcpy (m_draft (dfolder, dmsg, 1, &isdf)); + cp = mh_xstrdup(m_draft(dfolder, dmsg, 1, &isdf)); msg = vec[vecp++] = cp; }