X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/f2753d64be0a74a22018e03ec9c04cc9ca45d3ab..63621a81d16ab743de6b57d47578a9a2c670ad22:/uip/rcvdist.c diff --git a/uip/rcvdist.c b/uip/rcvdist.c index 1ad585d2..a75e21ac 100644 --- a/uip/rcvdist.c +++ b/uip/rcvdist.c @@ -11,7 +11,7 @@ #include #include #include -#include "../sbr/m_mktemp.h" +#include "sbr/m_mktemp.h" #define RCVDIST_SWITCHES \ X("form formfile", 4, FORMSW) \ @@ -41,7 +41,7 @@ int main (int argc, char **argv) { pid_t child_id; - int i, vecp; + int vecp; char *addrs = NULL, *cp, *form = NULL, buf[BUFSIZ], *program; char **argp, **arguments, **vec; FILE *fp; @@ -124,8 +124,7 @@ main (int argc, char **argv) vec[vecp++] = drft; vec[vecp] = NULL; - for (i = 0; (child_id = fork()) == NOTOK && i < 5; i++) - sleep (5); + child_id = fork(); switch (child_id) { case NOTOK: inform("unable to fork, continuing..."); @@ -177,7 +176,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"); @@ -197,9 +196,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); @@ -207,7 +207,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; } @@ -215,7 +215,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; @@ -226,7 +226,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: ;