char name[NAMESZ], field[NMH_BUFSIZ];
struct pair *p, *q;
FILE *in;
- m_getfld_state_t gstate = 0;
+ m_getfld_state_t gstate;
if (parsed++)
return 0;
* Scan the headers of the message and build
* a lookup table.
*/
+ gstate = m_getfld_state_init(in);
for (i = 0;;) {
int fieldsz = sizeof field;
- switch (state = m_getfld (&gstate, name, field, &fieldsz, in)) {
+ switch (state = m_getfld2(&gstate, name, field, &fieldsz)) {
case FLD:
case FLDPLUS:
lp = mh_xstrdup(field);
while (state == FLDPLUS) {
fieldsz = sizeof field;
- state = m_getfld (&gstate, name, field, &fieldsz, in);
+ state = m_getfld2(&gstate, name, field, &fieldsz);
lp = add (field, lp);
}
for (p = hdrs; p->p_name; p++) {
break;
default:
- inform("internal error in m_getfld");
+ inform("internal error in m_getfld2");
fclose (in);
return -1;
}
return -1;
}
- lseek (fd, (off_t) 0, SEEK_SET);
+ lseek(fd, 0, SEEK_SET);
/* append message to file */
if (mbx_copy (mailbox, mbx_style, md, fd, NULL) == -1) {
if (verbose && !suppress)
verbose_printf ("delivering to pipe \"%s\"", cmd);
- lseek (fd, (off_t) 0, SEEK_SET);
+ lseek(fd, 0, SEEK_SET);
for (i = 0; (child_id = fork()) == -1 && i < 5; i++)
sleep (5);
if (verbose) {
if (status == 0)
verbose_printf (", success.\n");
- else
- if ((status & 0xff00) == 0xff00)
- verbose_printf (", system error\n");
- else
- pidstatus (status, stdout, ", failed");
+ else if ((status & 0xff00) == 0xff00)
+ verbose_printf (", system error\n");
+ else
+ pidstatus (status, stdout, ", failed");
}
return (status == 0 ? 0 : -1);
}
}
if (i == -1)
goto you_lose;
- lseek (fd1, (off_t) 0, SEEK_SET);
+ lseek(fd1, 0, SEEK_SET);
return fd1;
}
return -1;
}
fclose (qfp);
- lseek (fd1, (off_t) 0, SEEK_SET);
+ lseek(fd1, 0, SEEK_SET);
return fd1;
datum key, value;
DBM *db;
FILE *in;
- m_getfld_state_t gstate = 0;
+ m_getfld_state_t gstate;
if ((fd1 = dup (fd)) == -1)
return -1;
}
rewind (in);
+ gstate = m_getfld_state_init(in);
for (;;) {
int failed_to_lock = 0;
int bufsz = sizeof buf;
- state = m_getfld (&gstate, name, buf, &bufsz, in);
+ state = m_getfld2(&gstate, name, buf, &bufsz);
switch (state) {
case FLD:
case FLDPLUS:
if (strcasecmp (name, "Message-ID")) {
while (state == FLDPLUS) {
bufsz = sizeof buf;
- state = m_getfld (&gstate, name, buf, &bufsz, in);
+ state = m_getfld2(&gstate, name, buf, &bufsz);
}
continue;
}
cp = mh_xstrdup(buf);
while (state == FLDPLUS) {
bufsz = sizeof buf;
- state = m_getfld (&gstate, name, buf, &bufsz, in);
+ state = m_getfld2(&gstate, name, buf, &bufsz);
cp = add (buf, cp);
}
key.dptr = trimcpy (cp);