- for (state = FLD;;) {
- state = m_getfld(state, name, rbuf, sizeof(rbuf), in);
- switch (state) {
- case FLD:
- case FLDPLUS:
- i = fmt_addcomptext(name, rbuf);
- if (i != -1) {
- while (state == FLDPLUS) {
- state = m_getfld(state, name, rbuf,
- sizeof(rbuf), in);
- fmt_appendcomp(i, name, rbuf);
- }
- }
-
- while (state == FLDPLUS)
- state = m_getfld(state, name, rbuf,
- sizeof(rbuf), in);
- break;
+ process_single_file(in, comps, dat, msgsize, fmt, buffer,
+ bufsize, outwidth, cb);
+ }
+ }
+
+ ivector_free (seqnum);
+ folder_free(mp);
+ return;
+}
+
+/*
+ * Process a single file in message mode
+ */
+
+static void
+process_single_file(FILE *in, struct msgs_array *comps, int *dat, int msgsize,
+ struct format *fmt, char *buffer, int bufsize,
+ int outwidth, struct fmt_callbacks *cb)
+{
+ int i, state;
+ char name[NAMESZ], rbuf[BUFSIZ];
+ m_getfld_state_t gstate = 0;
+ struct comp *c;
+ int bufsz;