X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/f2753d64be0a74a22018e03ec9c04cc9ca45d3ab..0b7286788a95dd854d1826b8493eda431d8e8aac:/uip/forwsbr.c diff --git a/uip/forwsbr.c b/uip/forwsbr.c index a412d9a4..6978d183 100644 --- a/uip/forwsbr.c +++ b/uip/forwsbr.c @@ -5,12 +5,14 @@ * complete copyright information. */ -#include +#include "h/mh.h" +#include "sbr/error.h" #include -#include -#include -#include -#include "../sbr/m_mktemp.h" +#include "h/fmt_scan.h" +#include "h/tws.h" +#include "h/utils.h" +#include "sbr/m_mktemp.h" +#include "forwsbr.h" /* * Take from replsbr.c - a buffer big enough to read in data header lines @@ -18,7 +20,7 @@ */ static char msgbuf[NMH_BUFSIZ]; -#define COMPFREE(c) mh_xfree(c->c_text) +#define COMPFREE(c) free(c->c_text) /* * A list of components we treat as addresses @@ -54,7 +56,7 @@ build_form (char *form, char *digest, int *dat, char *from, char *to, struct comp *cptr; struct format *fmt; char *cp = NULL; - m_getfld_state_t gstate = 0; + m_getfld_state_t gstate; /* * Open the message we'll be scanning for components @@ -87,9 +89,10 @@ build_form (char *form, char *digest, int *dat, char *from, char *to, * these routines? */ + gstate = m_getfld_state_init(tmp); for (;;) { int msg_count = sizeof msgbuf; - state = m_getfld (&gstate, name, msgbuf, &msg_count, tmp); + state = m_getfld2(&gstate, name, msgbuf, &msg_count); switch (state) { case FLD: case FLDPLUS: @@ -103,13 +106,13 @@ build_form (char *form, char *digest, int *dat, char *from, char *to, if (i != -1) { while (state == FLDPLUS) { msg_count = sizeof msgbuf; - state = m_getfld (&gstate, name, msgbuf, &msg_count, tmp); + state = m_getfld2(&gstate, name, msgbuf, &msg_count); fmt_appendcomp(i, name, msgbuf); } } while (state == FLDPLUS) { msg_count = sizeof msgbuf; - state = m_getfld (&gstate, name, msgbuf, &msg_count, tmp); + state = m_getfld2(&gstate, name, msgbuf, &msg_count); } break; @@ -120,7 +123,7 @@ build_form (char *form, char *digest, int *dat, char *from, char *to, goto finished; default: - adios(NULL, "m_getfld() returned %d", state); + die("m_getfld2() returned %d", state); } } @@ -175,7 +178,7 @@ finished: cp = m_mktemp2(NULL, invo_name, NULL, &tmp); if (cp == NULL) { - adios(NULL, "unable to create temporary file in %s", get_temp_dir()); + die("unable to create temporary file in %s", get_temp_dir()); } strncpy (tmpfil, cp, sizeof(tmpfil)); (void) m_unlink (tmpfil); @@ -189,7 +192,7 @@ finished: if (fclose (tmp)) adios (tmpfil, "error writing"); - lseek (in, (off_t) 0, SEEK_SET); + lseek(in, 0, SEEK_SET); /* * Free any component buffers that we allocated