-
-/*
- * forwsbr.c -- subroutine to build a draft from a component file
+/* forwsbr.c -- subroutine to build a draft from a component file
*
* This code is Copyright (c) 2012, by the authors of nmh. See the
* COPYRIGHT file in the root directory of the nmh distribution for
* in reasonable chunks but not enough to slurp in the whole message
*/
-static char msgbuf[256];
-#define COMPFREE(c) if (c->c_text) free(c->c_text)
+static char msgbuf[NMH_BUFSIZ];
+#define COMPFREE(c) mh_xfree(c->c_text)
/*
* A list of components we treat as addresses
int in;
int fmtsize, state;
int i;
- register char *nfs;
- char *line, tmpfil[BUFSIZ], name[NAMESZ], **ap;
+ char *nfs;
+ char tmpfil[BUFSIZ], name[NAMESZ], **ap;
+ charstring_t line;
FILE *tmp;
- register struct comp *cptr;
+ struct comp *cptr;
struct format *fmt;
char *cp = NULL;
m_getfld_state_t gstate = 0;
if ((in = dup (fileno (tmp))) == NOTOK)
adios ("dup", "unable to");
- line = mh_xmalloc ((unsigned) fmtsize);
- fmt_scan (fmt, line, fmtsize - 1, fmtsize, dat, NULL);
- fputs (line, tmp);
- free (line);
+ line = charstring_create (fmtsize);
+ fmt_scan (fmt, line, fmtsize, dat, NULL);
+ fputs (charstring_buffer (line), tmp);
+ charstring_free (line);
if (fclose (tmp))
adios (tmpfil, "error writing");