X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/92128dacf8d5db02379e8f872dc50d31c6aaa55f..dcbbebd768c6444e2fbf83de2b3dc6c76b513a54:/uip/comp.c diff --git a/uip/comp.c b/uip/comp.c index 2f7da416..a78bcc69 100644 --- a/uip/comp.c +++ b/uip/comp.c @@ -1,6 +1,4 @@ - -/* - * comp.c -- compose a message +/* comp.c -- compose a message * * This code is Copyright (c) 2002, by the authors of nmh. See the * COPYRIGHT file in the root directory of the nmh distribution for @@ -31,7 +29,7 @@ X("cc address", 0, CCSW) \ X("from address", 0, FROMSW) \ X("fcc mailbox", 0, FCCSW) \ - X("width colums", 0, WIDTHSW) \ + X("width columns", 0, WIDTHSW) \ X("subject text", 0, SUBJECTSW) \ #define X(sw, minchars, id) id, @@ -123,7 +121,7 @@ main (int argc, char **argv) case BILDSW: build++; - /* fall through */ + /* FALLTHRU */ case NWHATSW: nwhat++; continue; @@ -192,8 +190,7 @@ main (int argc, char **argv) if (*cp == '@') cp = dp = path(cp + 1, TSUBCWF); fcc = addlist(fcc, cp); - if (dp) - free(dp); + mh_xfree(dp); continue; case WIDTHSW: @@ -223,7 +220,7 @@ main (int argc, char **argv) } } - cwd = getcpy (pwd ()); + cwd = mh_xstrdup(pwd ()); if (!context_find ("path")) free (path ("./", TFOLDER)); @@ -271,7 +268,7 @@ main (int argc, char **argv) if (mp->numsel > 1) adios (NULL, "only one message at a time!"); - if ((in = open (form = getcpy (m_name (mp->lowsel)), O_RDONLY)) == NOTOK) + if ((in = open (form = mh_xstrdup(m_name (mp->lowsel)), O_RDONLY)) == NOTOK) adios (form, "unable to open message"); } else { struct comp *cptr; @@ -337,7 +334,8 @@ try_it_again: adios (drft, "unable to stat"); printf ("Draft \"%s\" exists (%ld bytes).", drft, (long) st.st_size); for (i = LISTDSW; i != YESW;) { - if (!(argp = getans ("\nDisposition? ", isdf ? aqrunl : aqrul))) + if (!(argp = read_switch_multiword ("\nDisposition? ", + isdf ? aqrunl : aqrul))) done (1); switch (i = smatch (*argp, isdf ? aqrunl : aqrul)) { case NOSW: @@ -359,7 +357,7 @@ try_it_again: i = YESW; break; default: - advise (NULL, "say what?"); + inform("say what?"); break; } } @@ -381,7 +379,10 @@ try_it_again: dat[3] = outputlinelen; dat[4] = 0; fmt_scan(fmt, scanl, i, dat, NULL); - write(out, charstring_buffer (scanl), charstring_bytes (scanl)); + if (write(out, charstring_buffer (scanl), + charstring_bytes (scanl)) < 0) { + advise (drft, "write"); + } charstring_free(scanl); } else { cpydata (in, out, form, drft);