X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/92128dacf8d5db02379e8f872dc50d31c6aaa55f..c7c8335f5851c1e2bf3877a4a134affe4e39d6eb:/uip/comp.c?ds=inline diff --git a/uip/comp.c b/uip/comp.c index 2f7da416..7ca48dbc 100644 --- a/uip/comp.c +++ b/uip/comp.c @@ -31,7 +31,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 +123,7 @@ main (int argc, char **argv) case BILDSW: build++; - /* fall through */ + /* FALLTHRU */ case NWHATSW: nwhat++; continue; @@ -192,8 +192,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 +222,7 @@ main (int argc, char **argv) } } - cwd = getcpy (pwd ()); + cwd = mh_xstrdup(pwd ()); if (!context_find ("path")) free (path ("./", TFOLDER)); @@ -271,7 +270,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 +336,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: @@ -381,7 +381,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);