X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/92128dacf8d5db02379e8f872dc50d31c6aaa55f..86b1fbb19b287c67f43fd280a13c81eea72583a3:/uip/comp.c diff --git a/uip/comp.c b/uip/comp.c index 2f7da416..a98e24e2 100644 --- a/uip/comp.c +++ b/uip/comp.c @@ -223,7 +223,7 @@ main (int argc, char **argv) } } - cwd = getcpy (pwd ()); + cwd = mh_xstrdup(pwd ()); if (!context_find ("path")) free (path ("./", TFOLDER)); @@ -271,7 +271,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 +337,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 +382,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);