]> diplodocus.org Git - nmh/blobdiff - uip/comp.c
Replace `if (p) free(p)' with `mh_xfree(p)'.
[nmh] / uip / comp.c
index 2f7da4166c36466e0623891c5b54c0f7d978b123..8129bb4c6646e15709e86c4b3d1df77f614de34a 100644 (file)
@@ -192,8 +192,7 @@ main (int argc, char **argv)
                    if (*cp == '@')
                        cp = dp = path(cp + 1, TSUBCWF);
                    fcc = addlist(fcc, cp);
                    if (*cp == '@')
                        cp = dp = path(cp + 1, TSUBCWF);
                    fcc = addlist(fcc, cp);
-                   if (dp)
-                       free(dp);
+                    mh_xfree(dp);
                    continue;
 
                case WIDTHSW:
                    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));
 
     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 (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;
            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;) {
            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: 
                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);
        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);
        charstring_free(scanl);
     } else {
        cpydata (in, out, form, drft);