X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/28ec221002d755d33c41fa4b5d9673eee0abef9d..ecd50cc5f6c2a427e821483993678b78c94ffdfd:/uip/rcvdist.c?ds=sidebyside diff --git a/uip/rcvdist.c b/uip/rcvdist.c index 3707e8b5..a123f8e9 100644 --- a/uip/rcvdist.c +++ b/uip/rcvdist.c @@ -11,6 +11,7 @@ #include #include #include +#include "../sbr/m_mktemp.h" #define RCVDIST_SWITCHES \ X("form formfile", 4, FORMSW) \ @@ -176,7 +177,7 @@ rcvdistout (FILE *inb, char *form, char *addrs) charstring_t scanl; struct comp *cptr; FILE *out; - m_getfld_state_t gstate = 0; + m_getfld_state_t gstate; if (!(out = fopen (drft, "w"))) adios (drft, "unable to create"); @@ -196,9 +197,10 @@ rcvdistout (FILE *inb, char *form, char *addrs) if (cptr) cptr->c_text = addrs; + gstate = m_getfld_state_init(inb); for (;;) { int msg_count = sizeof tmpbuf; - switch (state = m_getfld (&gstate, name, tmpbuf, &msg_count, inb)) { + switch (state = m_getfld2(&gstate, name, tmpbuf, &msg_count)) { case FLD: case FLDPLUS: i = fmt_addcomptext(name, tmpbuf); @@ -206,7 +208,7 @@ rcvdistout (FILE *inb, char *form, char *addrs) char_read += msg_count; while (state == FLDPLUS) { msg_count = sizeof tmpbuf; - state = m_getfld (&gstate, name, tmpbuf, &msg_count, inb); + state = m_getfld2(&gstate, name, tmpbuf, &msg_count); fmt_appendcomp(i, name, tmpbuf); char_read += msg_count; } @@ -214,7 +216,7 @@ rcvdistout (FILE *inb, char *form, char *addrs) while (state == FLDPLUS) { msg_count = sizeof tmpbuf; - state = m_getfld (&gstate, name, tmpbuf, &msg_count, inb); + state = m_getfld2(&gstate, name, tmpbuf, &msg_count); } break; @@ -225,7 +227,7 @@ rcvdistout (FILE *inb, char *form, char *addrs) goto finished; default: - adios (NULL, "m_getfld() returned %d", state); + adios (NULL, "m_getfld2() returned %d", state); } } finished: ;