#include <h/mh.h>
#include <h/crawl_folders.h>
#include <h/utils.h>
+#include "../sbr/lock_file.h"
+#include "../sbr/m_maildir.h"
#define NEW_SWITCHES \
X("mode", 1, MODESW) \
char *seqfile = NULL;
FILE *fp;
int state;
- char name[NAMESZ], field[BUFSIZ];
+ char name[NAMESZ], field[NMH_BUFSIZ];
char *cp;
char *msgnums = NULL, *this_msgnums, *old_msgnums;
int failed_to_lock = 0;
- m_getfld_state_t gstate = 0;
+ m_getfld_state_t gstate;
/* copied from seq_read.c:seq_public */
/*
return NULL;
if ((fp = lkfopendata (seqfile, "r", & failed_to_lock)) == NULL) {
-
- if (failed_to_lock) {
+ if (failed_to_lock)
adios (seqfile, "failed to lock");
- } else {
- free(seqfile);
- return NULL;
- }
+ free(seqfile);
+ return NULL;
}
- /* Use m_getfld to scan sequence file */
+ /* Use m_getfld2 to scan sequence file */
+ gstate = m_getfld_state_init(fp);
for (;;) {
int fieldsz = sizeof field;
- switch (state = m_getfld (&gstate, name, field, &fieldsz, fp)) {
+ switch (state = m_getfld2(&gstate, name, field, &fieldsz)) {
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_getfld2(&gstate, name, field, &fieldsz);
cp = add (field, cp);
}
case BODY:
adios (NULL, "no blank lines are permitted in %s", seqfile);
- /* FALLTHRU */
+ break;
case FILEEOF:
break;