#define FMTERR (-3) /* Message Format error */
#define FLD 0 /* Field returned */
#define FLDPLUS 1 /* Field returned with more to come */
-#define FLDEOF 2 /* Field returned ending at eom */
#define BODY 3 /* Body returned with more to come */
-#define BODYEOF 4 /* Body returned ending at eom */
#define FILEEOF 5 /* Reached end of input file */
/*
}
switch (state) {
- case FLDEOF:
- case BODYEOF:
case FLD:
if (c == '\n' || c == '-') {
/* we hit the header/body separator */
switch (state = m_getfld (state, name, field, &fieldsz, ib)) {
case FLD:
case FLDPLUS:
- case FLDEOF:
np = (struct node *) mh_xmalloc (sizeof(*np));
*npp = np;
*(npp = &np->n_next) = NULL;
*ps->procnaddr = np->n_field;
break;
}
- if (state == FLDEOF)
- break;
continue;
case BODY:
- case BODYEOF:
adios (NULL, "no blank lines are permitted in %s", file);
case FILEEOF:
switch (state = m_getfld (state, name, field, &fieldsz, fp)) {
case FLD:
case FLDPLUS:
- case FLDEOF:
if (state == FLDPLUS) {
cp = getcpy (field);
while (state == FLDPLUS) {
} else {
seq_init (mp, getcpy (name), trimcpy (field));
}
- if (state == FLDEOF)
- break;
continue;
case BODY:
- case BODYEOF:
adios (NULL, "no blank lines are permitted in %s", seqfile);
/* fall */
switch (state = m_getfld (state, name, buffer, &buffersz, ifp)) {
case FLD:
case FLDPLUS:
- case FLDEOF:
if (uprf (name, "distribute-"))
snprintf (name, sizeof(name), "%s%s", "Resent", &name[10]);
if (uprf (name, "distribution-"))
resent = add (buffer, resent);
fputs (buffer, ofp);
}
- if (state == FLDEOF)
- goto process;
break;
case BODY:
- case BODYEOF:
for (dp = buffer; *dp; dp++)
if (!isspace (*dp)) {
advise (NULL, BADTXT, "draft");
switch (state = m_getfld (state, name, buffer, &buffersz, ifp)) {
case FLD:
case FLDPLUS:
- case FLDEOF:
if (uprf (name, "resent"))
fprintf (ofp, "Prev-");
fprintf (ofp, "%s: %s", name, buffer);
state = m_getfld (state, name, buffer, &buffersz, ifp);
fputs (buffer, ofp);
}
- if (state == FLDEOF)
- goto process;
break;
case BODY:
- case BODYEOF:
fclose (ofp);
cp = m_mktemp2(NULL, "dist", &txtfd, NULL);
switch (state = m_getfld (state, name, buf, &bufsz, in)) {
case FLD:
case FLDPLUS:
- case FLDEOF:
compnum++;
/* abort if draft has Mime-Version header field */
finish_field:
/* if this wasn't the last header field, then continue */
- if (state != FLDEOF)
- continue;
- /* else fall... */
+ continue;
case FILEEOF:
adios (NULL, "draft has empty body -- no directives!");
/* NOTREACHED */
case BODY:
- case BODYEOF:
fseek (in, (long) (-strlen (buf)), SEEK_CUR);
break;
switch (state = m_getfld (state, name, buf, &bufsz, fp)) {
case FLD:
case FLDPLUS:
- case FLDEOF:
strncpy (mapname, name, namelen);
if (state != FLDPLUS)
cp = buf;
lkfclose (fp, mapfile);
return OK;
}
- if (state != FLDEOF)
- continue;
- /* else fall... */
+ continue;
case BODY:
- case BODYEOF:
case FILEEOF:
default:
break;
switch (state = m_getfld (state, name, buf, &bufsz, in)) {
case FLD:
case FLDPLUS:
- case FLDEOF:
compnum++;
/* get copies of the buffers */
/* Now add the header data to the list */
add_header (ct, np, vp);
- /* continue, if this isn't the last header field */
- if (state != FLDEOF) {
- ct->c_begin = ftell (in) + 1;
- continue;
- }
- /* else fall... */
+ /* continue, to see if this isn't the last header field */
+ ct->c_begin = ftell (in) + 1;
+ continue;
case BODY:
- case BODYEOF:
ct->c_begin = ftell (in) - strlen (buf);
break;
int bufsz = sizeof buf;
switch (state = m_getfld (state, name, buf, &bufsz, zp)) {
case FLD:
- case FLDEOF:
case FLDPLUS:
if (!mh_strcasecmp (name, BBoard_ID)) {
bp = getcpy (buf);
while (state == FLDPLUS)
bufsz = sizeof buf;
state = m_getfld (state, name, buf, &bufsz, zp);
- if (state != FLDEOF)
- continue;
+ continue;
default:
return 0;
switch (state = m_getfld (state, name, buf, &bufsz, fp)) {
case FLD:
case FLDPLUS:
- case FLDEOF:
/*
* Check Content-Type field
*/
int bufsz = sizeof buf;
switch (state = m_getfld (state, name, buf, &bufsz, zp)) {
case FLD:
- case FLDEOF:
case FLDPLUS:
if (!mh_strcasecmp (name, datesw)) {
bp = getcpy (buf);
continue;
case BODY:
- case BODYEOF:
case FILEEOF:
break;
switch (state = m_getfld (state, name, field, &fieldsz, fp)) {
case FLD:
case FLDPLUS:
- case FLDEOF:
if (state == FLDPLUS) {
cp = getcpy (field);
while (state == FLDPLUS) {
}
}
- if (state == FLDEOF)
- break;
continue;
case BODY:
- case BODYEOF:
adios (NULL, "no blank lines are permitted in %s", seqfile);
/* fall */
int bufsz = sizeof buf;
switch (state = m_getfld (state, name, buf, &bufsz, fp)) {
case FLD:
- case FLDEOF:
case FLDPLUS:
if (bp != NULL)
free (bp), bp = NULL;
}
if (!mh_strcasecmp (name, n->n_datef))
break;
- if (state != FLDEOF)
- continue;
+ continue;
case BODY:
- case BODYEOF:
case FILEEOF:
case LENERR:
case FMTERR:
int bufsz = sizeof buf;
switch (state = m_getfld (state, name, buf, &bufsz, in)) {
case FLD:
- case FLDEOF:
case FLDPLUS:
compnum++;
cp = add (buf, NULL);
}
putfmt (name, cp, out);
free (cp);
- if (state != FLDEOF)
- continue;
- finish_headers (out);
- break;
+ continue;
case BODY:
- case BODYEOF:
finish_headers (out);
if (whomsw)
break;
int fieldsz = sizeof field;
switch (state = m_getfld (state, name, field, &fieldsz, in)) {
case FLD:
- case FLDEOF:
case FLDPLUS:
/*
* Check if the value of field contains anything
}
}
- if (state == FLDEOF) { /* moby hack */
- fprintf (out, "--------\n");
- printf ("--------\n");
- if (!body)
- break;
- goto no_body;
- }
continue;
case BODY:
- case BODYEOF:
case FILEEOF:
if (!body)
break;
else
printf ("\n--------Enter additional text\n\n");
}
-no_body:
+
fflush (stdout);
for (;;) {
getln (field, sizeof(field));
switch (state = m_getfld (state, name, buffer, &bufsz, in)) {
case FLD:
case FLDPLUS:
- case FLDEOF:
compnum++;
/*
}
}
- if (state != FLDEOF) {
- start = ftell (in) + 1;
- continue;
- }
- /* else fall... */
+ start = ftell (in) + 1;
+ continue;
case BODY:
- case BODYEOF:
case FILEEOF:
break;
switch (state = m_getfld (state, name, buf, &bufsz, fp)) {
case FLD:
case FLDPLUS:
- case FLDEOF:
/*
* Check Content-Type field
*/
int fieldsz = sizeof field;
switch (state = m_getfld (state, name, field, &fieldsz, in)) {
case FLD:
- case FLDEOF:
case FLDPLUS:
lp = add (field, NULL);
while (state == FLDPLUS) {
p++, i++;
p->p_name = NULL;
}
- if (state != FLDEOF)
- continue;
- break;
+ continue;
case BODY:
- case BODYEOF:
case FILEEOF:
break;
switch (state) {
case FLD:
case FLDPLUS:
- case FLDEOF:
/* Search for the message ID */
if (mh_strcasecmp (name, "Message-ID")) {
while (state == FLDPLUS) {
break;
case BODY:
- case BODYEOF:
case FILEEOF:
break;
int bufsz = sizeof buf;
switch (state = m_getfld (state, nam, buf, &bufsz, in)) {
case FLD:
- case FLDEOF:
case FLDPLUS:
compnum++;
if (!mh_strcasecmp (nam, datesw)) {
continue;
case BODY:
- case BODYEOF:
case FILEEOF:
break;
switch (state = m_getfld (state, name, buf, &bufsz, fp)) {
case FLD:
case FLDPLUS:
- case FLDEOF:
/*
* If draft already contains any of the
* Content-XXX fields, then assume it already