instance as needed. Callers no longer use
m_getfld_state_init().
27 files changed:
int m_convert (struct msgs *, char *);
char *m_draft (char *, char *, int, int *);
void m_eomsbr (m_getfld_state_t, int (*)(int));
int m_convert (struct msgs *, char *);
char *m_draft (char *, char *, int, int *);
void m_eomsbr (m_getfld_state_t, int (*)(int));
-void m_getfld_state_init (m_getfld_state_t *);
void m_getfld_state_reset (m_getfld_state_t *);
void m_getfld_state_destroy (m_getfld_state_t *);
void m_getfld_state_reset (m_getfld_state_t *);
void m_getfld_state_destroy (m_getfld_state_t *);
-int m_getfld (m_getfld_state_t, unsigned char[NAMESZ], unsigned char *, int *, FILE *);
+int m_getfld (m_getfld_state_t *, unsigned char[NAMESZ], unsigned char *, int *, FILE *);
int m_gmprot (void);
char *m_maildir (char *);
char *m_mailpath (char *);
int m_gmprot (void);
char *m_maildir (char *);
char *m_mailpath (char *);
int m_rand (unsigned char *, size_t);
char *m_mktemp(const char *, int *, FILE **);
char *m_mktemp2(const char *, const char *, int *, FILE **);
int m_rand (unsigned char *, size_t);
char *m_mktemp(const char *, int *, FILE **);
char *m_mktemp2(const char *, const char *, int *, FILE **);
-void m_unknown(m_getfld_state_t, FILE *);
+void m_unknown(m_getfld_state_t *, FILE *);
int makedir (char *);
char *message_id (time_t, int);
char *nmh_getpass(const char *);
int makedir (char *);
char *message_id (time_t, int);
char *nmh_getpass(const char *);
- m_getfld_state_t gstate;
- m_getfld_state_init (&gstate);
- int state = m_getfld (gstate, ...);
+ m_getfld_state_t gstate = 0;
+ ...
+ int state = m_getfld (&gstate, ...);
...
m_getfld_state_destroy (&gstate);
...
m_getfld_state_destroy (&gstate);
-m_getfld_state_init (m_getfld_state_t *s) {
- *s = (m_getfld_state_t) mh_xmalloc(sizeof (struct m_getfld_state));
- (*s)->readpos = (*s)->end = (*s)->msg_buf;
- (*s)->bytes_read = (*s)->total_bytes_read = 0;
- (*s)->last_caller_pos = (*s)->last_internal_pos = 0;
- /* (*s)->iob gets loaded on every call to m_getfld()/m_unknown(). */
- (*s)->pat_map = NULL;
- (*s)->msg_style = MS_DEFAULT;
- (*s)->msg_delim = "";
- (*s)->fdelim = (*s)->delimend = (*s)->edelim = NULL;
- (*s)->fdelimlen = (*s)->edelimlen = 0;
- (*s)->eom_action = NULL;
- (*s)->state = FLD;
+m_getfld_state_init (m_getfld_state_t *gstate) {
+ m_getfld_state_t s;
+
+ s = *gstate = (m_getfld_state_t) mh_xmalloc(sizeof (struct m_getfld_state));
+ s->readpos = s->end = s->msg_buf;
+ s->bytes_read = s->total_bytes_read = 0;
+ s->last_caller_pos = s->last_internal_pos = 0;
+ /* s->iob gets loaded on every call to m_getfld()/m_unknown(). */
+ s->pat_map = NULL;
+ s->msg_style = MS_DEFAULT;
+ s->msg_delim = "";
+ s->fdelim = s->delimend = s->edelim = NULL;
+ s->fdelimlen = s->edelimlen = 0;
+ s->eom_action = NULL;
+ s->state = FLD;
}
/* scan() needs to force a state an initial state of FLD for each message. */
void
}
/* scan() needs to force a state an initial state of FLD for each message. */
void
-m_getfld_state_reset (m_getfld_state_t *s) {
- (*s)->state = FLD;
+m_getfld_state_reset (m_getfld_state_t *gstate) {
+ if (! *gstate) {
+ m_getfld_state_init (gstate);
+ }
+
+ (*gstate)->state = FLD;
-void m_getfld_state_destroy (m_getfld_state_t *s) {
- if (*s) {
- if ((*s)->fdelim) free ((*s)->fdelim-1);
- free (*s);
- *s = 0;
+void m_getfld_state_destroy (m_getfld_state_t *gstate) {
+ m_getfld_state_t s = *gstate;
+
+ if (s) {
+ if (s->fdelim) free (s->fdelim-1);
+ free (s);
+ *gstate = 0;
-enter_getfld (m_getfld_state_t s, FILE *iob) {
+enter_getfld (m_getfld_state_t *gstate, FILE *iob) {
+ m_getfld_state_t s;
off_t pos = ftello (iob);
off_t pos = ftello (iob);
- /* Ugly. The parser opens the input file multiple times, so we
- have to always use the FILE * that's passed to m_getfld().
- Though this might not be necessary any more, as long as the
- parser inits a new m_getfld_state for each file. See comment
- below about the readpos shift code being currently unused. */
+ if (! *gstate) {
+ m_getfld_state_init (gstate);
+ }
+ s = *gstate;
+ s->bytes_read = 0;
+
+ /* Ugly. The parser (used to) open the input file multiple times,
+ so we have to always use the FILE * that's passed to
+ m_getfld(). Though this might not be necessary any more, as
+ long as the parser inits a new m_getfld_state for each file.
+ See comment below about the readpos shift code being currently
+ unused. */
s->iob = iob;
if (pos != 0 || s->last_internal_pos != 0) {
s->iob = iob;
if (pos != 0 || s->last_internal_pos != 0) {
fseeko (iob, pos, SEEK_SET);
}
}
fseeko (iob, pos, SEEK_SET);
}
}
-m_getfld (m_getfld_state_t s, unsigned char name[NAMESZ], unsigned char *buf,
- int *bufsz, FILE *iob)
+m_getfld (m_getfld_state_t *gstate, unsigned char name[NAMESZ],
+ unsigned char *buf, int *bufsz, FILE *iob)
register unsigned char *cp;
register int max, n, c;
register unsigned char *cp;
register int max, n, c;
+ enter_getfld (gstate, iob);
+ s = *gstate;
if ((c = Getc(s)) < 0) {
*bufsz = *buf = 0;
if ((c = Getc(s)) < 0) {
*bufsz = *buf = 0;
-m_unknown(m_getfld_state_t s, FILE *iob)
+m_unknown(m_getfld_state_t *gstate, FILE *iob)
register int c;
char text[MAX_DELIMITER_SIZE];
char from[] = "From ";
register int c;
char text[MAX_DELIMITER_SIZE];
char from[] = "From ";
register char *delimstr;
unsigned int i;
register char *delimstr;
unsigned int i;
+ enter_getfld (gstate, iob);
+ s = *gstate;
/*
* Figure out what the message delimitter string is for this
/*
* Figure out what the message delimitter string is for this
char name[NAMESZ], field[BUFSIZ];
register struct node *np;
register struct procstr *ps;
char name[NAMESZ], field[BUFSIZ];
register struct node *np;
register struct procstr *ps;
- m_getfld_state_t gstate;
+ m_getfld_state_t gstate = 0;
if (npp == NULL && (npp = opp) == NULL) {
admonish (NULL, "bug: readconfig called but pump not primed");
return;
}
if (npp == NULL && (npp = opp) == NULL) {
admonish (NULL, "bug: readconfig called but pump not primed");
return;
}
- m_getfld_state_init (&gstate);
for (;;) {
int fieldsz = sizeof field;
for (;;) {
int fieldsz = sizeof field;
- switch (state = m_getfld (gstate, name, field, &fieldsz, ib)) {
+ switch (state = m_getfld (&gstate, name, field, &fieldsz, ib)) {
case FLD:
case FLDPLUS:
np = (struct node *) mh_xmalloc (sizeof(*np));
case FLD:
case FLDPLUS:
np = (struct node *) mh_xmalloc (sizeof(*np));
cp = getcpy (field);
while (state == FLDPLUS) {
fieldsz = sizeof field;
cp = getcpy (field);
while (state == FLDPLUS) {
fieldsz = sizeof field;
- state = m_getfld (gstate, name, field, &fieldsz, ib);
+ state = m_getfld (&gstate, name, field, &fieldsz, ib);
cp = add (field, cp);
}
np->n_field = trimcpy (cp);
cp = add (field, cp);
}
np->n_field = trimcpy (cp);
char *cp, seqfile[PATH_MAX];
char name[NAMESZ], field[BUFSIZ];
FILE *fp;
char *cp, seqfile[PATH_MAX];
char name[NAMESZ], field[BUFSIZ];
FILE *fp;
- m_getfld_state_t gstate;
+ m_getfld_state_t gstate = 0;
/*
* If mh_seq == NULL (such as if nmh been compiled with
/*
* If mh_seq == NULL (such as if nmh been compiled with
return;
/* Use m_getfld to scan sequence file */
return;
/* Use m_getfld to scan sequence file */
- m_getfld_state_init (&gstate);
for (;;) {
int fieldsz = sizeof field;
for (;;) {
int fieldsz = sizeof field;
- switch (state = m_getfld (gstate, name, field, &fieldsz, fp)) {
+ switch (state = m_getfld (&gstate, name, field, &fieldsz, fp)) {
case FLD:
case FLDPLUS:
if (state == FLDPLUS) {
cp = getcpy (field);
while (state == FLDPLUS) {
fieldsz = sizeof field;
case FLD:
case FLDPLUS:
if (state == FLDPLUS) {
cp = getcpy (field);
while (state == FLDPLUS) {
fieldsz = sizeof field;
- state = m_getfld (gstate, name, field, &fieldsz, fp);
+ state = m_getfld (&gstate, name, field, &fieldsz, fp);
cp = add (field, cp);
}
seq_init (mp, getcpy (name), trimcpy (cp));
cp = add (field, cp);
}
seq_init (mp, getcpy (name), trimcpy (cp));
register char *resent;
char name[NAMESZ], buffer[BUFSIZ];
register FILE *ifp, *ofp;
register char *resent;
char name[NAMESZ], buffer[BUFSIZ];
register FILE *ifp, *ofp;
- m_getfld_state_t gstate;
+ m_getfld_state_t gstate = 0;
if (rename (drft, strcpy (backup, m_backup (drft))) == NOTOK)
adios (backup, "unable to rename %s to",drft);
if (rename (drft, strcpy (backup, m_backup (drft))) == NOTOK)
adios (backup, "unable to rename %s to",drft);
lseek (hdrfd, (off_t) 0, SEEK_SET); /* msgnam not accurate */
cpydata (hdrfd, fileno (ofp), msgnam, drft);
lseek (hdrfd, (off_t) 0, SEEK_SET); /* msgnam not accurate */
cpydata (hdrfd, fileno (ofp), msgnam, drft);
- m_getfld_state_init (&gstate);
for (resent = NULL;;) {
int buffersz = sizeof buffer;
for (resent = NULL;;) {
int buffersz = sizeof buffer;
- switch (state = m_getfld (gstate, name, buffer, &buffersz, ifp)) {
+ switch (state = m_getfld (&gstate, name, buffer, &buffersz, ifp)) {
case FLD:
case FLDPLUS:
if (uprf (name, "distribute-"))
case FLD:
case FLDPLUS:
if (uprf (name, "distribute-"))
fprintf (ofp, "%s: %s", name, buffer);
while (state == FLDPLUS) {
buffersz = sizeof buffer;
fprintf (ofp, "%s: %s", name, buffer);
while (state == FLDPLUS) {
buffersz = sizeof buffer;
- state = m_getfld (gstate, name, buffer, &buffersz, ifp);
+ state = m_getfld (&gstate, name, buffer, &buffersz, ifp);
resent = add (buffer, resent);
fputs (buffer, ofp);
}
resent = add (buffer, resent);
fputs (buffer, ofp);
}
char name[NAMESZ], buffer[BUFSIZ], tmpfil[BUFSIZ];
register FILE *ifp, *ofp;
char *cp = NULL;
char name[NAMESZ], buffer[BUFSIZ], tmpfil[BUFSIZ];
register FILE *ifp, *ofp;
char *cp = NULL;
- m_getfld_state_t gstate;
+ m_getfld_state_t gstate = 0;
if (hdrfd != NOTOK)
close (hdrfd), hdrfd = NOTOK;
if (hdrfd != NOTOK)
close (hdrfd), hdrfd = NOTOK;
adios (NULL, "no file descriptors -- you lose big");
unlink (tmpfil);
adios (NULL, "no file descriptors -- you lose big");
unlink (tmpfil);
- m_getfld_state_init (&gstate);
for (;;) {
int buffersz = sizeof buffer;
for (;;) {
int buffersz = sizeof buffer;
- switch (state = m_getfld (gstate, name, buffer, &buffersz, ifp)) {
+ switch (state = m_getfld (&gstate, name, buffer, &buffersz, ifp)) {
case FLD:
case FLDPLUS:
if (uprf (name, "resent"))
case FLD:
case FLDPLUS:
if (uprf (name, "resent"))
fprintf (ofp, "%s: %s", name, buffer);
while (state == FLDPLUS) {
buffersz = sizeof buffer;
fprintf (ofp, "%s: %s", name, buffer);
while (state == FLDPLUS) {
buffersz = sizeof buffer;
- state = m_getfld (gstate, name, buffer, &buffersz, ifp);
+ state = m_getfld (&gstate, name, buffer, &buffersz, ifp);
fputs (buffer, ofp);
}
break;
fputs (buffer, ofp);
}
break;
fprintf (ofp, "\n%s", buffer);
while (state == BODY) {
buffersz = sizeof buffer;
fprintf (ofp, "\n%s", buffer);
while (state == BODY) {
buffersz = sizeof buffer;
- state = m_getfld (gstate, name, buffer, &buffersz, ifp);
+ state = m_getfld (&gstate, name, buffer, &buffersz, ifp);
fputs (buffer, ofp);
}
case FILEEOF:
fputs (buffer, ofp);
}
case FILEEOF:
register struct comp *cptr;
struct format *fmt;
char *cp = NULL;
register struct comp *cptr;
struct format *fmt;
char *cp = NULL;
- m_getfld_state_t gstate;
+ m_getfld_state_t gstate = 0;
/*
* Open the message we'll be scanning for components
/*
* Open the message we'll be scanning for components
- m_getfld_state_init (&gstate);
for (;;) {
int msg_count = sizeof msgbuf;
for (;;) {
int msg_count = sizeof msgbuf;
- state = m_getfld (gstate, name, msgbuf, &msg_count, tmp);
+ state = m_getfld (&gstate, name, msgbuf, &msg_count, tmp);
switch (state) {
case FLD:
case FLDPLUS:
switch (state) {
case FLD:
case FLDPLUS:
if (i != -1) {
while (state == FLDPLUS) {
msg_count = sizeof msgbuf;
if (i != -1) {
while (state == FLDPLUS) {
msg_count = sizeof msgbuf;
- state = m_getfld (gstate, name, msgbuf, &msg_count, tmp);
+ state = m_getfld (&gstate, name, msgbuf, &msg_count, tmp);
fmt_appendcomp(i, name, msgbuf);
}
}
while (state == FLDPLUS)
msg_count = sizeof msgbuf;
fmt_appendcomp(i, name, msgbuf);
}
}
while (state == FLDPLUS)
msg_count = sizeof msgbuf;
- state = m_getfld (gstate, name, msgbuf, &msg_count, tmp);
+ state = m_getfld (&gstate, name, msgbuf, &msg_count, tmp);
# define SASLminc(a) 0
#endif
# define SASLminc(a) 0
#endif
-extern m_getfld_state_t gstate;
-
static struct swit switches[] = {
#define AUDSW 0
{ "audit audit-file", 0 },
static struct swit switches[] = {
#define AUDSW 0
{ "audit audit-file", 0 },
*/
char *map_name(char *);
*/
char *map_name(char *);
+extern m_getfld_state_t gstate;
+
static void inc_done(int) NORETURN;
static int pop_action(char *);
static int pop_pack(char *);
static void inc_done(int) NORETURN;
static int pop_action(char *);
static int pop_pack(char *);
- m_getfld_state_init (&gstate);
/*
* Get the mail from a POP server
/*
* Get the mail from a POP server
* Get the mail from file (usually mail spool)
*/
if (inc_type == INC_FILE && Maildir == NULL) {
* Get the mail from file (usually mail spool)
*/
if (inc_type == INC_FILE && Maildir == NULL) {
- m_unknown (gstate, in); /* the MAGIC invocation... */
+ m_unknown (&gstate, in); /* the MAGIC invocation... */
hghnum = msgnum = mp->hghmsg;
for (;;) {
/*
hghnum = msgnum = mp->hghmsg;
for (;;) {
/*
struct part **pp;
CT ct;
FILE *in;
struct part **pp;
CT ct;
FILE *in;
- m_getfld_state_t gstate;
+ m_getfld_state_t gstate = 0;
directive_init(directives);
directive_init(directives);
* draft into the linked list of header fields for
* the new MIME message.
*/
* draft into the linked list of header fields for
* the new MIME message.
*/
- m_getfld_state_init (&gstate);
for (compnum = 1;;) {
int bufsz = sizeof buf;
for (compnum = 1;;) {
int bufsz = sizeof buf;
- switch (state = m_getfld (gstate, name, buf, &bufsz, in)) {
+ switch (state = m_getfld (&gstate, name, buf, &bufsz, in)) {
case FLD:
case FLDPLUS:
compnum++;
case FLD:
case FLDPLUS:
compnum++;
if (!mh_strcasecmp (name, TYPE_FIELD)) {
while (state == FLDPLUS) {
bufsz = sizeof buf;
if (!mh_strcasecmp (name, TYPE_FIELD)) {
while (state == FLDPLUS) {
bufsz = sizeof buf;
- state = m_getfld (gstate, name, buf, &bufsz, in);
+ state = m_getfld (&gstate, name, buf, &bufsz, in);
/* if necessary, get rest of field */
while (state == FLDPLUS) {
bufsz = sizeof buf;
/* if necessary, get rest of field */
while (state == FLDPLUS) {
bufsz = sizeof buf;
- state = m_getfld (gstate, name, buf, &bufsz, in);
+ state = m_getfld (&gstate, name, buf, &bufsz, in);
vp = add (buf, vp); /* add to previous value */
}
vp = add (buf, vp); /* add to previous value */
}
int state;
char buf[BUFSIZ], name[NAMESZ];
FILE *fp;
int state;
char buf[BUFSIZ], name[NAMESZ];
FILE *fp;
- m_getfld_state_t gstate;
+ m_getfld_state_t gstate = 0;
if (!(fp = lkfopen (mapfile, "r")))
return NOTOK;
if (!(fp = lkfopen (mapfile, "r")))
return NOTOK;
- m_getfld_state_init (&gstate);
for (;;) {
int result;
char *cp, *dp;
int bufsz = sizeof buf;
for (;;) {
int result;
char *cp, *dp;
int bufsz = sizeof buf;
- switch (state = m_getfld (gstate, name, buf, &bufsz, fp)) {
+ switch (state = m_getfld (&gstate, name, buf, &bufsz, fp)) {
case FLD:
case FLDPLUS:
strncpy (mapname, name, namelen);
case FLD:
case FLDPLUS:
strncpy (mapname, name, namelen);
cp = add (buf, NULL);
while (state == FLDPLUS) {
bufsz = sizeof buf;
cp = add (buf, NULL);
while (state == FLDPLUS) {
bufsz = sizeof buf;
- state = m_getfld (gstate, name, buf, &bufsz, fp);
+ state = m_getfld (&gstate, name, buf, &bufsz, fp);
int state, bucket;
struct mcomp *c1, *c2, *c3;
char **ip, name[NAMESZ], buf[BUFSIZ];
int state, bucket;
struct mcomp *c1, *c2, *c3;
char **ip, name[NAMESZ], buf[BUFSIZ];
- m_getfld_state_t gstate;
+ m_getfld_state_t gstate = 0;
- m_getfld_state_init (&gstate);
for (;;) {
int bufsz = sizeof buf;
for (;;) {
int bufsz = sizeof buf;
- switch (state = m_getfld (gstate, name, buf, &bufsz, fp)) {
+ switch (state = m_getfld (&gstate, name, buf, &bufsz, fp)) {
case FLD:
case FLDPLUS:
bucket = fmt_addcomptext(name, buf);
case FLD:
case FLDPLUS:
bucket = fmt_addcomptext(name, buf);
if (!mh_strcasecmp (name, *ip)) {
while (state == FLDPLUS) {
bufsz = sizeof buf;
if (!mh_strcasecmp (name, *ip)) {
while (state == FLDPLUS) {
bufsz = sizeof buf;
- state = m_getfld (gstate, name, buf, &bufsz, fp);
+ state = m_getfld (&gstate, name, buf, &bufsz, fp);
fmt_appendcomp(bucket, name, buf);
}
break;
fmt_appendcomp(bucket, name, buf);
}
break;
c1 = add_queue (&msghd, &msgtl, name, buf, 0);
while (state == FLDPLUS) {
bufsz = sizeof buf;
c1 = add_queue (&msghd, &msgtl, name, buf, 0);
while (state == FLDPLUS) {
bufsz = sizeof buf;
- state = m_getfld (gstate, name, buf, &bufsz, fp);
+ state = m_getfld (&gstate, name, buf, &bufsz, fp);
c1->c_text = add (buf, c1->c_text);
fmt_appendcomp(bucket, name, buf);
}
c1->c_text = add (buf, c1->c_text);
fmt_appendcomp(bucket, name, buf);
}
while (state == BODY) {
putcomp (c1, &holder, BODYCOMP);
bufsz = sizeof buf;
while (state == BODY) {
putcomp (c1, &holder, BODYCOMP);
bufsz = sizeof buf;
- state = m_getfld (gstate, name, holder.c_text,
+ state = m_getfld (&gstate, name, holder.c_text,
&bufsz, fp);
}
free (holder.c_text);
&bufsz, fp);
}
free (holder.c_text);
while (state == BODY) {
int bufsz2 = bufsz;
write(fdinput[1], buf, strlen(buf));
while (state == BODY) {
int bufsz2 = bufsz;
write(fdinput[1], buf, strlen(buf));
- state = m_getfld (gstate, name, buf, &bufsz2, fp);
+ state = m_getfld (&gstate, name, buf, &bufsz2, fp);
char *np, *vp;
CT ct;
HF hp;
char *np, *vp;
CT ct;
HF hp;
- m_getfld_state_t gstate;
+ m_getfld_state_t gstate = 0;
/* allocate the content structure */
if (!(ct = (CT) calloc (1, sizeof(*ct))))
/* allocate the content structure */
if (!(ct = (CT) calloc (1, sizeof(*ct))))
* Parse the header fields for this
* content into a linked list.
*/
* Parse the header fields for this
* content into a linked list.
*/
- m_getfld_state_init (&gstate);
for (compnum = 1;;) {
int bufsz = sizeof buf;
for (compnum = 1;;) {
int bufsz = sizeof buf;
- switch (state = m_getfld (gstate, name, buf, &bufsz, in)) {
+ switch (state = m_getfld (&gstate, name, buf, &bufsz, in)) {
case FLD:
case FLDPLUS:
compnum++;
case FLD:
case FLDPLUS:
compnum++;
/* if necessary, get rest of field */
while (state == FLDPLUS) {
bufsz = sizeof buf;
/* if necessary, get rest of field */
while (state == FLDPLUS) {
bufsz = sizeof buf;
- state = m_getfld (gstate, name, buf, &bufsz, in);
+ state = m_getfld (&gstate, name, buf, &bufsz, in);
vp = add (buf, vp); /* add to previous value */
}
vp = add (buf, vp); /* add to previous value */
}
int broken_pipe; /* SIGPIPE detected */
int told_to_quit; /* SIGQUIT detected */
int broken_pipe; /* SIGPIPE detected */
int told_to_quit; /* SIGQUIT detected */
-extern m_getfld_state_t gstate;
-
void padios (char *, char *, ...);
void padvise (char *, char *, ...);
void padios (char *, char *, ...);
void padvise (char *, char *, ...);
+extern m_getfld_state_t gstate;
+
- m_getfld_state_init (&gstate);
if (folder)
fsetup (folder);
else
if (folder)
fsetup (folder);
else
mp->msgattrs[0] = getcpy ("unseen");
mp->msgattrs[1] = NULL;
mp->msgattrs[0] = getcpy ("unseen");
mp->msgattrs[1] = NULL;
- m_unknown (gstate, fp); /* the MAGIC invocation */
+ m_unknown (&gstate, fp); /* the MAGIC invocation */
if (fmsh) {
free (fmsh);
fmsh = NULL;
if (fmsh) {
free (fmsh);
fmsh = NULL;
zp = msh_ready (msgnum, 0);
for (;;) {
int bufsz = sizeof buf;
zp = msh_ready (msgnum, 0);
for (;;) {
int bufsz = sizeof buf;
- switch (state = m_getfld (gstate, name, buf, &bufsz, zp)) {
+ switch (state = m_getfld (&gstate, name, buf, &bufsz, zp)) {
case FLD:
case FLDPLUS:
if (!mh_strcasecmp (name, BBoard_ID)) {
bp = getcpy (buf);
while (state == FLDPLUS) {
bufsz = sizeof buf;
case FLD:
case FLDPLUS:
if (!mh_strcasecmp (name, BBoard_ID)) {
bp = getcpy (buf);
while (state == FLDPLUS) {
bufsz = sizeof buf;
- state = m_getfld (gstate, name, buf, &bufsz, zp);
+ state = m_getfld (&gstate, name, buf, &bufsz, zp);
bp = add (buf, bp);
}
i = atoi (bp);
bp = add (buf, bp);
}
i = atoi (bp);
}
while (state == FLDPLUS)
bufsz = sizeof buf;
}
while (state == FLDPLUS)
bufsz = sizeof buf;
- state = m_getfld (gstate, name, buf, &bufsz, zp);
+ state = m_getfld (&gstate, name, buf, &bufsz, zp);
for (;;) {
int bufsz = sizeof buf;
for (;;) {
int bufsz = sizeof buf;
- switch (state = m_getfld (gstate, name, buf, &bufsz, fp)) {
+ switch (state = m_getfld (&gstate, name, buf, &bufsz, fp)) {
case FLD:
case FLDPLUS:
/*
case FLD:
case FLDPLUS:
/*
cp = add (buf, NULL);
while (state == FLDPLUS) {
bufsz = sizeof buf;
cp = add (buf, NULL);
while (state == FLDPLUS) {
bufsz = sizeof buf;
- state = m_getfld (gstate, name, buf, &bufsz, fp);
+ state = m_getfld (&gstate, name, buf, &bufsz, fp);
cp = add (buf, cp);
}
bp = cp;
cp = add (buf, cp);
}
bp = cp;
cp = add (buf, NULL);
while (state == FLDPLUS) {
bufsz = sizeof buf;
cp = add (buf, NULL);
while (state == FLDPLUS) {
bufsz = sizeof buf;
- state = m_getfld (gstate, name, buf, &bufsz, fp);
+ state = m_getfld (&gstate, name, buf, &bufsz, fp);
cp = add (buf, cp);
}
for (bp = cp; isspace (*bp); bp++)
cp = add (buf, cp);
}
for (bp = cp; isspace (*bp); bp++)
*/
while (state == FLDPLUS) {
bufsz = sizeof buf;
*/
while (state == FLDPLUS) {
bufsz = sizeof buf;
- state = m_getfld (gstate, name, buf, &bufsz, fp);
+ state = m_getfld (&gstate, name, buf, &bufsz, fp);
for (;;) {
int bufsz = sizeof buf;
for (;;) {
int bufsz = sizeof buf;
- switch (state = m_getfld (gstate, name, buf, &bufsz, zp)) {
+ switch (state = m_getfld (&gstate, name, buf, &bufsz, zp)) {
case FLD:
case FLDPLUS:
if (!mh_strcasecmp (name, datesw)) {
bp = getcpy (buf);
while (state == FLDPLUS) {
bufsz = sizeof buf;
case FLD:
case FLDPLUS:
if (!mh_strcasecmp (name, datesw)) {
bp = getcpy (buf);
while (state == FLDPLUS) {
bufsz = sizeof buf;
- state = m_getfld (gstate, name, buf, &bufsz, zp);
+ state = m_getfld (&gstate, name, buf, &bufsz, zp);
bp = add (buf, bp);
}
if ((tw = dparsetime (bp)) == NULL)
bp = add (buf, bp);
}
if ((tw = dparsetime (bp)) == NULL)
bp = getcpy (buf);
while (state == FLDPLUS) {
bufsz = sizeof buf;
bp = getcpy (buf);
while (state == FLDPLUS) {
bufsz = sizeof buf;
- state = m_getfld (gstate, name, buf, &bufsz, zp);
+ state = m_getfld (&gstate, name, buf, &bufsz, zp);
bp = add (buf, bp);
}
msgp->m_scanl = sosmash(subjsw, bp);
bp = add (buf, bp);
}
msgp->m_scanl = sosmash(subjsw, bp);
} else {
while (state == FLDPLUS) { /* flush this one */
bufsz = sizeof buf;
} else {
while (state == FLDPLUS) { /* flush this one */
bufsz = sizeof buf;
- state = m_getfld (gstate, name, buf, &bufsz, zp);
+ state = m_getfld (&gstate, name, buf, &bufsz, zp);
char name[NAMESZ], field[BUFSIZ];
char *cp;
char *msgnums = NULL, *this_msgnums, *old_msgnums;
char name[NAMESZ], field[BUFSIZ];
char *cp;
char *msgnums = NULL, *this_msgnums, *old_msgnums;
- m_getfld_state_t gstate;
+ m_getfld_state_t gstate = 0;
/* no sequences file -> no messages */
if (fp == NULL) {
/* no sequences file -> no messages */
if (fp == NULL) {
}
/* copied from seq_read.c:seq_public */
}
/* copied from seq_read.c:seq_public */
- m_getfld_state_init (&gstate);
for (;;) {
int fieldsz = sizeof field;
for (;;) {
int fieldsz = sizeof field;
- switch (state = m_getfld (gstate, name, field, &fieldsz, fp)) {
+ switch (state = m_getfld (&gstate, name, field, &fieldsz, fp)) {
case FLD:
case FLDPLUS:
if (state == FLDPLUS) {
cp = getcpy (field);
while (state == FLDPLUS) {
fieldsz = sizeof field;
case FLD:
case FLDPLUS:
if (state == FLDPLUS) {
cp = getcpy (field);
while (state == FLDPLUS) {
fieldsz = sizeof field;
- state = m_getfld (gstate, name, field, &fieldsz, fp);
+ state = m_getfld (&gstate, name, field, &fieldsz, fp);
register char *bp;
char buf[BUFSIZ], name[NAMESZ];
register struct tws *tw;
register char *bp;
char buf[BUFSIZ], name[NAMESZ];
register struct tws *tw;
- m_getfld_state_t gstate;
+ m_getfld_state_t gstate = 0;
NMH_UNUSED (stop);
fseek (fp, start, SEEK_SET);
NMH_UNUSED (stop);
fseek (fp, start, SEEK_SET);
- m_getfld_state_init (&gstate);
for (bp = NULL;;) {
int bufsz = sizeof buf;
for (bp = NULL;;) {
int bufsz = sizeof buf;
- switch (state = m_getfld (gstate, name, buf, &bufsz, fp)) {
+ switch (state = m_getfld (&gstate, name, buf, &bufsz, fp)) {
case FLD:
case FLDPLUS:
if (bp != NULL)
case FLD:
case FLDPLUS:
if (bp != NULL)
bp = add (buf, NULL);
while (state == FLDPLUS) {
bufsz = sizeof buf;
bp = add (buf, NULL);
while (state == FLDPLUS) {
bufsz = sizeof buf;
- state = m_getfld (gstate, name, buf, &bufsz, fp);
+ state = m_getfld (&gstate, name, buf, &bufsz, fp);
bp = add (buf, bp);
}
if (!mh_strcasecmp (name, n->n_datef))
bp = add (buf, bp);
}
if (!mh_strcasecmp (name, n->n_datef))
char *cp, *msg = NULL, **argp, **arguments, *envelope;
char buf[BUFSIZ], name[NAMESZ];
FILE *in, *out;
char *cp, *msg = NULL, **argp, **arguments, *envelope;
char buf[BUFSIZ], name[NAMESZ];
FILE *in, *out;
- m_getfld_state_t gstate;
+ m_getfld_state_t gstate = 0;
#ifdef LOCALE
setlocale(LC_ALL, "");
#ifdef LOCALE
setlocale(LC_ALL, "");
hdrtab = msgstate == NORMAL ? NHeaders : RHeaders;
hdrtab = msgstate == NORMAL ? NHeaders : RHeaders;
- m_getfld_state_init (&gstate);
for (compnum = 1;;) {
int bufsz = sizeof buf;
for (compnum = 1;;) {
int bufsz = sizeof buf;
- switch (state = m_getfld (gstate, name, buf, &bufsz, in)) {
+ switch (state = m_getfld (&gstate, name, buf, &bufsz, in)) {
case FLD:
case FLDPLUS:
compnum++;
cp = add (buf, NULL);
while (state == FLDPLUS) {
bufsz = sizeof buf;
case FLD:
case FLDPLUS:
compnum++;
cp = add (buf, NULL);
while (state == FLDPLUS) {
bufsz = sizeof buf;
- state = m_getfld (gstate, name, buf, &bufsz, in);
+ state = m_getfld (&gstate, name, buf, &bufsz, in);
cp = add (buf, cp);
}
putfmt (name, cp, out);
cp = add (buf, cp);
}
putfmt (name, cp, out);
fprintf (out, "\n%s", buf);
while (state == BODY) {
bufsz = sizeof buf;
fprintf (out, "\n%s", buf);
while (state == BODY) {
bufsz = sizeof buf;
- state = m_getfld (gstate, name, buf, &bufsz, in);
+ state = m_getfld (&gstate, name, buf, &bufsz, in);
fputs (buf, out);
}
break;
fputs (buf, out);
}
break;
char **arguments, **argp;
FILE *in, *out;
char *tfile = NULL;
char **arguments, **argp;
FILE *in, *out;
char *tfile = NULL;
- m_getfld_state_t gstate;
+ m_getfld_state_t gstate = 0;
#ifdef LOCALE
setlocale(LC_ALL, "");
#ifdef LOCALE
setlocale(LC_ALL, "");
/*
* Loop through the lines of the draft skeleton.
*/
/*
* Loop through the lines of the draft skeleton.
*/
- m_getfld_state_init (&gstate);
for (;;) {
int fieldsz = sizeof field;
for (;;) {
int fieldsz = sizeof field;
- switch (state = m_getfld (gstate, name, field, &fieldsz, in)) {
+ switch (state = m_getfld (&gstate, name, field, &fieldsz, in)) {
case FLD:
case FLDPLUS:
/*
case FLD:
case FLDPLUS:
/*
fprintf (out, "%s:%s", name, field);
while (state == FLDPLUS) {
fieldsz = sizeof field;
fprintf (out, "%s:%s", name, field);
while (state == FLDPLUS) {
fieldsz = sizeof field;
- state = m_getfld (gstate, name, field, &fieldsz, in);
+ state = m_getfld (&gstate, name, field, &fieldsz, in);
printf ("%s", field);
fprintf (out, "%s", field);
}
printf ("%s", field);
fprintf (out, "%s", field);
}
printf ("%s", field);
} while (state == BODY &&
(fieldsz = sizeof field,
printf ("%s", field);
} while (state == BODY &&
(fieldsz = sizeof field,
- state = m_getfld (gstate, name, field, &fieldsz, in)));
+ state = m_getfld (&gstate, name, field, &fieldsz, in)));
if (prepend || !body)
break;
else
if (prepend || !body)
break;
else
char *cp, *scanl, name[NAMESZ], tmpbuf[SBUFSIZ];
register struct comp *cptr;
FILE *out;
char *cp, *scanl, name[NAMESZ], tmpbuf[SBUFSIZ];
register struct comp *cptr;
FILE *out;
- m_getfld_state_t gstate;
+ m_getfld_state_t gstate = 0;
if (!(out = fopen (drft, "w")))
adios (drft, "unable to create");
if (!(out = fopen (drft, "w")))
adios (drft, "unable to create");
if (cptr)
cptr->c_text = addrs;
if (cptr)
cptr->c_text = addrs;
- m_getfld_state_init (&gstate);
for (;;) {
int msg_count = SBUFSIZ;
for (;;) {
int msg_count = SBUFSIZ;
- switch (state = m_getfld (gstate, name, tmpbuf, &msg_count, inb)) {
+ switch (state = m_getfld (&gstate, name, tmpbuf, &msg_count, inb)) {
case FLD:
case FLDPLUS:
i = fmt_addcomptext(name, tmpbuf);
case FLD:
case FLDPLUS:
i = fmt_addcomptext(name, tmpbuf);
char_read += msg_count;
while (state == FLDPLUS) {
msg_count = SBUFSIZ;
char_read += msg_count;
while (state == FLDPLUS) {
msg_count = SBUFSIZ;
- state = m_getfld (gstate, name, tmpbuf, &msg_count, inb);
+ state = m_getfld (&gstate, name, tmpbuf, &msg_count, inb);
fmt_appendcomp(i, name, tmpbuf);
char_read += msg_count;
}
fmt_appendcomp(i, name, tmpbuf);
char_read += msg_count;
}
while (state == FLDPLUS) {
msg_count = SBUFSIZ;
while (state == FLDPLUS) {
msg_count = SBUFSIZ;
- state = m_getfld (gstate, name, tmpbuf, &msg_count, inb);
+ state = m_getfld (&gstate, name, tmpbuf, &msg_count, inb);
%<(mymbox{from})%<{to}To:%14(friendly{to})%>%>%<(zero)%17(friendly{from})%> \
%{subject}%<{body}<<%{body}>>%>"
%<(mymbox{from})%<{to}To:%14(friendly{to})%>%>%<(zero)%17(friendly{from})%> \
%{subject}%<{body}<<%{body}>>%>"
-extern m_getfld_state_t gstate;
-
static struct swit switches[] = {
#define BIFFSW 0
{ "biff", 0 },
static struct swit switches[] = {
#define BIFFSW 0
{ "biff", 0 },
*/
char *getusername(void);
*/
char *getusername(void);
+extern m_getfld_state_t gstate;
+
/*
* static prototypes
*/
/*
* static prototypes
*/
/* get new format string */
nfs = new_fs (form, format, SCANFMT);
/* get new format string */
nfs = new_fs (form, format, SCANFMT);
- m_getfld_state_init (&gstate);
scan (stdin, 0, 0, nfs, width, 0, 0, NULL, 0L, 0);
m_getfld_state_destroy (&gstate);
if (newline)
scan (stdin, 0, 0, nfs, width, 0, 0, NULL, 0L, 0);
m_getfld_state_destroy (&gstate);
if (newline)
char name[NAMESZ], *scanl;
unsigned char *cp;
static int dat[5]; /* aux. data for format routine */
char name[NAMESZ], *scanl;
unsigned char *cp;
static int dat[5]; /* aux. data for format routine */
- m_getfld_state_t gstate;
+ m_getfld_state_t gstate = 0;
FILE *out;
NMH_UNUSED (msg);
FILE *out;
NMH_UNUSED (msg);
/*
* pick any interesting stuff out of msg "inb"
*/
/*
* pick any interesting stuff out of msg "inb"
*/
- m_getfld_state_init (&gstate);
for (;;) {
int msg_count = sizeof tmpbuf;
for (;;) {
int msg_count = sizeof tmpbuf;
- state = m_getfld (gstate, name, tmpbuf, &msg_count, inb);
+ state = m_getfld (&gstate, name, tmpbuf, &msg_count, inb);
switch (state) {
case FLD:
case FLDPLUS:
switch (state) {
case FLD:
case FLDPLUS:
char_read += msg_count;
while (state == FLDPLUS) {
msg_count= sizeof tmpbuf;
char_read += msg_count;
while (state == FLDPLUS) {
msg_count= sizeof tmpbuf;
- state = m_getfld (gstate, name, tmpbuf, &msg_count, inb);
+ state = m_getfld (&gstate, name, tmpbuf, &msg_count, inb);
fmt_appendcomp(i, name, tmpbuf);
char_read += msg_count;
}
fmt_appendcomp(i, name, tmpbuf);
char_read += msg_count;
}
while (state == FLDPLUS) {
msg_count= sizeof tmpbuf;
while (state == FLDPLUS) {
msg_count= sizeof tmpbuf;
- state = m_getfld (gstate, name, tmpbuf, &msg_count, inb);
+ state = m_getfld (&gstate, name, tmpbuf, &msg_count, inb);
extern struct msgs *fmt_current_folder;
#endif
extern struct msgs *fmt_current_folder;
#endif
-extern m_getfld_state_t gstate;
-
/*
* prototypes
*/
void clear_screen(void); /* from termsbr.c */
/*
* prototypes
*/
void clear_screen(void); /* from termsbr.c */
+extern m_getfld_state_t gstate;
+
int
main (int argc, char **argv)
int
main (int argc, char **argv)
printf ("FOLDER %s\t%s\n", file, dtimenow (1));
}
printf ("FOLDER %s\t%s\n", file, dtimenow (1));
}
- m_getfld_state_init (&gstate);
- m_unknown (gstate, in);
+ m_unknown (&gstate, in);
for (msgnum = 1; ; ++msgnum) {
state = scan (in, msgnum, -1, nfs, width, 0, 0,
hdrflag ? file : NULL, 0L, 1);
for (msgnum = 1; ; ++msgnum) {
state = scan (in, msgnum, -1, nfs, width, 0, 0,
hdrflag ? file : NULL, 0L, 1);
- m_getfld_state_init (&gstate);
switch (state = scan (in, msgnum, 0, nfs, width,
msgnum == mp->curmsg, unseen,
folder, 0L, 1)) {
switch (state = scan (in, msgnum, 0, nfs, width,
msgnum == mp->curmsg, unseen,
folder, 0L, 1)) {
*/
bufsz = rlwidth;
m_getfld_state_reset (&gstate);
*/
bufsz = rlwidth;
m_getfld_state_reset (&gstate);
- if ((state = m_getfld (gstate, name, tmpbuf, &bufsz, inb)) == FILEEOF) {
+ if ((state = m_getfld (&gstate, name, tmpbuf, &bufsz, inb)) == FILEEOF) {
if (ferror(inb)) {
advise("read", "unable to"); /* "read error" */
return SCNFAT;
if (ferror(inb)) {
advise("read", "unable to"); /* "read error" */
return SCNFAT;
/* scan - main loop */
for (compnum = 1; ;
/* scan - main loop */
for (compnum = 1; ;
- bufsz = rlwidth, state = m_getfld (gstate, name, tmpbuf, &bufsz, inb)) {
+ bufsz = rlwidth, state = m_getfld (&gstate, name, tmpbuf, &bufsz, inb)) {
switch (state) {
case FLD:
case FLDPLUS:
switch (state) {
case FLD:
case FLDPLUS:
while (state == FLDPLUS) {
bufsz = rlwidth;
while (state == FLDPLUS) {
bufsz = rlwidth;
- state = m_getfld (gstate, name, tmpbuf, &bufsz, inb);
+ state = m_getfld (&gstate, name, tmpbuf, &bufsz, inb);
if (outnum)
FPUTS (tmpbuf);
}
if (outnum)
FPUTS (tmpbuf);
}
if ((i = strlen(tmpbuf)) < rlwidth) {
bufsz = rlwidth - i;
if ((i = strlen(tmpbuf)) < rlwidth) {
bufsz = rlwidth - i;
- state = m_getfld (gstate, name, tmpbuf + i, &bufsz, inb);
+ state = m_getfld (&gstate, name, tmpbuf + i, &bufsz, inb);
while (state == BODY) {
bufsz = rlwidth;
while (state == BODY) {
bufsz = rlwidth;
- state = m_getfld (gstate, name, tmpbuf, &bufsz, inb);
+ state = m_getfld (&gstate, name, tmpbuf, &bufsz, inb);
FPUTS(tmpbuf);
}
goto finished;
FPUTS(tmpbuf);
}
goto finished;
char subject[BUFSIZ];
char name[NAMESZ], partnum[BUFSIZ];
FILE *in;
char subject[BUFSIZ];
char name[NAMESZ], partnum[BUFSIZ];
FILE *in;
- m_getfld_state_t gstate;
+ m_getfld_state_t gstate = 0;
if ((in = fopen (drft, "r")) == NULL)
adios (drft, "unable to open for reading");
if ((in = fopen (drft, "r")) == NULL)
adios (drft, "unable to open for reading");
* Scan through the message and examine the various header fields,
* as well as locate the beginning of the message body.
*/
* Scan through the message and examine the various header fields,
* as well as locate the beginning of the message body.
*/
- m_getfld_state_init (&gstate);
for (compnum = 1;;) {
int bufsz = sizeof buffer;
for (compnum = 1;;) {
int bufsz = sizeof buffer;
- switch (state = m_getfld (gstate, name, buffer, &bufsz, in)) {
+ switch (state = m_getfld (&gstate, name, buffer, &bufsz, in)) {
case FLD:
case FLDPLUS:
compnum++;
case FLD:
case FLDPLUS:
compnum++;
if (!mh_strcasecmp (name, "Message-ID")) {
while (state == FLDPLUS) {
bufsz = sizeof buffer;
if (!mh_strcasecmp (name, "Message-ID")) {
while (state == FLDPLUS) {
bufsz = sizeof buffer;
- state = m_getfld (gstate, name, buffer, &bufsz, in);
+ state = m_getfld (&gstate, name, buffer, &bufsz, in);
}
} else if (uprf (name, XXX_FIELD_PRF)
|| !mh_strcasecmp (name, VRSN_FIELD)
}
} else if (uprf (name, XXX_FIELD_PRF)
|| !mh_strcasecmp (name, VRSN_FIELD)
dp = add (concat (name, ":", buffer, NULL), dp);
while (state == FLDPLUS) {
bufsz = sizeof buffer;
dp = add (concat (name, ":", buffer, NULL), dp);
while (state == FLDPLUS) {
bufsz = sizeof buffer;
- state = m_getfld (gstate, name, buffer, &bufsz, in);
+ state = m_getfld (&gstate, name, buffer, &bufsz, in);
dp = add (buffer, dp);
}
} else {
dp = add (buffer, dp);
}
} else {
cp = add (concat (name, ":", buffer, NULL), cp);
while (state == FLDPLUS) {
bufsz = sizeof buffer;
cp = add (concat (name, ":", buffer, NULL), cp);
while (state == FLDPLUS) {
bufsz = sizeof buffer;
- state = m_getfld (gstate, name, buffer, &bufsz, in);
+ state = m_getfld (&gstate, name, buffer, &bufsz, in);
cp = add (buffer, cp);
}
}
cp = add (buffer, cp);
}
}
char *cp;
char buf[BUFSIZ], name[NAMESZ];
FILE *fp;
char *cp;
char buf[BUFSIZ], name[NAMESZ];
FILE *fp;
- m_getfld_state_t gstate;
+ m_getfld_state_t gstate = 0;
if ((fp = fopen (msgnam, "r")) == NULL)
return 0;
if ((fp = fopen (msgnam, "r")) == NULL)
return 0;
- m_getfld_state_init (&gstate);
for (;;) {
int bufsz = sizeof buf;
for (;;) {
int bufsz = sizeof buf;
- switch (state = m_getfld (gstate, name, buf, &bufsz, fp)) {
+ switch (state = m_getfld (&gstate, name, buf, &bufsz, fp)) {
case FLD:
case FLDPLUS:
/*
case FLD:
case FLDPLUS:
/*
cp = add (buf, NULL);
while (state == FLDPLUS) {
bufsz = sizeof buf;
cp = add (buf, NULL);
while (state == FLDPLUS) {
bufsz = sizeof buf;
- state = m_getfld (gstate, name, buf, &bufsz, fp);
+ state = m_getfld (&gstate, name, buf, &bufsz, fp);
cp = add (buf, cp);
}
bp = cp;
cp = add (buf, cp);
}
bp = cp;
cp = add (buf, NULL);
while (state == FLDPLUS) {
bufsz = sizeof buf;
cp = add (buf, NULL);
while (state == FLDPLUS) {
bufsz = sizeof buf;
- state = m_getfld (gstate, name, buf, &bufsz, fp);
+ state = m_getfld (&gstate, name, buf, &bufsz, fp);
cp = add (buf, cp);
}
for (bp = cp; isspace (*bp); bp++)
cp = add (buf, cp);
}
for (bp = cp; isspace (*bp); bp++)
*/
while (state == FLDPLUS) {
bufsz = sizeof buf;
*/
while (state == FLDPLUS) {
bufsz = sizeof buf;
- state = m_getfld (gstate, name, buf, &bufsz, fp);
+ state = m_getfld (&gstate, name, buf, &bufsz, fp);
char name[NAMESZ], field[BUFSIZ];
struct pair *p, *q;
FILE *in;
char name[NAMESZ], field[BUFSIZ];
struct pair *p, *q;
FILE *in;
- m_getfld_state_t gstate;
+ m_getfld_state_t gstate = 0;
* Scan the headers of the message and build
* a lookup table.
*/
* Scan the headers of the message and build
* a lookup table.
*/
- m_getfld_state_init (&gstate);
for (i = 0;;) {
int fieldsz = sizeof field;
for (i = 0;;) {
int fieldsz = sizeof field;
- switch (state = m_getfld (gstate, name, field, &fieldsz, in)) {
+ switch (state = m_getfld (&gstate, name, field, &fieldsz, in)) {
case FLD:
case FLDPLUS:
lp = add (field, NULL);
while (state == FLDPLUS) {
fieldsz = sizeof field;
case FLD:
case FLDPLUS:
lp = add (field, NULL);
while (state == FLDPLUS) {
fieldsz = sizeof field;
- state = m_getfld (gstate, name, field, &fieldsz, in);
+ state = m_getfld (&gstate, name, field, &fieldsz, in);
lp = add (field, lp);
}
for (p = hdrs; p->p_name; p++) {
lp = add (field, lp);
}
for (p = hdrs; p->p_name; p++) {
datum key, value;
DBM *db;
FILE *in;
datum key, value;
DBM *db;
FILE *in;
- m_getfld_state_t gstate;
+ m_getfld_state_t gstate = 0;
if ((fd1 = dup (fd)) == -1)
return -1;
if ((fd1 = dup (fd)) == -1)
return -1;
- m_getfld_state_init (&gstate);
for (;;) {
int bufsz = sizeof buf;
for (;;) {
int bufsz = sizeof buf;
- state = m_getfld (gstate, name, buf, &bufsz, in);
+ state = m_getfld (&gstate, name, buf, &bufsz, in);
switch (state) {
case FLD:
case FLDPLUS:
switch (state) {
case FLD:
case FLDPLUS:
if (mh_strcasecmp (name, "Message-ID")) {
while (state == FLDPLUS) {
bufsz = sizeof buf;
if (mh_strcasecmp (name, "Message-ID")) {
while (state == FLDPLUS) {
bufsz = sizeof buf;
- state = m_getfld (gstate, name, buf, &bufsz, in);
+ state = m_getfld (&gstate, name, buf, &bufsz, in);
cp = add (buf, NULL);
while (state == FLDPLUS) {
bufsz = sizeof buf;
cp = add (buf, NULL);
while (state == FLDPLUS) {
bufsz = sizeof buf;
- state = m_getfld (gstate, name, buf, &bufsz, in);
+ state = m_getfld (&gstate, name, buf, &bufsz, in);
cp = add (buf, cp);
}
key.dptr = trimcpy (cp);
cp = add (buf, cp);
}
key.dptr = trimcpy (cp);
register struct tws *tw;
register char *datecomp = NULL, *subjcomp = NULL;
register FILE *in;
register struct tws *tw;
register char *datecomp = NULL, *subjcomp = NULL;
register FILE *in;
- m_getfld_state_t gstate;
+ m_getfld_state_t gstate = 0;
if ((in = fopen (msgnam = m_name (msg), "r")) == NULL) {
admonish (msgnam, "unable to read message");
return (0);
}
if ((in = fopen (msgnam = m_name (msg), "r")) == NULL) {
admonish (msgnam, "unable to read message");
return (0);
}
- m_getfld_state_init (&gstate);
for (compnum = 1;;) {
int bufsz = sizeof buf;
for (compnum = 1;;) {
int bufsz = sizeof buf;
- switch (state = m_getfld (gstate, nam, buf, &bufsz, in)) {
+ switch (state = m_getfld (&gstate, nam, buf, &bufsz, in)) {
case FLD:
case FLDPLUS:
compnum++;
case FLD:
case FLDPLUS:
compnum++;
datecomp = add (buf, datecomp);
while (state == FLDPLUS) {
bufsz = sizeof buf;
datecomp = add (buf, datecomp);
while (state == FLDPLUS) {
bufsz = sizeof buf;
- state = m_getfld (gstate, nam, buf, &bufsz, in);
+ state = m_getfld (&gstate, nam, buf, &bufsz, in);
datecomp = add (buf, datecomp);
}
if (!subjsort || subjcomp)
datecomp = add (buf, datecomp);
}
if (!subjsort || subjcomp)
subjcomp = add (buf, subjcomp);
while (state == FLDPLUS) {
bufsz = sizeof buf;
subjcomp = add (buf, subjcomp);
while (state == FLDPLUS) {
bufsz = sizeof buf;
- state = m_getfld (gstate, nam, buf, &bufsz, in);
+ state = m_getfld (&gstate, nam, buf, &bufsz, in);
subjcomp = add (buf, subjcomp);
}
if (datecomp)
subjcomp = add (buf, subjcomp);
}
if (datecomp)
/* just flush this guy */
while (state == FLDPLUS) {
bufsz = sizeof buf;
/* just flush this guy */
while (state == FLDPLUS) {
bufsz = sizeof buf;
- state = m_getfld (gstate, nam, buf, &bufsz, in);
+ state = m_getfld (&gstate, nam, buf, &bufsz, in);
int state;
char buf[BUFSIZ], name[NAMESZ];
FILE *fp;
int state;
char buf[BUFSIZ], name[NAMESZ];
FILE *fp;
- m_getfld_state_t gstate;
+ m_getfld_state_t gstate = 0;
if ((fp = fopen (msgnam, "r")) == NULL)
return 0;
if ((fp = fopen (msgnam, "r")) == NULL)
return 0;
- m_getfld_state_init (&gstate);
for (;;) {
int bufsz = sizeof buf;
for (;;) {
int bufsz = sizeof buf;
- switch (state = m_getfld (gstate, name, buf, &bufsz, fp)) {
+ switch (state = m_getfld (&gstate, name, buf, &bufsz, fp)) {
case FLD:
case FLDPLUS:
/*
case FLD:
case FLDPLUS:
/*
}
while (state == FLDPLUS) {
bufsz = sizeof buf;
}
while (state == FLDPLUS) {
bufsz = sizeof buf;
- state = m_getfld (gstate, name, buf, &bufsz, fp);
+ state = m_getfld (&gstate, name, buf, &bufsz, fp);
- state = m_getfld (gstate, name, buf, &bufsz, fp);
+ state = m_getfld (&gstate, name, buf, &bufsz, fp);
} while (state == BODY);
/* and fall... */
} while (state == BODY);
/* and fall... */