X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Frcvdist.c;h=338455f931bfcd32ec74fc9e27df1d2e007b42b5;hp=24cf48b718a5b99b00e99e4da2cba23b6cdddffc;hb=33dc8211a72df0c27fa11220f3b27583cd1c7e49;hpb=240013872c392fe644bd4f79382d9f5314b4ea60 diff --git a/uip/rcvdist.c b/uip/rcvdist.c index 24cf48b..338455f 100644 --- a/uip/rcvdist.c +++ b/uip/rcvdist.c @@ -10,7 +10,6 @@ #include #include #include -#include #include static struct swit switches[] = { @@ -54,32 +53,32 @@ main(int argc, char **argv) /* read user profile/context */ context_read(); - mts_init(invo_name); arguments = getarguments(invo_name, argc, argv, 1); argp = arguments; while ((cp = *argp++)) { if (*cp == '-') { switch (smatch(++cp, switches)) { - case AMBIGSW: - ambigsw(cp, switches); - done(1); - case UNKWNSW: - vec[vecp++] = --cp; - continue; - - case HELPSW: - snprintf(buf, sizeof(buf), "%s [switches] [switches for postproc] address ...", invo_name); - print_help(buf, switches, 1); - done(1); - case VERSIONSW: - print_version(invo_name); - done(1); - - case FORMSW: - if (!(form = *argp++) || *form == '-') - adios(NULL, "missing argument to %s", argp[-2]); - continue; + case AMBIGSW: + ambigsw(cp, switches); + done(1); + case UNKWNSW: + vec[vecp++] = --cp; + continue; + + case HELPSW: + snprintf(buf, sizeof(buf), "%s [switches] [switches for postproc] address ...", invo_name); + print_help(buf, switches, 1); + done(1); + case VERSIONSW: + print_version(invo_name); + done(1); + + case FORMSW: + if (!(form = *argp++) || *form == '-') + adios(NULL, "missing argument to %s", + argp[-2]); + continue; } } addrs = addrs ? add(cp, add(", ", addrs)) : getcpy(cp); @@ -115,16 +114,16 @@ main(int argc, char **argv) for (i = 0; (child_id = fork()) == NOTOK && i < 5; i++) sleep(5); switch (child_id) { - case NOTOK: - admonish(NULL, "unable to fork");/* fall */ - case OK: - execvp(postproc, vec); - fprintf(stderr, "unable to exec "); - perror(postproc); - _exit(1); - - default: - done(pidXwait(child_id, postproc)); + case NOTOK: + admonish(NULL, "unable to fork");/* fall */ + case OK: + execvp(postproc, vec); + fprintf(stderr, "unable to exec "); + perror(postproc); + _exit(1); + + default: + done(pidXwait(child_id, postproc)); } return 0; /* dead code to satisfy the compiler */ @@ -134,8 +133,6 @@ main(int argc, char **argv) #define SBUFSIZ 256 -static int outputlinelen = OUTPUTLINELEN; - static struct format *fmt; static int ncomps = 0; @@ -204,48 +201,48 @@ rcvdistout(FILE *inb, char *form, char *addrs) for (state = FLD;;) { switch (state = m_getfld(state, name, tmpbuf, SBUFSIZ, inb)) { - case FLD: - case FLDPLUS: - if ((cptr = wantcomp[CHASH(name)])) - do { - if (!mh_strcasecmp(name, cptr->c_name)) { - char_read += msg_count; - if (!cptr->c_text) { - cptr->c_text = tmpbuf; - *--savecomp = cptr; - tmpbuf = *nxtbuf++; - } else { - i = strlen(cp = cptr->c_text) - 1; - if (cp[i] == '\n') { - if (cptr->c_type & CT_ADDR) { - cp[i] = 0; - cp = add(",\n\t", cp); - } else - cp = add("\t", cp); - } - cptr->c_text = add(tmpbuf, cp); + case FLD: + case FLDPLUS: + if ((cptr = wantcomp[CHASH(name)])) + do { + if (!mh_strcasecmp(name, cptr->c_name)) { + char_read += msg_count; + if (!cptr->c_text) { + cptr->c_text = tmpbuf; + *--savecomp = cptr; + tmpbuf = *nxtbuf++; + } else { + i = strlen(cp = cptr->c_text) - 1; + if (cp[i] == '\n') { + if (cptr->c_type & CT_ADDR) { + cp[i] = 0; + cp = add(",\n\t", cp); + } else + cp = add("\t", cp); } - while (state == FLDPLUS) { - state = m_getfld(state, name, tmpbuf, SBUFSIZ, inb); - cptr->c_text = add(tmpbuf, cptr->c_text); - char_read += msg_count; - } - break; + cptr->c_text = add(tmpbuf, cp); + } + while (state == FLDPLUS) { + state = m_getfld(state, name, tmpbuf, SBUFSIZ, inb); + cptr->c_text = add(tmpbuf, cptr->c_text); + char_read += msg_count; } - } while ((cptr = cptr->c_next)); + break; + } + } while ((cptr = cptr->c_next)); - while (state == FLDPLUS) - state = m_getfld(state, name, tmpbuf, SBUFSIZ, inb); - break; + while (state == FLDPLUS) + state = m_getfld(state, name, tmpbuf, SBUFSIZ, inb); + break; - case LENERR: - case FMTERR: - case BODY: - case FILEEOF: - goto finished; + case LENERR: + case FMTERR: + case BODY: + case FILEEOF: + goto finished; - default: - adios(NULL, "m_getfld() returned %d", state); + default: + adios(NULL, "m_getfld() returned %d", state); } } finished: ; @@ -253,7 +250,7 @@ finished: ; i = format_len + char_read + 256; scanl = mh_xmalloc((size_t) i + 2); dat[0] = dat[1] = dat[2] = dat[4] = 0; - dat[3] = outputlinelen; + dat[3] = OUTPUTLINELEN; fmt_scan(fmt, scanl, i, dat); fputs(scanl, out);